From 09eb1e3e458a5060fe28958867375abc292577fa Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 3 May 2010 17:17:43 +0200 Subject: [PATCH] idl: removed the generated gen_ndr/ files from pidl Samba3 will add these to the release tarball instead. See the mail on samba-technical --- librpc/gen_ndr/cli_dfs.c | 3457 --- librpc/gen_ndr/cli_dfs.h | 341 - librpc/gen_ndr/cli_drsuapi.c | 3802 --- librpc/gen_ndr/cli_drsuapi.h | 383 - librpc/gen_ndr/cli_dssetup.c | 1512 -- librpc/gen_ndr/cli_dssetup.h | 107 - librpc/gen_ndr/cli_echo.c | 1373 -- librpc/gen_ndr/cli_echo.h | 115 - librpc/gen_ndr/cli_epmapper.c | 1175 - librpc/gen_ndr/cli_epmapper.h | 116 - librpc/gen_ndr/cli_eventlog.c | 3644 --- librpc/gen_ndr/cli_eventlog.h | 342 - librpc/gen_ndr/cli_initshutdown.c | 461 - librpc/gen_ndr/cli_initshutdown.h | 55 - librpc/gen_ndr/cli_lsa.c | 11999 ---------- librpc/gen_ndr/cli_lsa.h | 1122 - librpc/gen_ndr/cli_netlogon.c | 7620 ------ librpc/gen_ndr/cli_netlogon.h | 906 - librpc/gen_ndr/cli_ntsvcs.c | 8973 ------- librpc/gen_ndr/cli_ntsvcs.h | 649 - librpc/gen_ndr/cli_samr.c | 10206 -------- librpc/gen_ndr/cli_samr.h | 1046 - librpc/gen_ndr/cli_spoolss.c | 16446 ------------- librpc/gen_ndr/cli_spoolss.h | 1610 -- librpc/gen_ndr/cli_srvsvc.c | 8319 ------- librpc/gen_ndr/cli_srvsvc.h | 846 - librpc/gen_ndr/cli_svcctl.c | 7054 ------ librpc/gen_ndr/cli_svcctl.h | 800 - librpc/gen_ndr/cli_winreg.c | 5684 ----- librpc/gen_ndr/cli_winreg.h | 608 - librpc/gen_ndr/cli_wkssvc.c | 4889 ---- librpc/gen_ndr/cli_wkssvc.h | 549 - librpc/gen_ndr/dcerpc.h | 445 - librpc/gen_ndr/dfs.h | 584 - librpc/gen_ndr/drsblobs.h | 642 - librpc/gen_ndr/drsuapi.h | 2023 -- librpc/gen_ndr/dssetup.h | 213 - librpc/gen_ndr/echo.h | 215 - librpc/gen_ndr/epmapper.h | 359 - librpc/gen_ndr/eventlog.h | 471 - librpc/gen_ndr/initshutdown.h | 148 - librpc/gen_ndr/krb5pac.h | 152 - librpc/gen_ndr/lsa.h | 1913 -- librpc/gen_ndr/misc.h | 94 - librpc/gen_ndr/named_pipe_auth.h | 76 - librpc/gen_ndr/nbt.h | 698 - librpc/gen_ndr/ndr_dcerpc.c | 1943 -- librpc/gen_ndr/ndr_dcerpc.h | 66 - librpc/gen_ndr/ndr_dfs.c | 5859 ----- librpc/gen_ndr/ndr_dfs.h | 132 - librpc/gen_ndr/ndr_drsblobs.c | 5384 ----- librpc/gen_ndr/ndr_drsblobs.h | 192 - librpc/gen_ndr/ndr_drsuapi.c | 16337 ------------- librpc/gen_ndr/ndr_drsuapi.h | 313 - librpc/gen_ndr/ndr_dssetup.c | 1090 - librpc/gen_ndr/ndr_dssetup.h | 58 - librpc/gen_ndr/ndr_echo.c | 1535 -- librpc/gen_ndr/ndr_echo.h | 60 - librpc/gen_ndr/ndr_epmapper.c | 2760 --- librpc/gen_ndr/ndr_epmapper.h | 76 - librpc/gen_ndr/ndr_eventlog.c | 3176 --- librpc/gen_ndr/ndr_eventlog.h | 115 - librpc/gen_ndr/ndr_initshutdown.c | 330 - librpc/gen_ndr/ndr_initshutdown.h | 24 - librpc/gen_ndr/ndr_krb5pac.c | 1010 - librpc/gen_ndr/ndr_krb5pac.h | 61 - librpc/gen_ndr/ndr_lsa.c | 14082 ----------- librpc/gen_ndr/ndr_lsa.h | 423 - librpc/gen_ndr/ndr_misc.c | 470 - librpc/gen_ndr/ndr_misc.h | 32 - librpc/gen_ndr/ndr_named_pipe_auth.c | 943 - librpc/gen_ndr/ndr_named_pipe_auth.h | 24 - librpc/gen_ndr/ndr_nbt.c | 3445 --- librpc/gen_ndr/ndr_nbt.h | 104 - librpc/gen_ndr/ndr_netlogon.c | 17227 -------------- librpc/gen_ndr/ndr_netlogon.h | 291 - librpc/gen_ndr/ndr_ntlmssp.c | 2386 -- librpc/gen_ndr/ndr_ntlmssp.h | 77 - librpc/gen_ndr/ndr_ntsvcs.c | 3923 --- librpc/gen_ndr/ndr_ntsvcs.h | 212 - librpc/gen_ndr/ndr_rap.c | 4448 ---- librpc/gen_ndr/ndr_rap.h | 117 - librpc/gen_ndr/ndr_samr.c | 13118 ---------- librpc/gen_ndr/ndr_samr.h | 351 - librpc/gen_ndr/ndr_schannel.c | 642 - librpc/gen_ndr/ndr_schannel.h | 33 - librpc/gen_ndr/ndr_security.c | 1091 - librpc/gen_ndr/ndr_security.h | 61 - librpc/gen_ndr/ndr_spoolss.c | 31763 ------------------------- librpc/gen_ndr/ndr_spoolss.h | 768 - librpc/gen_ndr/ndr_srvsvc.c | 19959 ---------------- librpc/gen_ndr/ndr_srvsvc.h | 322 - librpc/gen_ndr/ndr_svcctl.c | 7256 ------ librpc/gen_ndr/ndr_svcctl.h | 189 - librpc/gen_ndr/ndr_winreg.c | 5035 ---- librpc/gen_ndr/ndr_winreg.h | 166 - librpc/gen_ndr/ndr_wkssvc.c | 10804 --------- librpc/gen_ndr/ndr_wkssvc.h | 175 - librpc/gen_ndr/ndr_xattr.c | 1125 - librpc/gen_ndr/ndr_xattr.h | 54 - librpc/gen_ndr/netlogon.h | 1889 -- librpc/gen_ndr/ntlmssp.h | 317 - librpc/gen_ndr/ntsvcs.h | 606 - librpc/gen_ndr/rap.h | 866 - librpc/gen_ndr/samr.h | 1930 -- librpc/gen_ndr/schannel.h | 113 - librpc/gen_ndr/security.h | 403 - librpc/gen_ndr/spoolss.h | 4204 ---- librpc/gen_ndr/srv_dfs.c | 1931 -- librpc/gen_ndr/srv_dfs.h | 53 - librpc/gen_ndr/srv_dssetup.c | 930 - librpc/gen_ndr/srv_dssetup.h | 29 - librpc/gen_ndr/srv_echo.c | 914 - librpc/gen_ndr/srv_echo.h | 27 - librpc/gen_ndr/srv_epmapper.c | 733 - librpc/gen_ndr/srv_epmapper.h | 23 - librpc/gen_ndr/srv_eventlog.c | 2181 -- librpc/gen_ndr/srv_eventlog.h | 57 - librpc/gen_ndr/srv_initshutdown.c | 277 - librpc/gen_ndr/srv_initshutdown.h | 13 - librpc/gen_ndr/srv_lsa.c | 7170 ------ librpc/gen_ndr/srv_lsa.h | 171 - librpc/gen_ndr/srv_netlogon.c | 4544 ---- librpc/gen_ndr/srv_netlogon.h | 101 - librpc/gen_ndr/srv_ntsvcs.c | 5318 ----- librpc/gen_ndr/srv_ntsvcs.h | 137 - librpc/gen_ndr/srv_samr.c | 6267 ----- librpc/gen_ndr/srv_samr.h | 143 - librpc/gen_ndr/srv_spoolss.c | 9739 -------- librpc/gen_ndr/srv_spoolss.h | 227 - librpc/gen_ndr/srv_srvsvc.c | 4688 ---- librpc/gen_ndr/srv_srvsvc.h | 115 - librpc/gen_ndr/srv_svcctl.c | 4178 ---- librpc/gen_ndr/srv_svcctl.h | 95 - librpc/gen_ndr/srv_winreg.c | 3230 --- librpc/gen_ndr/srv_winreg.h | 79 - librpc/gen_ndr/srv_wkssvc.c | 2694 --- librpc/gen_ndr/srv_wkssvc.h | 69 - librpc/gen_ndr/srvsvc.h | 1808 -- librpc/gen_ndr/svcctl.h | 973 - librpc/gen_ndr/tables.c | 83 - librpc/gen_ndr/winreg.h | 655 - librpc/gen_ndr/wkssvc.h | 982 - librpc/gen_ndr/xattr.h | 141 - 144 files changed, 366982 deletions(-) delete mode 100644 librpc/gen_ndr/cli_dfs.c delete mode 100644 librpc/gen_ndr/cli_dfs.h delete mode 100644 librpc/gen_ndr/cli_drsuapi.c delete mode 100644 librpc/gen_ndr/cli_drsuapi.h delete mode 100644 librpc/gen_ndr/cli_dssetup.c delete mode 100644 librpc/gen_ndr/cli_dssetup.h delete mode 100644 librpc/gen_ndr/cli_echo.c delete mode 100644 librpc/gen_ndr/cli_echo.h delete mode 100644 librpc/gen_ndr/cli_epmapper.c delete mode 100644 librpc/gen_ndr/cli_epmapper.h delete mode 100644 librpc/gen_ndr/cli_eventlog.c delete mode 100644 librpc/gen_ndr/cli_eventlog.h delete mode 100644 librpc/gen_ndr/cli_initshutdown.c delete mode 100644 librpc/gen_ndr/cli_initshutdown.h delete mode 100644 librpc/gen_ndr/cli_lsa.c delete mode 100644 librpc/gen_ndr/cli_lsa.h delete mode 100644 librpc/gen_ndr/cli_netlogon.c delete mode 100644 librpc/gen_ndr/cli_netlogon.h delete mode 100644 librpc/gen_ndr/cli_ntsvcs.c delete mode 100644 librpc/gen_ndr/cli_ntsvcs.h delete mode 100644 librpc/gen_ndr/cli_samr.c delete mode 100644 librpc/gen_ndr/cli_samr.h delete mode 100644 librpc/gen_ndr/cli_spoolss.c delete mode 100644 librpc/gen_ndr/cli_spoolss.h delete mode 100644 librpc/gen_ndr/cli_srvsvc.c delete mode 100644 librpc/gen_ndr/cli_srvsvc.h delete mode 100644 librpc/gen_ndr/cli_svcctl.c delete mode 100644 librpc/gen_ndr/cli_svcctl.h delete mode 100644 librpc/gen_ndr/cli_winreg.c delete mode 100644 librpc/gen_ndr/cli_winreg.h delete mode 100644 librpc/gen_ndr/cli_wkssvc.c delete mode 100644 librpc/gen_ndr/cli_wkssvc.h delete mode 100644 librpc/gen_ndr/dcerpc.h delete mode 100644 librpc/gen_ndr/dfs.h delete mode 100644 librpc/gen_ndr/drsblobs.h delete mode 100644 librpc/gen_ndr/drsuapi.h delete mode 100644 librpc/gen_ndr/dssetup.h delete mode 100644 librpc/gen_ndr/echo.h delete mode 100644 librpc/gen_ndr/epmapper.h delete mode 100644 librpc/gen_ndr/eventlog.h delete mode 100644 librpc/gen_ndr/initshutdown.h delete mode 100644 librpc/gen_ndr/krb5pac.h delete mode 100644 librpc/gen_ndr/lsa.h delete mode 100644 librpc/gen_ndr/misc.h delete mode 100644 librpc/gen_ndr/named_pipe_auth.h delete mode 100644 librpc/gen_ndr/nbt.h delete mode 100644 librpc/gen_ndr/ndr_dcerpc.c delete mode 100644 librpc/gen_ndr/ndr_dcerpc.h delete mode 100644 librpc/gen_ndr/ndr_dfs.c delete mode 100644 librpc/gen_ndr/ndr_dfs.h delete mode 100644 librpc/gen_ndr/ndr_drsblobs.c delete mode 100644 librpc/gen_ndr/ndr_drsblobs.h delete mode 100644 librpc/gen_ndr/ndr_drsuapi.c delete mode 100644 librpc/gen_ndr/ndr_drsuapi.h delete mode 100644 librpc/gen_ndr/ndr_dssetup.c delete mode 100644 librpc/gen_ndr/ndr_dssetup.h delete mode 100644 librpc/gen_ndr/ndr_echo.c delete mode 100644 librpc/gen_ndr/ndr_echo.h delete mode 100644 librpc/gen_ndr/ndr_epmapper.c delete mode 100644 librpc/gen_ndr/ndr_epmapper.h delete mode 100644 librpc/gen_ndr/ndr_eventlog.c delete mode 100644 librpc/gen_ndr/ndr_eventlog.h delete mode 100644 librpc/gen_ndr/ndr_initshutdown.c delete mode 100644 librpc/gen_ndr/ndr_initshutdown.h delete mode 100644 librpc/gen_ndr/ndr_krb5pac.c delete mode 100644 librpc/gen_ndr/ndr_krb5pac.h delete mode 100644 librpc/gen_ndr/ndr_lsa.c delete mode 100644 librpc/gen_ndr/ndr_lsa.h delete mode 100644 librpc/gen_ndr/ndr_misc.c delete mode 100644 librpc/gen_ndr/ndr_misc.h delete mode 100644 librpc/gen_ndr/ndr_named_pipe_auth.c delete mode 100644 librpc/gen_ndr/ndr_named_pipe_auth.h delete mode 100644 librpc/gen_ndr/ndr_nbt.c delete mode 100644 librpc/gen_ndr/ndr_nbt.h delete mode 100644 librpc/gen_ndr/ndr_netlogon.c delete mode 100644 librpc/gen_ndr/ndr_netlogon.h delete mode 100644 librpc/gen_ndr/ndr_ntlmssp.c delete mode 100644 librpc/gen_ndr/ndr_ntlmssp.h delete mode 100644 librpc/gen_ndr/ndr_ntsvcs.c delete mode 100644 librpc/gen_ndr/ndr_ntsvcs.h delete mode 100644 librpc/gen_ndr/ndr_rap.c delete mode 100644 librpc/gen_ndr/ndr_rap.h delete mode 100644 librpc/gen_ndr/ndr_samr.c delete mode 100644 librpc/gen_ndr/ndr_samr.h delete mode 100644 librpc/gen_ndr/ndr_schannel.c delete mode 100644 librpc/gen_ndr/ndr_schannel.h delete mode 100644 librpc/gen_ndr/ndr_security.c delete mode 100644 librpc/gen_ndr/ndr_security.h delete mode 100644 librpc/gen_ndr/ndr_spoolss.c delete mode 100644 librpc/gen_ndr/ndr_spoolss.h delete mode 100644 librpc/gen_ndr/ndr_srvsvc.c delete mode 100644 librpc/gen_ndr/ndr_srvsvc.h delete mode 100644 librpc/gen_ndr/ndr_svcctl.c delete mode 100644 librpc/gen_ndr/ndr_svcctl.h delete mode 100644 librpc/gen_ndr/ndr_winreg.c delete mode 100644 librpc/gen_ndr/ndr_winreg.h delete mode 100644 librpc/gen_ndr/ndr_wkssvc.c delete mode 100644 librpc/gen_ndr/ndr_wkssvc.h delete mode 100644 librpc/gen_ndr/ndr_xattr.c delete mode 100644 librpc/gen_ndr/ndr_xattr.h delete mode 100644 librpc/gen_ndr/netlogon.h delete mode 100644 librpc/gen_ndr/ntlmssp.h delete mode 100644 librpc/gen_ndr/ntsvcs.h delete mode 100644 librpc/gen_ndr/rap.h delete mode 100644 librpc/gen_ndr/samr.h delete mode 100644 librpc/gen_ndr/schannel.h delete mode 100644 librpc/gen_ndr/security.h delete mode 100644 librpc/gen_ndr/spoolss.h delete mode 100644 librpc/gen_ndr/srv_dfs.c delete mode 100644 librpc/gen_ndr/srv_dfs.h delete mode 100644 librpc/gen_ndr/srv_dssetup.c delete mode 100644 librpc/gen_ndr/srv_dssetup.h delete mode 100644 librpc/gen_ndr/srv_echo.c delete mode 100644 librpc/gen_ndr/srv_echo.h delete mode 100644 librpc/gen_ndr/srv_epmapper.c delete mode 100644 librpc/gen_ndr/srv_epmapper.h delete mode 100644 librpc/gen_ndr/srv_eventlog.c delete mode 100644 librpc/gen_ndr/srv_eventlog.h delete mode 100644 librpc/gen_ndr/srv_initshutdown.c delete mode 100644 librpc/gen_ndr/srv_initshutdown.h delete mode 100644 librpc/gen_ndr/srv_lsa.c delete mode 100644 librpc/gen_ndr/srv_lsa.h delete mode 100644 librpc/gen_ndr/srv_netlogon.c delete mode 100644 librpc/gen_ndr/srv_netlogon.h delete mode 100644 librpc/gen_ndr/srv_ntsvcs.c delete mode 100644 librpc/gen_ndr/srv_ntsvcs.h delete mode 100644 librpc/gen_ndr/srv_samr.c delete mode 100644 librpc/gen_ndr/srv_samr.h delete mode 100644 librpc/gen_ndr/srv_spoolss.c delete mode 100644 librpc/gen_ndr/srv_spoolss.h delete mode 100644 librpc/gen_ndr/srv_srvsvc.c delete mode 100644 librpc/gen_ndr/srv_srvsvc.h delete mode 100644 librpc/gen_ndr/srv_svcctl.c delete mode 100644 librpc/gen_ndr/srv_svcctl.h delete mode 100644 librpc/gen_ndr/srv_winreg.c delete mode 100644 librpc/gen_ndr/srv_winreg.h delete mode 100644 librpc/gen_ndr/srv_wkssvc.c delete mode 100644 librpc/gen_ndr/srv_wkssvc.h delete mode 100644 librpc/gen_ndr/srvsvc.h delete mode 100644 librpc/gen_ndr/svcctl.h delete mode 100644 librpc/gen_ndr/tables.c delete mode 100644 librpc/gen_ndr/winreg.h delete mode 100644 librpc/gen_ndr/wkssvc.h delete mode 100644 librpc/gen_ndr/xattr.h diff --git a/librpc/gen_ndr/cli_dfs.c b/librpc/gen_ndr/cli_dfs.c deleted file mode 100644 index 6ce5b5fcafb..00000000000 --- a/librpc/gen_ndr/cli_dfs.c +++ /dev/null @@ -1,3457 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_dfs.h" - -struct rpccli_dfs_GetManagerVersion_state { - struct dfs_GetManagerVersion orig; - struct dfs_GetManagerVersion tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_GetManagerVersion_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_GetManagerVersion_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum dfs_ManagerVersion *_version /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_dfs_GetManagerVersion_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_GetManagerVersion_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - state->orig.out.version = _version; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_GetManagerVersion_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_GETMANAGERVERSION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_GetManagerVersion_done, req); - return req; -} - -static void rpccli_dfs_GetManagerVersion_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_GetManagerVersion_state *state = tevent_req_data( - req, struct rpccli_dfs_GetManagerVersion_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.version = *state->tmp.out.version; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_GetManagerVersion_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_dfs_GetManagerVersion_state *state = tevent_req_data( - req, struct rpccli_dfs_GetManagerVersion_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_GetManagerVersion(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum dfs_ManagerVersion *version /* [out] [ref] */) -{ - struct dfs_GetManagerVersion r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_GETMANAGERVERSION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *version = *r.out.version; - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_dfs_Add_state { - struct dfs_Add orig; - struct dfs_Add tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Add_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Add_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_path /* [in] [ref,charset(UTF16)] */, - const char *_server /* [in] [ref,charset(UTF16)] */, - const char *_share /* [in] [unique,charset(UTF16)] */, - const char *_comment /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_dfs_Add_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Add_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.path = _path; - state->orig.in.server = _server; - state->orig.in.share = _share; - state->orig.in.comment = _comment; - state->orig.in.flags = _flags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Add_done, req); - return req; -} - -static void rpccli_dfs_Add_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Add_state *state = tevent_req_data( - req, struct rpccli_dfs_Add_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Add_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Add_state *state = tevent_req_data( - req, struct rpccli_dfs_Add_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Add(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *path /* [in] [ref,charset(UTF16)] */, - const char *server /* [in] [ref,charset(UTF16)] */, - const char *share /* [in] [unique,charset(UTF16)] */, - const char *comment /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct dfs_Add r; - NTSTATUS status; - - /* In parameters */ - r.in.path = path; - r.in.server = server; - r.in.share = share; - r.in.comment = comment; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ADD, - &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_dfs_Remove_state { - struct dfs_Remove orig; - struct dfs_Remove tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Remove_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Remove_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_entry_path /* [in] [ref,charset(UTF16)] */, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_sharename /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_dfs_Remove_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Remove_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.dfs_entry_path = _dfs_entry_path; - state->orig.in.servername = _servername; - state->orig.in.sharename = _sharename; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_REMOVE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Remove_done, req); - return req; -} - -static void rpccli_dfs_Remove_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Remove_state *state = tevent_req_data( - req, struct rpccli_dfs_Remove_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Remove_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Remove_state *state = tevent_req_data( - req, struct rpccli_dfs_Remove_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Remove(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_entry_path /* [in] [ref,charset(UTF16)] */, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *sharename /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct dfs_Remove r; - NTSTATUS status; - - /* In parameters */ - r.in.dfs_entry_path = dfs_entry_path; - r.in.servername = servername; - r.in.sharename = sharename; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_REMOVE, - &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_dfs_SetInfo_state { - struct dfs_SetInfo orig; - struct dfs_SetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_SetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_SetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_entry_path /* [in] [charset(UTF16)] */, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_sharename /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union dfs_Info *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_dfs_SetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_SetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.dfs_entry_path = _dfs_entry_path; - state->orig.in.servername = _servername; - state->orig.in.sharename = _sharename; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_SETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_SetInfo_done, req); - return req; -} - -static void rpccli_dfs_SetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_SetInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_SetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_SetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_SetInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_SetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_SetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_entry_path /* [in] [charset(UTF16)] */, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *sharename /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union dfs_Info *info /* [in] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct dfs_SetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.dfs_entry_path = dfs_entry_path; - r.in.servername = servername; - r.in.sharename = sharename; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_SETINFO, - &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_dfs_GetInfo_state { - struct dfs_GetInfo orig; - struct dfs_GetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_GetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_GetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_entry_path /* [in] [charset(UTF16)] */, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_sharename /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union dfs_Info *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_dfs_GetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_GetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.dfs_entry_path = _dfs_entry_path; - state->orig.in.servername = _servername; - state->orig.in.sharename = _sharename; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_GetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_GETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_GetInfo_done, req); - return req; -} - -static void rpccli_dfs_GetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_GetInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_GetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_GetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_GetInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_GetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_GetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_entry_path /* [in] [charset(UTF16)] */, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *sharename /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union dfs_Info *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct dfs_GetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.dfs_entry_path = dfs_entry_path; - r.in.servername = servername; - r.in.sharename = sharename; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_GETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dfs_Enum_state { - struct dfs_Enum orig; - struct dfs_Enum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Enum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Enum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _level /* [in] */, - uint32_t _bufsize /* [in] */, - struct dfs_EnumStruct *_info /* [in,out] [unique] */, - uint32_t *_total /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_dfs_Enum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Enum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.level = _level; - state->orig.in.bufsize = _bufsize; - state->orig.in.info = _info; - state->orig.in.total = _total; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.total = _total; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_Enum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Enum_done, req); - return req; -} - -static void rpccli_dfs_Enum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Enum_state *state = tevent_req_data( - req, struct rpccli_dfs_Enum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - if (state->orig.out.total && state->tmp.out.total) { - *state->orig.out.total = *state->tmp.out.total; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Enum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Enum_state *state = tevent_req_data( - req, struct rpccli_dfs_Enum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t level /* [in] */, - uint32_t bufsize /* [in] */, - struct dfs_EnumStruct *info /* [in,out] [unique] */, - uint32_t *total /* [in,out] [unique] */, - WERROR *werror) -{ - struct dfs_Enum r; - NTSTATUS status; - - /* In parameters */ - r.in.level = level; - r.in.bufsize = bufsize; - r.in.info = info; - r.in.total = total; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - if (total && r.out.total) { - *total = *r.out.total; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dfs_Rename_state { - struct dfs_Rename orig; - struct dfs_Rename tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Rename_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Rename_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_Rename_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Rename_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_RENAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Rename_done, req); - return req; -} - -static void rpccli_dfs_Rename_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Rename_state *state = tevent_req_data( - req, struct rpccli_dfs_Rename_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Rename_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Rename_state *state = tevent_req_data( - req, struct rpccli_dfs_Rename_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Rename(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_Rename r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_RENAME, - &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_dfs_Move_state { - struct dfs_Move orig; - struct dfs_Move tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Move_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Move_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_Move_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Move_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_MOVE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Move_done, req); - return req; -} - -static void rpccli_dfs_Move_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Move_state *state = tevent_req_data( - req, struct rpccli_dfs_Move_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Move_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Move_state *state = tevent_req_data( - req, struct rpccli_dfs_Move_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Move(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_Move r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_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_dfs_ManagerGetConfigInfo_state { - struct dfs_ManagerGetConfigInfo orig; - struct dfs_ManagerGetConfigInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_ManagerGetConfigInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_ManagerGetConfigInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_ManagerGetConfigInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_ManagerGetConfigInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_MANAGERGETCONFIGINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_ManagerGetConfigInfo_done, req); - return req; -} - -static void rpccli_dfs_ManagerGetConfigInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_ManagerGetConfigInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_ManagerGetConfigInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_ManagerGetConfigInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_ManagerGetConfigInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_ManagerGetConfigInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_ManagerGetConfigInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_ManagerGetConfigInfo r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_MANAGERGETCONFIGINFO, - &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_dfs_ManagerSendSiteInfo_state { - struct dfs_ManagerSendSiteInfo orig; - struct dfs_ManagerSendSiteInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_ManagerSendSiteInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_ManagerSendSiteInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_ManagerSendSiteInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_ManagerSendSiteInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_MANAGERSENDSITEINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_ManagerSendSiteInfo_done, req); - return req; -} - -static void rpccli_dfs_ManagerSendSiteInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_ManagerSendSiteInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_ManagerSendSiteInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_ManagerSendSiteInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_ManagerSendSiteInfo_state *state = tevent_req_data( - req, struct rpccli_dfs_ManagerSendSiteInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_ManagerSendSiteInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_ManagerSendSiteInfo r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_MANAGERSENDSITEINFO, - &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_dfs_AddFtRoot_state { - struct dfs_AddFtRoot orig; - struct dfs_AddFtRoot tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_AddFtRoot_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_AddFtRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_dns_servername /* [in] [charset(UTF16)] */, - const char *_dfsname /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - const char *_comment /* [in] [charset(UTF16)] */, - const char *_dfs_config_dn /* [in] [charset(UTF16)] */, - uint8_t _unknown1 /* [in] */, - uint32_t _flags /* [in] */, - struct dfs_UnknownStruct **_unknown2 /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_dfs_AddFtRoot_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_AddFtRoot_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.dns_servername = _dns_servername; - state->orig.in.dfsname = _dfsname; - state->orig.in.rootshare = _rootshare; - state->orig.in.comment = _comment; - state->orig.in.dfs_config_dn = _dfs_config_dn; - state->orig.in.unknown1 = _unknown1; - state->orig.in.flags = _flags; - state->orig.in.unknown2 = _unknown2; - - /* Out parameters */ - state->orig.out.unknown2 = _unknown2; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_AddFtRoot_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ADDFTROOT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_AddFtRoot_done, req); - return req; -} - -static void rpccli_dfs_AddFtRoot_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_AddFtRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_AddFtRoot_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.unknown2 && state->tmp.out.unknown2) { - *state->orig.out.unknown2 = *state->tmp.out.unknown2; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_AddFtRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_AddFtRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_AddFtRoot_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_AddFtRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *dns_servername /* [in] [charset(UTF16)] */, - const char *dfsname /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - const char *comment /* [in] [charset(UTF16)] */, - const char *dfs_config_dn /* [in] [charset(UTF16)] */, - uint8_t unknown1 /* [in] */, - uint32_t flags /* [in] */, - struct dfs_UnknownStruct **unknown2 /* [in,out] [unique] */, - WERROR *werror) -{ - struct dfs_AddFtRoot r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.dns_servername = dns_servername; - r.in.dfsname = dfsname; - r.in.rootshare = rootshare; - r.in.comment = comment; - r.in.dfs_config_dn = dfs_config_dn; - r.in.unknown1 = unknown1; - r.in.flags = flags; - r.in.unknown2 = unknown2; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ADDFTROOT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (unknown2 && r.out.unknown2) { - *unknown2 = *r.out.unknown2; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dfs_RemoveFtRoot_state { - struct dfs_RemoveFtRoot orig; - struct dfs_RemoveFtRoot tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_RemoveFtRoot_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_RemoveFtRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_dns_servername /* [in] [charset(UTF16)] */, - const char *_dfsname /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct dfs_UnknownStruct **_unknown /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_dfs_RemoveFtRoot_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_RemoveFtRoot_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.dns_servername = _dns_servername; - state->orig.in.dfsname = _dfsname; - state->orig.in.rootshare = _rootshare; - state->orig.in.flags = _flags; - state->orig.in.unknown = _unknown; - - /* Out parameters */ - state->orig.out.unknown = _unknown; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_RemoveFtRoot_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_REMOVEFTROOT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_RemoveFtRoot_done, req); - return req; -} - -static void rpccli_dfs_RemoveFtRoot_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_RemoveFtRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_RemoveFtRoot_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.unknown && state->tmp.out.unknown) { - *state->orig.out.unknown = *state->tmp.out.unknown; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_RemoveFtRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_RemoveFtRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_RemoveFtRoot_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_RemoveFtRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *dns_servername /* [in] [charset(UTF16)] */, - const char *dfsname /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - struct dfs_UnknownStruct **unknown /* [in,out] [unique] */, - WERROR *werror) -{ - struct dfs_RemoveFtRoot r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.dns_servername = dns_servername; - r.in.dfsname = dfsname; - r.in.rootshare = rootshare; - r.in.flags = flags; - r.in.unknown = unknown; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_REMOVEFTROOT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (unknown && r.out.unknown) { - *unknown = *r.out.unknown; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dfs_AddStdRoot_state { - struct dfs_AddStdRoot orig; - struct dfs_AddStdRoot tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_AddStdRoot_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_AddStdRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - const char *_comment /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_dfs_AddStdRoot_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_AddStdRoot_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.rootshare = _rootshare; - state->orig.in.comment = _comment; - state->orig.in.flags = _flags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ADDSTDROOT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_AddStdRoot_done, req); - return req; -} - -static void rpccli_dfs_AddStdRoot_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_AddStdRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_AddStdRoot_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_AddStdRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_AddStdRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_AddStdRoot_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_AddStdRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - const char *comment /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct dfs_AddStdRoot r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.rootshare = rootshare; - r.in.comment = comment; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ADDSTDROOT, - &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_dfs_RemoveStdRoot_state { - struct dfs_RemoveStdRoot orig; - struct dfs_RemoveStdRoot tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_RemoveStdRoot_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_RemoveStdRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_dfs_RemoveStdRoot_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_RemoveStdRoot_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.rootshare = _rootshare; - state->orig.in.flags = _flags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_REMOVESTDROOT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_RemoveStdRoot_done, req); - return req; -} - -static void rpccli_dfs_RemoveStdRoot_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_RemoveStdRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_RemoveStdRoot_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_RemoveStdRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_RemoveStdRoot_state *state = tevent_req_data( - req, struct rpccli_dfs_RemoveStdRoot_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_RemoveStdRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct dfs_RemoveStdRoot r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.rootshare = rootshare; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_REMOVESTDROOT, - &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_dfs_ManagerInitialize_state { - struct dfs_ManagerInitialize orig; - struct dfs_ManagerInitialize tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_ManagerInitialize_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_ManagerInitialize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [ref,charset(UTF16)] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_dfs_ManagerInitialize_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_ManagerInitialize_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.flags = _flags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_MANAGERINITIALIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_ManagerInitialize_done, req); - return req; -} - -static void rpccli_dfs_ManagerInitialize_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_ManagerInitialize_state *state = tevent_req_data( - req, struct rpccli_dfs_ManagerInitialize_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_ManagerInitialize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_ManagerInitialize_state *state = tevent_req_data( - req, struct rpccli_dfs_ManagerInitialize_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_ManagerInitialize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [ref,charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct dfs_ManagerInitialize r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_MANAGERINITIALIZE, - &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_dfs_AddStdRootForced_state { - struct dfs_AddStdRootForced orig; - struct dfs_AddStdRootForced tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_AddStdRootForced_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_AddStdRootForced_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - const char *_comment /* [in] [charset(UTF16)] */, - const char *_store /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_dfs_AddStdRootForced_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_AddStdRootForced_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.rootshare = _rootshare; - state->orig.in.comment = _comment; - state->orig.in.store = _store; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ADDSTDROOTFORCED, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_AddStdRootForced_done, req); - return req; -} - -static void rpccli_dfs_AddStdRootForced_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_AddStdRootForced_state *state = tevent_req_data( - req, struct rpccli_dfs_AddStdRootForced_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_AddStdRootForced_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_AddStdRootForced_state *state = tevent_req_data( - req, struct rpccli_dfs_AddStdRootForced_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_AddStdRootForced(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - const char *comment /* [in] [charset(UTF16)] */, - const char *store /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct dfs_AddStdRootForced r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.rootshare = rootshare; - r.in.comment = comment; - r.in.store = store; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ADDSTDROOTFORCED, - &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_dfs_GetDcAddress_state { - struct dfs_GetDcAddress orig; - struct dfs_GetDcAddress tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_GetDcAddress_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_GetDcAddress_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char **_server_fullname /* [in,out] [ref,charset(UTF16)] */, - uint8_t *_is_root /* [in,out] [ref] */, - uint32_t *_ttl /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_dfs_GetDcAddress_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_GetDcAddress_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.server_fullname = _server_fullname; - state->orig.in.is_root = _is_root; - state->orig.in.ttl = _ttl; - - /* Out parameters */ - state->orig.out.server_fullname = _server_fullname; - state->orig.out.is_root = _is_root; - state->orig.out.ttl = _ttl; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_GetDcAddress_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_GETDCADDRESS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_GetDcAddress_done, req); - return req; -} - -static void rpccli_dfs_GetDcAddress_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_GetDcAddress_state *state = tevent_req_data( - req, struct rpccli_dfs_GetDcAddress_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.server_fullname = *state->tmp.out.server_fullname; - *state->orig.out.is_root = *state->tmp.out.is_root; - *state->orig.out.ttl = *state->tmp.out.ttl; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_GetDcAddress_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_GetDcAddress_state *state = tevent_req_data( - req, struct rpccli_dfs_GetDcAddress_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char **server_fullname /* [in,out] [ref,charset(UTF16)] */, - uint8_t *is_root /* [in,out] [ref] */, - uint32_t *ttl /* [in,out] [ref] */, - WERROR *werror) -{ - struct dfs_GetDcAddress r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.server_fullname = server_fullname; - r.in.is_root = is_root; - r.in.ttl = ttl; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_GETDCADDRESS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *server_fullname = *r.out.server_fullname; - *is_root = *r.out.is_root; - *ttl = *r.out.ttl; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dfs_SetDcAddress_state { - struct dfs_SetDcAddress orig; - struct dfs_SetDcAddress tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_SetDcAddress_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_SetDcAddress_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_server_fullname /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */, - uint32_t _ttl /* [in] */) -{ - struct tevent_req *req; - struct rpccli_dfs_SetDcAddress_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_SetDcAddress_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.server_fullname = _server_fullname; - state->orig.in.flags = _flags; - state->orig.in.ttl = _ttl; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_SETDCADDRESS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_SetDcAddress_done, req); - return req; -} - -static void rpccli_dfs_SetDcAddress_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_SetDcAddress_state *state = tevent_req_data( - req, struct rpccli_dfs_SetDcAddress_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_SetDcAddress_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_SetDcAddress_state *state = tevent_req_data( - req, struct rpccli_dfs_SetDcAddress_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_SetDcAddress(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *server_fullname /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - uint32_t ttl /* [in] */, - WERROR *werror) -{ - struct dfs_SetDcAddress r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.server_fullname = server_fullname; - r.in.flags = flags; - r.in.ttl = ttl; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_SETDCADDRESS, - &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_dfs_FlushFtTable_state { - struct dfs_FlushFtTable orig; - struct dfs_FlushFtTable tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_FlushFtTable_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_FlushFtTable_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_dfs_FlushFtTable_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_FlushFtTable_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.rootshare = _rootshare; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_FLUSHFTTABLE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_FlushFtTable_done, req); - return req; -} - -static void rpccli_dfs_FlushFtTable_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_FlushFtTable_state *state = tevent_req_data( - req, struct rpccli_dfs_FlushFtTable_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_FlushFtTable_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_FlushFtTable_state *state = tevent_req_data( - req, struct rpccli_dfs_FlushFtTable_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_FlushFtTable(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct dfs_FlushFtTable r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.rootshare = rootshare; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_FLUSHFTTABLE, - &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_dfs_Add2_state { - struct dfs_Add2 orig; - struct dfs_Add2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Add2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Add2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_Add2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Add2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ADD2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Add2_done, req); - return req; -} - -static void rpccli_dfs_Add2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Add2_state *state = tevent_req_data( - req, struct rpccli_dfs_Add2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Add2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Add2_state *state = tevent_req_data( - req, struct rpccli_dfs_Add2_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Add2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_Add2 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ADD2, - &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_dfs_Remove2_state { - struct dfs_Remove2 orig; - struct dfs_Remove2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_Remove2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_Remove2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_Remove2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_Remove2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_REMOVE2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_Remove2_done, req); - return req; -} - -static void rpccli_dfs_Remove2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_Remove2_state *state = tevent_req_data( - req, struct rpccli_dfs_Remove2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_Remove2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_Remove2_state *state = tevent_req_data( - req, struct rpccli_dfs_Remove2_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_Remove2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_Remove2 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_REMOVE2, - &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_dfs_EnumEx_state { - struct dfs_EnumEx orig; - struct dfs_EnumEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_EnumEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_EnumEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - uint32_t _bufsize /* [in] */, - struct dfs_EnumStruct *_info /* [in,out] [unique] */, - uint32_t *_total /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_dfs_EnumEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_EnumEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.dfs_name = _dfs_name; - state->orig.in.level = _level; - state->orig.in.bufsize = _bufsize; - state->orig.in.info = _info; - state->orig.in.total = _total; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.total = _total; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dfs_EnumEx_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_ENUMEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_EnumEx_done, req); - return req; -} - -static void rpccli_dfs_EnumEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_EnumEx_state *state = tevent_req_data( - req, struct rpccli_dfs_EnumEx_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - if (state->orig.out.total && state->tmp.out.total) { - *state->orig.out.total = *state->tmp.out.total; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_EnumEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_EnumEx_state *state = tevent_req_data( - req, struct rpccli_dfs_EnumEx_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - uint32_t bufsize /* [in] */, - struct dfs_EnumStruct *info /* [in,out] [unique] */, - uint32_t *total /* [in,out] [unique] */, - WERROR *werror) -{ - struct dfs_EnumEx r; - NTSTATUS status; - - /* In parameters */ - r.in.dfs_name = dfs_name; - r.in.level = level; - r.in.bufsize = bufsize; - r.in.info = info; - r.in.total = total; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_ENUMEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - if (total && r.out.total) { - *total = *r.out.total; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dfs_SetInfo2_state { - struct dfs_SetInfo2 orig; - struct dfs_SetInfo2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dfs_SetInfo2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dfs_SetInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dfs_SetInfo2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dfs_SetInfo2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_netdfs, - NDR_DFS_SETINFO2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dfs_SetInfo2_done, req); - return req; -} - -static void rpccli_dfs_SetInfo2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dfs_SetInfo2_state *state = tevent_req_data( - req, struct rpccli_dfs_SetInfo2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dfs_SetInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dfs_SetInfo2_state *state = tevent_req_data( - req, struct rpccli_dfs_SetInfo2_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_dfs_SetInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dfs_SetInfo2 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netdfs, - NDR_DFS_SETINFO2, - &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); -} - diff --git a/librpc/gen_ndr/cli_dfs.h b/librpc/gen_ndr/cli_dfs.h deleted file mode 100644 index ed958e211ed..00000000000 --- a/librpc/gen_ndr/cli_dfs.h +++ /dev/null @@ -1,341 +0,0 @@ -#include "../librpc/gen_ndr/ndr_dfs.h" -#ifndef __CLI_NETDFS__ -#define __CLI_NETDFS__ -struct tevent_req *rpccli_dfs_GetManagerVersion_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum dfs_ManagerVersion *_version /* [out] [ref] */); -NTSTATUS rpccli_dfs_GetManagerVersion_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_dfs_GetManagerVersion(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum dfs_ManagerVersion *version /* [out] [ref] */); -struct tevent_req *rpccli_dfs_Add_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_path /* [in] [ref,charset(UTF16)] */, - const char *_server /* [in] [ref,charset(UTF16)] */, - const char *_share /* [in] [unique,charset(UTF16)] */, - const char *_comment /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_dfs_Add_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Add(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *path /* [in] [ref,charset(UTF16)] */, - const char *server /* [in] [ref,charset(UTF16)] */, - const char *share /* [in] [unique,charset(UTF16)] */, - const char *comment /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_Remove_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_entry_path /* [in] [ref,charset(UTF16)] */, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_sharename /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_dfs_Remove_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Remove(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_entry_path /* [in] [ref,charset(UTF16)] */, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *sharename /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_SetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_entry_path /* [in] [charset(UTF16)] */, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_sharename /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union dfs_Info *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_dfs_SetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_SetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_entry_path /* [in] [charset(UTF16)] */, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *sharename /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union dfs_Info *info /* [in] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_GetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_entry_path /* [in] [charset(UTF16)] */, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_sharename /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union dfs_Info *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_dfs_GetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_GetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_entry_path /* [in] [charset(UTF16)] */, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *sharename /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union dfs_Info *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_Enum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _level /* [in] */, - uint32_t _bufsize /* [in] */, - struct dfs_EnumStruct *_info /* [in,out] [unique] */, - uint32_t *_total /* [in,out] [unique] */); -NTSTATUS rpccli_dfs_Enum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t level /* [in] */, - uint32_t bufsize /* [in] */, - struct dfs_EnumStruct *info /* [in,out] [unique] */, - uint32_t *total /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_Rename_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_Rename_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Rename(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dfs_Move_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_Move_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Move(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dfs_ManagerGetConfigInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_ManagerGetConfigInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_ManagerGetConfigInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dfs_ManagerSendSiteInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_ManagerSendSiteInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_ManagerSendSiteInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dfs_AddFtRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_dns_servername /* [in] [charset(UTF16)] */, - const char *_dfsname /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - const char *_comment /* [in] [charset(UTF16)] */, - const char *_dfs_config_dn /* [in] [charset(UTF16)] */, - uint8_t _unknown1 /* [in] */, - uint32_t _flags /* [in] */, - struct dfs_UnknownStruct **_unknown2 /* [in,out] [unique] */); -NTSTATUS rpccli_dfs_AddFtRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_AddFtRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *dns_servername /* [in] [charset(UTF16)] */, - const char *dfsname /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - const char *comment /* [in] [charset(UTF16)] */, - const char *dfs_config_dn /* [in] [charset(UTF16)] */, - uint8_t unknown1 /* [in] */, - uint32_t flags /* [in] */, - struct dfs_UnknownStruct **unknown2 /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_RemoveFtRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_dns_servername /* [in] [charset(UTF16)] */, - const char *_dfsname /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct dfs_UnknownStruct **_unknown /* [in,out] [unique] */); -NTSTATUS rpccli_dfs_RemoveFtRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_RemoveFtRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *dns_servername /* [in] [charset(UTF16)] */, - const char *dfsname /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - struct dfs_UnknownStruct **unknown /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_AddStdRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - const char *_comment /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_dfs_AddStdRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_AddStdRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - const char *comment /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_RemoveStdRoot_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_dfs_RemoveStdRoot_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_RemoveStdRoot(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_ManagerInitialize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [ref,charset(UTF16)] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_dfs_ManagerInitialize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_ManagerInitialize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [ref,charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_AddStdRootForced_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */, - const char *_comment /* [in] [charset(UTF16)] */, - const char *_store /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_dfs_AddStdRootForced_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_AddStdRootForced(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - const char *comment /* [in] [charset(UTF16)] */, - const char *store /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_GetDcAddress_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char **_server_fullname /* [in,out] [ref,charset(UTF16)] */, - uint8_t *_is_root /* [in,out] [ref] */, - uint32_t *_ttl /* [in,out] [ref] */); -NTSTATUS rpccli_dfs_GetDcAddress_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char **server_fullname /* [in,out] [ref,charset(UTF16)] */, - uint8_t *is_root /* [in,out] [ref] */, - uint32_t *ttl /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_SetDcAddress_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_server_fullname /* [in] [charset(UTF16)] */, - uint32_t _flags /* [in] */, - uint32_t _ttl /* [in] */); -NTSTATUS rpccli_dfs_SetDcAddress_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_SetDcAddress(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *server_fullname /* [in] [charset(UTF16)] */, - uint32_t flags /* [in] */, - uint32_t ttl /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_FlushFtTable_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [charset(UTF16)] */, - const char *_rootshare /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_dfs_FlushFtTable_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_FlushFtTable(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [charset(UTF16)] */, - const char *rootshare /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_Add2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_Add2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Add2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dfs_Remove2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_Remove2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_Remove2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dfs_EnumEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_dfs_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - uint32_t _bufsize /* [in] */, - struct dfs_EnumStruct *_info /* [in,out] [unique] */, - uint32_t *_total /* [in,out] [unique] */); -NTSTATUS rpccli_dfs_EnumEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *dfs_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - uint32_t bufsize /* [in] */, - struct dfs_EnumStruct *info /* [in,out] [unique] */, - uint32_t *total /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_dfs_SetInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dfs_SetInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dfs_SetInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -#endif /* __CLI_NETDFS__ */ diff --git a/librpc/gen_ndr/cli_drsuapi.c b/librpc/gen_ndr/cli_drsuapi.c deleted file mode 100644 index 6460589f95f..00000000000 --- 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); -} - diff --git a/librpc/gen_ndr/cli_drsuapi.h b/librpc/gen_ndr/cli_drsuapi.h deleted file mode 100644 index 7474b9e1bba..00000000000 --- a/librpc/gen_ndr/cli_drsuapi.h +++ /dev/null @@ -1,383 +0,0 @@ -#include "../librpc/gen_ndr/ndr_drsuapi.h" -#ifndef __CLI_DRSUAPI__ -#define __CLI_DRSUAPI__ -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] */); -NTSTATUS rpccli_drsuapi_DsBind_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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] */); -NTSTATUS rpccli_drsuapi_DsUnbind_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_drsuapi_DsUnbind(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in,out] [ref] */, - WERROR *werror); -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)] */); -NTSTATUS rpccli_drsuapi_DsReplicaSync_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsGetNCChanges_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsReplicaUpdateRefs_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsReplicaAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsReplicaDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsReplicaMod_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 tevent_req *rpccli_DRSUAPI_VERIFY_NAMES_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_DRSUAPI_VERIFY_NAMES_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_DRSUAPI_VERIFY_NAMES(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -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)] */); -NTSTATUS rpccli_drsuapi_DsGetMemberships_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 tevent_req *rpccli_DRSUAPI_INTER_DOMAIN_MOVE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_DRSUAPI_INTER_DOMAIN_MOVE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_DRSUAPI_INTER_DOMAIN_MOVE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -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)] */); -NTSTATUS rpccli_drsuapi_DsGetNT4ChangeLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsCrackNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsWriteAccountSpn_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsRemoveDSServer_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 tevent_req *rpccli_DRSUAPI_REMOVE_DS_DOMAIN_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_DRSUAPI_REMOVE_DS_DOMAIN_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_DRSUAPI_REMOVE_DS_DOMAIN(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -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)] */); -NTSTATUS rpccli_drsuapi_DsGetDomainControllerInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsAddEntry_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsExecuteKCC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 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)] */); -NTSTATUS rpccli_drsuapi_DsReplicaGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 tevent_req *rpccli_DRSUAPI_ADD_SID_HISTORY_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_DRSUAPI_ADD_SID_HISTORY_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_DRSUAPI_ADD_SID_HISTORY(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -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)] */); -NTSTATUS rpccli_drsuapi_DsGetMemberships2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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 tevent_req *rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_DRSUAPI_GET_OBJECT_EXISTENCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -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)] */); -NTSTATUS rpccli_drsuapi_QuerySitesByCost_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -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); -#endif /* __CLI_DRSUAPI__ */ diff --git a/librpc/gen_ndr/cli_dssetup.c b/librpc/gen_ndr/cli_dssetup.c deleted file mode 100644 index 22b39cb3ee5..00000000000 --- a/librpc/gen_ndr/cli_dssetup.c +++ /dev/null @@ -1,1512 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_dssetup.h" - -struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state { - struct dssetup_DsRoleGetPrimaryDomainInformation orig; - struct dssetup_DsRoleGetPrimaryDomainInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleGetPrimaryDomainInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleGetPrimaryDomainInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum dssetup_DsRoleInfoLevel _level /* [in] */, - union dssetup_DsRoleInfo *_info /* [out] [unique,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_dssetup_DsRoleGetPrimaryDomainInformation_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_dssetup, - NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleGetPrimaryDomainInformation_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleGetPrimaryDomainInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_dssetup_DsRoleGetPrimaryDomainInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleGetPrimaryDomainInformation_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_dssetup_DsRoleGetPrimaryDomainInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum dssetup_DsRoleInfoLevel level /* [in] */, - union dssetup_DsRoleInfo *info /* [out] [unique,switch_is(level)] */, - WERROR *werror) -{ - struct dssetup_DsRoleGetPrimaryDomainInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_dssetup_DsRoleDnsNameToFlatName_state { - struct dssetup_DsRoleDnsNameToFlatName orig; - struct dssetup_DsRoleDnsNameToFlatName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleDnsNameToFlatName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleDnsNameToFlatName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleDnsNameToFlatName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleDnsNameToFlatName_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_dssetup, - NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDnsNameToFlatName_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleDnsNameToFlatName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleDnsNameToFlatName_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDnsNameToFlatName_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_dssetup_DsRoleDnsNameToFlatName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleDnsNameToFlatName_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDnsNameToFlatName_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_dssetup_DsRoleDnsNameToFlatName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleDnsNameToFlatName r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME, - &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_dssetup_DsRoleDcAsDc_state { - struct dssetup_DsRoleDcAsDc orig; - struct dssetup_DsRoleDcAsDc tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleDcAsDc_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleDcAsDc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleDcAsDc_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleDcAsDc_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_dssetup, - NDR_DSSETUP_DSROLEDCASDC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDcAsDc_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleDcAsDc_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleDcAsDc_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDcAsDc_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_dssetup_DsRoleDcAsDc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleDcAsDc_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDcAsDc_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_dssetup_DsRoleDcAsDc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleDcAsDc r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEDCASDC, - &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_dssetup_DsRoleDcAsReplica_state { - struct dssetup_DsRoleDcAsReplica orig; - struct dssetup_DsRoleDcAsReplica tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleDcAsReplica_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleDcAsReplica_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleDcAsReplica_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleDcAsReplica_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_dssetup, - NDR_DSSETUP_DSROLEDCASREPLICA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDcAsReplica_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleDcAsReplica_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleDcAsReplica_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDcAsReplica_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_dssetup_DsRoleDcAsReplica_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleDcAsReplica_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDcAsReplica_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_dssetup_DsRoleDcAsReplica(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleDcAsReplica r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEDCASREPLICA, - &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_dssetup_DsRoleDemoteDc_state { - struct dssetup_DsRoleDemoteDc orig; - struct dssetup_DsRoleDemoteDc tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleDemoteDc_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleDemoteDc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleDemoteDc_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleDemoteDc_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_dssetup, - NDR_DSSETUP_DSROLEDEMOTEDC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleDemoteDc_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleDemoteDc_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleDemoteDc_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDemoteDc_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_dssetup_DsRoleDemoteDc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleDemoteDc_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleDemoteDc_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_dssetup_DsRoleDemoteDc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleDemoteDc r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEDEMOTEDC, - &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_dssetup_DsRoleGetDcOperationProgress_state { - struct dssetup_DsRoleGetDcOperationProgress orig; - struct dssetup_DsRoleGetDcOperationProgress tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleGetDcOperationProgress_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleGetDcOperationProgress_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleGetDcOperationProgress_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleGetDcOperationProgress_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_dssetup, - NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleGetDcOperationProgress_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleGetDcOperationProgress_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleGetDcOperationProgress_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleGetDcOperationProgress_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_dssetup_DsRoleGetDcOperationProgress_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleGetDcOperationProgress_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleGetDcOperationProgress_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_dssetup_DsRoleGetDcOperationProgress(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleGetDcOperationProgress r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS, - &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_dssetup_DsRoleGetDcOperationResults_state { - struct dssetup_DsRoleGetDcOperationResults orig; - struct dssetup_DsRoleGetDcOperationResults tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleGetDcOperationResults_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleGetDcOperationResults_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleGetDcOperationResults_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleGetDcOperationResults_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_dssetup, - NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleGetDcOperationResults_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleGetDcOperationResults_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleGetDcOperationResults_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleGetDcOperationResults_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_dssetup_DsRoleGetDcOperationResults_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleGetDcOperationResults_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleGetDcOperationResults_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_dssetup_DsRoleGetDcOperationResults(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleGetDcOperationResults r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS, - &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_dssetup_DsRoleCancel_state { - struct dssetup_DsRoleCancel orig; - struct dssetup_DsRoleCancel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleCancel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleCancel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleCancel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleCancel_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_dssetup, - NDR_DSSETUP_DSROLECANCEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleCancel_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleCancel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleCancel_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleCancel_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_dssetup_DsRoleCancel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleCancel_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleCancel_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_dssetup_DsRoleCancel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleCancel r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLECANCEL, - &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_dssetup_DsRoleServerSaveStateForUpgrade_state { - struct dssetup_DsRoleServerSaveStateForUpgrade orig; - struct dssetup_DsRoleServerSaveStateForUpgrade tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleServerSaveStateForUpgrade_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleServerSaveStateForUpgrade_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_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_dssetup, - NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleServerSaveStateForUpgrade_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleServerSaveStateForUpgrade_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_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_dssetup_DsRoleServerSaveStateForUpgrade_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleServerSaveStateForUpgrade_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_dssetup_DsRoleServerSaveStateForUpgrade(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleServerSaveStateForUpgrade r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE, - &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_dssetup_DsRoleUpgradeDownlevelServer_state { - struct dssetup_DsRoleUpgradeDownlevelServer orig; - struct dssetup_DsRoleUpgradeDownlevelServer tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleUpgradeDownlevelServer_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleUpgradeDownlevelServer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_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_dssetup, - NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleUpgradeDownlevelServer_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleUpgradeDownlevelServer_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_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_dssetup_DsRoleUpgradeDownlevelServer_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleUpgradeDownlevelServer_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_dssetup_DsRoleUpgradeDownlevelServer(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleUpgradeDownlevelServer r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER, - &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_dssetup_DsRoleAbortDownlevelServerUpgrade_state { - struct dssetup_DsRoleAbortDownlevelServerUpgrade orig; - struct dssetup_DsRoleAbortDownlevelServerUpgrade tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_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_dssetup, - NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_done, req); - return req; -} - -static void rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_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_dssetup_DsRoleAbortDownlevelServerUpgrade_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_state *state = tevent_req_data( - req, struct rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_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_dssetup_DsRoleAbortDownlevelServerUpgrade(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct dssetup_DsRoleAbortDownlevelServerUpgrade r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_dssetup, - NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE, - &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); -} - diff --git a/librpc/gen_ndr/cli_dssetup.h b/librpc/gen_ndr/cli_dssetup.h deleted file mode 100644 index 24b476496f1..00000000000 --- a/librpc/gen_ndr/cli_dssetup.h +++ /dev/null @@ -1,107 +0,0 @@ -#include "../librpc/gen_ndr/ndr_dssetup.h" -#ifndef __CLI_DSSETUP__ -#define __CLI_DSSETUP__ -struct tevent_req *rpccli_dssetup_DsRoleGetPrimaryDomainInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum dssetup_DsRoleInfoLevel _level /* [in] */, - union dssetup_DsRoleInfo *_info /* [out] [unique,switch_is(level)] */); -NTSTATUS rpccli_dssetup_DsRoleGetPrimaryDomainInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleGetPrimaryDomainInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum dssetup_DsRoleInfoLevel level /* [in] */, - union dssetup_DsRoleInfo *info /* [out] [unique,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleDnsNameToFlatName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleDnsNameToFlatName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleDnsNameToFlatName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleDcAsDc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleDcAsDc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleDcAsDc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleDcAsReplica_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleDcAsReplica_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleDcAsReplica(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleDemoteDc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleDemoteDc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleDemoteDc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleGetDcOperationProgress_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleGetDcOperationProgress_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleGetDcOperationProgress(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleGetDcOperationResults_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleGetDcOperationResults_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleGetDcOperationResults(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleCancel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleCancel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleCancel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleServerSaveStateForUpgrade_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleServerSaveStateForUpgrade_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleServerSaveStateForUpgrade(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleUpgradeDownlevelServer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleUpgradeDownlevelServer_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleUpgradeDownlevelServer(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_dssetup_DsRoleAbortDownlevelServerUpgrade(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -#endif /* __CLI_DSSETUP__ */ diff --git a/librpc/gen_ndr/cli_echo.c b/librpc/gen_ndr/cli_echo.c deleted file mode 100644 index 04d4bbc46e7..00000000000 --- a/librpc/gen_ndr/cli_echo.c +++ /dev/null @@ -1,1373 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_echo.h" - -struct rpccli_echo_AddOne_state { - struct echo_AddOne orig; - struct echo_AddOne tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_AddOne_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_AddOne_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _in_data /* [in] */, - uint32_t *_out_data /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_echo_AddOne_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_AddOne_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.in_data = _in_data; - - /* Out parameters */ - state->orig.out.out_data = _out_data; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_AddOne_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_rpcecho, - NDR_ECHO_ADDONE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_AddOne_done, req); - return req; -} - -static void rpccli_echo_AddOne_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_AddOne_state *state = tevent_req_data( - req, struct rpccli_echo_AddOne_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.out_data = *state->tmp.out.out_data; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_AddOne_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_AddOne_state *state = tevent_req_data( - req, struct rpccli_echo_AddOne_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_AddOne(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t in_data /* [in] */, - uint32_t *out_data /* [out] [ref] */) -{ - struct echo_AddOne r; - NTSTATUS status; - - /* In parameters */ - r.in.in_data = in_data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_ADDONE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *out_data = *r.out.out_data; - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_EchoData_state { - struct echo_EchoData orig; - struct echo_EchoData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_EchoData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_EchoData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _len /* [in] */, - uint8_t *_in_data /* [in] [size_is(len)] */, - uint8_t *_out_data /* [out] [size_is(len)] */) -{ - struct tevent_req *req; - struct rpccli_echo_EchoData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_EchoData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.len = _len; - state->orig.in.in_data = _in_data; - - /* Out parameters */ - state->orig.out.out_data = _out_data; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_EchoData_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_rpcecho, - NDR_ECHO_ECHODATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_EchoData_done, req); - return req; -} - -static void rpccli_echo_EchoData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_EchoData_state *state = tevent_req_data( - req, struct rpccli_echo_EchoData_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.out_data, state->tmp.out.out_data, (state->tmp.in.len) * sizeof(*state->orig.out.out_data)); - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_EchoData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_EchoData_state *state = tevent_req_data( - req, struct rpccli_echo_EchoData_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_EchoData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t len /* [in] */, - uint8_t *in_data /* [in] [size_is(len)] */, - uint8_t *out_data /* [out] [size_is(len)] */) -{ - struct echo_EchoData r; - NTSTATUS status; - - /* In parameters */ - r.in.len = len; - r.in.in_data = in_data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_ECHODATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(out_data, r.out.out_data, (r.in.len) * sizeof(*out_data)); - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_SinkData_state { - struct echo_SinkData orig; - struct echo_SinkData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_SinkData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_SinkData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _len /* [in] */, - uint8_t *_data /* [in] [size_is(len)] */) -{ - struct tevent_req *req; - struct rpccli_echo_SinkData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_SinkData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.len = _len; - state->orig.in.data = _data; - - /* Out parameters */ - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_rpcecho, - NDR_ECHO_SINKDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_SinkData_done, req); - return req; -} - -static void rpccli_echo_SinkData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_SinkData_state *state = tevent_req_data( - req, struct rpccli_echo_SinkData_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 */ - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_SinkData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_SinkData_state *state = tevent_req_data( - req, struct rpccli_echo_SinkData_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_SinkData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t len /* [in] */, - uint8_t *data /* [in] [size_is(len)] */) -{ - struct echo_SinkData r; - NTSTATUS status; - - /* In parameters */ - r.in.len = len; - r.in.data = data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_SINKDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_SourceData_state { - struct echo_SourceData orig; - struct echo_SourceData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_SourceData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_SourceData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _len /* [in] */, - uint8_t *_data /* [out] [size_is(len)] */) -{ - struct tevent_req *req; - struct rpccli_echo_SourceData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_SourceData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.len = _len; - - /* Out parameters */ - state->orig.out.data = _data; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_SourceData_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_rpcecho, - NDR_ECHO_SOURCEDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_SourceData_done, req); - return req; -} - -static void rpccli_echo_SourceData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_SourceData_state *state = tevent_req_data( - req, struct rpccli_echo_SourceData_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.len) * sizeof(*state->orig.out.data)); - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_SourceData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_SourceData_state *state = tevent_req_data( - req, struct rpccli_echo_SourceData_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_SourceData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t len /* [in] */, - uint8_t *data /* [out] [size_is(len)] */) -{ - struct echo_SourceData r; - NTSTATUS status; - - /* In parameters */ - r.in.len = len; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_SOURCEDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(data, r.out.data, (r.in.len) * sizeof(*data)); - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_TestCall_state { - struct echo_TestCall orig; - struct echo_TestCall tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_TestCall_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_TestCall_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_s1 /* [in] [ref,charset(UTF16)] */, - const char **_s2 /* [out] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_echo_TestCall_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_TestCall_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.s1 = _s1; - - /* Out parameters */ - state->orig.out.s2 = _s2; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_TestCall_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_rpcecho, - NDR_ECHO_TESTCALL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_TestCall_done, req); - return req; -} - -static void rpccli_echo_TestCall_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_TestCall_state *state = tevent_req_data( - req, struct rpccli_echo_TestCall_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.s2 = *state->tmp.out.s2; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_TestCall_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_TestCall_state *state = tevent_req_data( - req, struct rpccli_echo_TestCall_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_TestCall(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *s1 /* [in] [ref,charset(UTF16)] */, - const char **s2 /* [out] [ref,charset(UTF16)] */) -{ - struct echo_TestCall r; - NTSTATUS status; - - /* In parameters */ - r.in.s1 = s1; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_TESTCALL, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *s2 = *r.out.s2; - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_TestCall2_state { - struct echo_TestCall2 orig; - struct echo_TestCall2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_TestCall2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_TestCall2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t _level /* [in] */, - union echo_Info *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_echo_TestCall2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_TestCall2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_TestCall2_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_rpcecho, - NDR_ECHO_TESTCALL2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_TestCall2_done, req); - return req; -} - -static void rpccli_echo_TestCall2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_TestCall2_state *state = tevent_req_data( - req, struct rpccli_echo_TestCall2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_TestCall2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_echo_TestCall2_state *state = tevent_req_data( - req, struct rpccli_echo_TestCall2_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_echo_TestCall2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t level /* [in] */, - union echo_Info *info /* [out] [ref,switch_is(level)] */) -{ - struct echo_TestCall2 r; - NTSTATUS status; - - /* In parameters */ - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_TESTCALL2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_echo_TestSleep_state { - struct echo_TestSleep orig; - struct echo_TestSleep tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_TestSleep_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_TestSleep_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _seconds /* [in] */) -{ - struct tevent_req *req; - struct rpccli_echo_TestSleep_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_TestSleep_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.seconds = _seconds; - - /* 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_rpcecho, - NDR_ECHO_TESTSLEEP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_TestSleep_done, req); - return req; -} - -static void rpccli_echo_TestSleep_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_TestSleep_state *state = tevent_req_data( - req, struct rpccli_echo_TestSleep_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_echo_TestSleep_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_echo_TestSleep_state *state = tevent_req_data( - req, struct rpccli_echo_TestSleep_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_echo_TestSleep(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t seconds /* [in] */) -{ - struct echo_TestSleep r; - NTSTATUS status; - - /* In parameters */ - r.in.seconds = seconds; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_TESTSLEEP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_TestEnum_state { - struct echo_TestEnum orig; - struct echo_TestEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_TestEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_TestEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum echo_Enum1 *_foo1 /* [in,out] [ref] */, - struct echo_Enum2 *_foo2 /* [in,out] [ref] */, - union echo_Enum3 *_foo3 /* [in,out] [ref,switch_is(*foo1)] */) -{ - struct tevent_req *req; - struct rpccli_echo_TestEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_TestEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.foo1 = _foo1; - state->orig.in.foo2 = _foo2; - state->orig.in.foo3 = _foo3; - - /* Out parameters */ - state->orig.out.foo1 = _foo1; - state->orig.out.foo2 = _foo2; - state->orig.out.foo3 = _foo3; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_TestEnum_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_rpcecho, - NDR_ECHO_TESTENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_TestEnum_done, req); - return req; -} - -static void rpccli_echo_TestEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_TestEnum_state *state = tevent_req_data( - req, struct rpccli_echo_TestEnum_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.foo1 = *state->tmp.out.foo1; - *state->orig.out.foo2 = *state->tmp.out.foo2; - *state->orig.out.foo3 = *state->tmp.out.foo3; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_TestEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_TestEnum_state *state = tevent_req_data( - req, struct rpccli_echo_TestEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_TestEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum echo_Enum1 *foo1 /* [in,out] [ref] */, - struct echo_Enum2 *foo2 /* [in,out] [ref] */, - union echo_Enum3 *foo3 /* [in,out] [ref,switch_is(*foo1)] */) -{ - struct echo_TestEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.foo1 = foo1; - r.in.foo2 = foo2; - r.in.foo3 = foo3; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_TESTENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *foo1 = *r.out.foo1; - *foo2 = *r.out.foo2; - *foo3 = *r.out.foo3; - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_TestSurrounding_state { - struct echo_TestSurrounding orig; - struct echo_TestSurrounding tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_TestSurrounding_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_TestSurrounding_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct echo_Surrounding *_data /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_echo_TestSurrounding_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_TestSurrounding_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.data = _data; - - /* Out parameters */ - state->orig.out.data = _data; - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_echo_TestSurrounding_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_rpcecho, - NDR_ECHO_TESTSURROUNDING, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_TestSurrounding_done, req); - return req; -} - -static void rpccli_echo_TestSurrounding_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_TestSurrounding_state *state = tevent_req_data( - req, struct rpccli_echo_TestSurrounding_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.data = *state->tmp.out.data; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_echo_TestSurrounding_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx) -{ - struct rpccli_echo_TestSurrounding_state *state = tevent_req_data( - req, struct rpccli_echo_TestSurrounding_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_echo_TestSurrounding(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct echo_Surrounding *data /* [in,out] [ref] */) -{ - struct echo_TestSurrounding r; - NTSTATUS status; - - /* In parameters */ - r.in.data = data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_TESTSURROUNDING, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *data = *r.out.data; - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_echo_TestDoublePointer_state { - struct echo_TestDoublePointer orig; - struct echo_TestDoublePointer tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_echo_TestDoublePointer_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_echo_TestDoublePointer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t ***_data /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_echo_TestDoublePointer_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_echo_TestDoublePointer_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.data = _data; - - /* 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_rpcecho, - NDR_ECHO_TESTDOUBLEPOINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_echo_TestDoublePointer_done, req); - return req; -} - -static void rpccli_echo_TestDoublePointer_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_echo_TestDoublePointer_state *state = tevent_req_data( - req, struct rpccli_echo_TestDoublePointer_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_echo_TestDoublePointer_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint16 *result) -{ - struct rpccli_echo_TestDoublePointer_state *state = tevent_req_data( - req, struct rpccli_echo_TestDoublePointer_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_echo_TestDoublePointer(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t ***data /* [in] [ref] */) -{ - struct echo_TestDoublePointer r; - NTSTATUS status; - - /* In parameters */ - r.in.data = data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_rpcecho, - NDR_ECHO_TESTDOUBLEPOINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - diff --git a/librpc/gen_ndr/cli_echo.h b/librpc/gen_ndr/cli_echo.h deleted file mode 100644 index e3a4a163081..00000000000 --- a/librpc/gen_ndr/cli_echo.h +++ /dev/null @@ -1,115 +0,0 @@ -#include "../librpc/gen_ndr/ndr_echo.h" -#ifndef __CLI_RPCECHO__ -#define __CLI_RPCECHO__ -struct tevent_req *rpccli_echo_AddOne_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _in_data /* [in] */, - uint32_t *_out_data /* [out] [ref] */); -NTSTATUS rpccli_echo_AddOne_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_AddOne(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t in_data /* [in] */, - uint32_t *out_data /* [out] [ref] */); -struct tevent_req *rpccli_echo_EchoData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _len /* [in] */, - uint8_t *_in_data /* [in] [size_is(len)] */, - uint8_t *_out_data /* [out] [size_is(len)] */); -NTSTATUS rpccli_echo_EchoData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_EchoData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t len /* [in] */, - uint8_t *in_data /* [in] [size_is(len)] */, - uint8_t *out_data /* [out] [size_is(len)] */); -struct tevent_req *rpccli_echo_SinkData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _len /* [in] */, - uint8_t *_data /* [in] [size_is(len)] */); -NTSTATUS rpccli_echo_SinkData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_SinkData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t len /* [in] */, - uint8_t *data /* [in] [size_is(len)] */); -struct tevent_req *rpccli_echo_SourceData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _len /* [in] */, - uint8_t *_data /* [out] [size_is(len)] */); -NTSTATUS rpccli_echo_SourceData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_SourceData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t len /* [in] */, - uint8_t *data /* [out] [size_is(len)] */); -struct tevent_req *rpccli_echo_TestCall_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_s1 /* [in] [ref,charset(UTF16)] */, - const char **_s2 /* [out] [ref,charset(UTF16)] */); -NTSTATUS rpccli_echo_TestCall_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_TestCall(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *s1 /* [in] [ref,charset(UTF16)] */, - const char **s2 /* [out] [ref,charset(UTF16)] */); -struct tevent_req *rpccli_echo_TestCall2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t _level /* [in] */, - union echo_Info *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_echo_TestCall2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_echo_TestCall2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t level /* [in] */, - union echo_Info *info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_echo_TestSleep_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _seconds /* [in] */); -NTSTATUS rpccli_echo_TestSleep_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_echo_TestSleep(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t seconds /* [in] */); -struct tevent_req *rpccli_echo_TestEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum echo_Enum1 *_foo1 /* [in,out] [ref] */, - struct echo_Enum2 *_foo2 /* [in,out] [ref] */, - union echo_Enum3 *_foo3 /* [in,out] [ref,switch_is(*foo1)] */); -NTSTATUS rpccli_echo_TestEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_TestEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum echo_Enum1 *foo1 /* [in,out] [ref] */, - struct echo_Enum2 *foo2 /* [in,out] [ref] */, - union echo_Enum3 *foo3 /* [in,out] [ref,switch_is(*foo1)] */); -struct tevent_req *rpccli_echo_TestSurrounding_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct echo_Surrounding *_data /* [in,out] [ref] */); -NTSTATUS rpccli_echo_TestSurrounding_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx); -NTSTATUS rpccli_echo_TestSurrounding(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct echo_Surrounding *data /* [in,out] [ref] */); -struct tevent_req *rpccli_echo_TestDoublePointer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t ***_data /* [in] [ref] */); -NTSTATUS rpccli_echo_TestDoublePointer_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint16 *result); -NTSTATUS rpccli_echo_TestDoublePointer(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t ***data /* [in] [ref] */); -#endif /* __CLI_RPCECHO__ */ diff --git a/librpc/gen_ndr/cli_epmapper.c b/librpc/gen_ndr/cli_epmapper.c deleted file mode 100644 index c83dba6c86c..00000000000 --- a/librpc/gen_ndr/cli_epmapper.c +++ /dev/null @@ -1,1175 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_epmapper.h" - -struct rpccli_epm_Insert_state { - struct epm_Insert orig; - struct epm_Insert tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_Insert_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_Insert_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _num_ents /* [in] */, - struct epm_entry_t *_entries /* [in] [size_is(num_ents)] */, - uint32_t _replace /* [in] */) -{ - struct tevent_req *req; - struct rpccli_epm_Insert_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_Insert_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.num_ents = _num_ents; - state->orig.in.entries = _entries; - state->orig.in.replace = _replace; - - /* 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_epmapper, - NDR_EPM_INSERT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_Insert_done, req); - return req; -} - -static void rpccli_epm_Insert_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_Insert_state *state = tevent_req_data( - req, struct rpccli_epm_Insert_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_epm_Insert_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_Insert_state *state = tevent_req_data( - req, struct rpccli_epm_Insert_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_epm_Insert(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t num_ents /* [in] */, - struct epm_entry_t *entries /* [in] [size_is(num_ents)] */, - uint32_t replace /* [in] */) -{ - struct epm_Insert r; - NTSTATUS status; - - /* In parameters */ - r.in.num_ents = num_ents; - r.in.entries = entries; - r.in.replace = replace; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_INSERT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_Delete_state { - struct epm_Delete orig; - struct epm_Delete tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_Delete_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_Delete_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _num_ents /* [in] */, - struct epm_entry_t *_entries /* [in] [size_is(num_ents)] */) -{ - struct tevent_req *req; - struct rpccli_epm_Delete_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_Delete_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.num_ents = _num_ents; - state->orig.in.entries = _entries; - - /* 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_epmapper, - NDR_EPM_DELETE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_Delete_done, req); - return req; -} - -static void rpccli_epm_Delete_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_Delete_state *state = tevent_req_data( - req, struct rpccli_epm_Delete_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_epm_Delete_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_Delete_state *state = tevent_req_data( - req, struct rpccli_epm_Delete_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_epm_Delete(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t num_ents /* [in] */, - struct epm_entry_t *entries /* [in] [size_is(num_ents)] */) -{ - struct epm_Delete r; - NTSTATUS status; - - /* In parameters */ - r.in.num_ents = num_ents; - r.in.entries = entries; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_DELETE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_Lookup_state { - struct epm_Lookup orig; - struct epm_Lookup tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_Lookup_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_Lookup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _inquiry_type /* [in] */, - struct GUID *_object /* [in] [ptr] */, - struct rpc_if_id_t *_interface_id /* [in] [ptr] */, - uint32_t _vers_option /* [in] */, - struct policy_handle *_entry_handle /* [in,out] [ref] */, - uint32_t _max_ents /* [in] */, - uint32_t *_num_ents /* [out] [ref] */, - struct epm_entry_t *_entries /* [out] [length_is(*num_ents),size_is(max_ents)] */) -{ - struct tevent_req *req; - struct rpccli_epm_Lookup_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_Lookup_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.inquiry_type = _inquiry_type; - state->orig.in.object = _object; - state->orig.in.interface_id = _interface_id; - state->orig.in.vers_option = _vers_option; - state->orig.in.entry_handle = _entry_handle; - state->orig.in.max_ents = _max_ents; - - /* Out parameters */ - state->orig.out.entry_handle = _entry_handle; - state->orig.out.num_ents = _num_ents; - state->orig.out.entries = _entries; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_epm_Lookup_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_epmapper, - NDR_EPM_LOOKUP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_Lookup_done, req); - return req; -} - -static void rpccli_epm_Lookup_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_Lookup_state *state = tevent_req_data( - req, struct rpccli_epm_Lookup_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.entry_handle = *state->tmp.out.entry_handle; - *state->orig.out.num_ents = *state->tmp.out.num_ents; - memcpy(state->orig.out.entries, state->tmp.out.entries, (state->tmp.in.max_ents) * sizeof(*state->orig.out.entries)); - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_epm_Lookup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_Lookup_state *state = tevent_req_data( - req, struct rpccli_epm_Lookup_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_epm_Lookup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t inquiry_type /* [in] */, - struct GUID *object /* [in] [ptr] */, - struct rpc_if_id_t *interface_id /* [in] [ptr] */, - uint32_t vers_option /* [in] */, - struct policy_handle *entry_handle /* [in,out] [ref] */, - uint32_t max_ents /* [in] */, - uint32_t *num_ents /* [out] [ref] */, - struct epm_entry_t *entries /* [out] [length_is(*num_ents),size_is(max_ents)] */) -{ - struct epm_Lookup r; - NTSTATUS status; - - /* In parameters */ - r.in.inquiry_type = inquiry_type; - r.in.object = object; - r.in.interface_id = interface_id; - r.in.vers_option = vers_option; - r.in.entry_handle = entry_handle; - r.in.max_ents = max_ents; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_LOOKUP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *entry_handle = *r.out.entry_handle; - *num_ents = *r.out.num_ents; - memcpy(entries, r.out.entries, (r.in.max_ents) * sizeof(*entries)); - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_Map_state { - struct epm_Map orig; - struct epm_Map tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_Map_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_Map_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct GUID *_object /* [in] [ptr] */, - struct epm_twr_t *_map_tower /* [in] [ptr] */, - struct policy_handle *_entry_handle /* [in,out] [ref] */, - uint32_t _max_towers /* [in] */, - uint32_t *_num_towers /* [out] [ref] */, - struct epm_twr_p_t *_towers /* [out] [length_is(*num_towers),size_is(max_towers)] */) -{ - struct tevent_req *req; - struct rpccli_epm_Map_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_Map_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.object = _object; - state->orig.in.map_tower = _map_tower; - state->orig.in.entry_handle = _entry_handle; - state->orig.in.max_towers = _max_towers; - - /* Out parameters */ - state->orig.out.entry_handle = _entry_handle; - state->orig.out.num_towers = _num_towers; - state->orig.out.towers = _towers; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_epm_Map_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_epmapper, - NDR_EPM_MAP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_Map_done, req); - return req; -} - -static void rpccli_epm_Map_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_Map_state *state = tevent_req_data( - req, struct rpccli_epm_Map_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.entry_handle = *state->tmp.out.entry_handle; - *state->orig.out.num_towers = *state->tmp.out.num_towers; - memcpy(state->orig.out.towers, state->tmp.out.towers, (state->tmp.in.max_towers) * sizeof(*state->orig.out.towers)); - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_epm_Map_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_Map_state *state = tevent_req_data( - req, struct rpccli_epm_Map_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_epm_Map(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct GUID *object /* [in] [ptr] */, - struct epm_twr_t *map_tower /* [in] [ptr] */, - struct policy_handle *entry_handle /* [in,out] [ref] */, - uint32_t max_towers /* [in] */, - uint32_t *num_towers /* [out] [ref] */, - struct epm_twr_p_t *towers /* [out] [length_is(*num_towers),size_is(max_towers)] */) -{ - struct epm_Map r; - NTSTATUS status; - - /* In parameters */ - r.in.object = object; - r.in.map_tower = map_tower; - r.in.entry_handle = entry_handle; - r.in.max_towers = max_towers; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_MAP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *entry_handle = *r.out.entry_handle; - *num_towers = *r.out.num_towers; - memcpy(towers, r.out.towers, (r.in.max_towers) * sizeof(*towers)); - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_LookupHandleFree_state { - struct epm_LookupHandleFree orig; - struct epm_LookupHandleFree tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_LookupHandleFree_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_LookupHandleFree_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_entry_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_epm_LookupHandleFree_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_LookupHandleFree_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.entry_handle = _entry_handle; - - /* Out parameters */ - state->orig.out.entry_handle = _entry_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_epm_LookupHandleFree_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_epmapper, - NDR_EPM_LOOKUPHANDLEFREE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_LookupHandleFree_done, req); - return req; -} - -static void rpccli_epm_LookupHandleFree_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_LookupHandleFree_state *state = tevent_req_data( - req, struct rpccli_epm_LookupHandleFree_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.entry_handle = *state->tmp.out.entry_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_epm_LookupHandleFree_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_LookupHandleFree_state *state = tevent_req_data( - req, struct rpccli_epm_LookupHandleFree_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_epm_LookupHandleFree(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *entry_handle /* [in,out] [ref] */) -{ - struct epm_LookupHandleFree r; - NTSTATUS status; - - /* In parameters */ - r.in.entry_handle = entry_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_LOOKUPHANDLEFREE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *entry_handle = *r.out.entry_handle; - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_InqObject_state { - struct epm_InqObject orig; - struct epm_InqObject tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_InqObject_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_InqObject_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct GUID *_epm_object /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_epm_InqObject_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_InqObject_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.epm_object = _epm_object; - - /* 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_epmapper, - NDR_EPM_INQOBJECT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_InqObject_done, req); - return req; -} - -static void rpccli_epm_InqObject_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_InqObject_state *state = tevent_req_data( - req, struct rpccli_epm_InqObject_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_epm_InqObject_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_InqObject_state *state = tevent_req_data( - req, struct rpccli_epm_InqObject_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_epm_InqObject(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct GUID *epm_object /* [in] [ref] */) -{ - struct epm_InqObject r; - NTSTATUS status; - - /* In parameters */ - r.in.epm_object = epm_object; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_INQOBJECT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_MgmtDelete_state { - struct epm_MgmtDelete orig; - struct epm_MgmtDelete tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_MgmtDelete_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_MgmtDelete_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _object_speced /* [in] */, - struct GUID *_object /* [in] [ptr] */, - struct epm_twr_t *_tower /* [in] [ptr] */) -{ - struct tevent_req *req; - struct rpccli_epm_MgmtDelete_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_MgmtDelete_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.object_speced = _object_speced; - state->orig.in.object = _object; - state->orig.in.tower = _tower; - - /* 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_epmapper, - NDR_EPM_MGMTDELETE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_MgmtDelete_done, req); - return req; -} - -static void rpccli_epm_MgmtDelete_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_MgmtDelete_state *state = tevent_req_data( - req, struct rpccli_epm_MgmtDelete_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_epm_MgmtDelete_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_MgmtDelete_state *state = tevent_req_data( - req, struct rpccli_epm_MgmtDelete_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_epm_MgmtDelete(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t object_speced /* [in] */, - struct GUID *object /* [in] [ptr] */, - struct epm_twr_t *tower /* [in] [ptr] */) -{ - struct epm_MgmtDelete r; - NTSTATUS status; - - /* In parameters */ - r.in.object_speced = object_speced; - r.in.object = object; - r.in.tower = tower; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_MGMTDELETE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - -struct rpccli_epm_MapAuth_state { - struct epm_MapAuth orig; - struct epm_MapAuth tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_epm_MapAuth_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_epm_MapAuth_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_epm_MapAuth_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_epm_MapAuth_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_epmapper, - NDR_EPM_MAPAUTH, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_epm_MapAuth_done, req); - return req; -} - -static void rpccli_epm_MapAuth_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_epm_MapAuth_state *state = tevent_req_data( - req, struct rpccli_epm_MapAuth_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_epm_MapAuth_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result) -{ - struct rpccli_epm_MapAuth_state *state = tevent_req_data( - req, struct rpccli_epm_MapAuth_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_epm_MapAuth(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct epm_MapAuth r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_epmapper, - NDR_EPM_MAPAUTH, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return NT_STATUS_OK; -} - diff --git a/librpc/gen_ndr/cli_epmapper.h b/librpc/gen_ndr/cli_epmapper.h deleted file mode 100644 index 285a9d9833e..00000000000 --- a/librpc/gen_ndr/cli_epmapper.h +++ /dev/null @@ -1,116 +0,0 @@ -#include "../librpc/gen_ndr/ndr_epmapper.h" -#ifndef __CLI_EPMAPPER__ -#define __CLI_EPMAPPER__ -struct tevent_req *rpccli_epm_Insert_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _num_ents /* [in] */, - struct epm_entry_t *_entries /* [in] [size_is(num_ents)] */, - uint32_t _replace /* [in] */); -NTSTATUS rpccli_epm_Insert_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_Insert(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t num_ents /* [in] */, - struct epm_entry_t *entries /* [in] [size_is(num_ents)] */, - uint32_t replace /* [in] */); -struct tevent_req *rpccli_epm_Delete_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _num_ents /* [in] */, - struct epm_entry_t *_entries /* [in] [size_is(num_ents)] */); -NTSTATUS rpccli_epm_Delete_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_Delete(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t num_ents /* [in] */, - struct epm_entry_t *entries /* [in] [size_is(num_ents)] */); -struct tevent_req *rpccli_epm_Lookup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _inquiry_type /* [in] */, - struct GUID *_object /* [in] [ptr] */, - struct rpc_if_id_t *_interface_id /* [in] [ptr] */, - uint32_t _vers_option /* [in] */, - struct policy_handle *_entry_handle /* [in,out] [ref] */, - uint32_t _max_ents /* [in] */, - uint32_t *_num_ents /* [out] [ref] */, - struct epm_entry_t *_entries /* [out] [length_is(*num_ents),size_is(max_ents)] */); -NTSTATUS rpccli_epm_Lookup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_Lookup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t inquiry_type /* [in] */, - struct GUID *object /* [in] [ptr] */, - struct rpc_if_id_t *interface_id /* [in] [ptr] */, - uint32_t vers_option /* [in] */, - struct policy_handle *entry_handle /* [in,out] [ref] */, - uint32_t max_ents /* [in] */, - uint32_t *num_ents /* [out] [ref] */, - struct epm_entry_t *entries /* [out] [length_is(*num_ents),size_is(max_ents)] */); -struct tevent_req *rpccli_epm_Map_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct GUID *_object /* [in] [ptr] */, - struct epm_twr_t *_map_tower /* [in] [ptr] */, - struct policy_handle *_entry_handle /* [in,out] [ref] */, - uint32_t _max_towers /* [in] */, - uint32_t *_num_towers /* [out] [ref] */, - struct epm_twr_p_t *_towers /* [out] [length_is(*num_towers),size_is(max_towers)] */); -NTSTATUS rpccli_epm_Map_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_Map(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct GUID *object /* [in] [ptr] */, - struct epm_twr_t *map_tower /* [in] [ptr] */, - struct policy_handle *entry_handle /* [in,out] [ref] */, - uint32_t max_towers /* [in] */, - uint32_t *num_towers /* [out] [ref] */, - struct epm_twr_p_t *towers /* [out] [length_is(*num_towers),size_is(max_towers)] */); -struct tevent_req *rpccli_epm_LookupHandleFree_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_entry_handle /* [in,out] [ref] */); -NTSTATUS rpccli_epm_LookupHandleFree_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_LookupHandleFree(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *entry_handle /* [in,out] [ref] */); -struct tevent_req *rpccli_epm_InqObject_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct GUID *_epm_object /* [in] [ref] */); -NTSTATUS rpccli_epm_InqObject_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_InqObject(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct GUID *epm_object /* [in] [ref] */); -struct tevent_req *rpccli_epm_MgmtDelete_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _object_speced /* [in] */, - struct GUID *_object /* [in] [ptr] */, - struct epm_twr_t *_tower /* [in] [ptr] */); -NTSTATUS rpccli_epm_MgmtDelete_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_MgmtDelete(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t object_speced /* [in] */, - struct GUID *object /* [in] [ptr] */, - struct epm_twr_t *tower /* [in] [ptr] */); -struct tevent_req *rpccli_epm_MapAuth_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_epm_MapAuth_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - uint32 *result); -NTSTATUS rpccli_epm_MapAuth(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -#endif /* __CLI_EPMAPPER__ */ diff --git a/librpc/gen_ndr/cli_eventlog.c b/librpc/gen_ndr/cli_eventlog.c deleted file mode 100644 index f5a86ca11a8..00000000000 --- a/librpc/gen_ndr/cli_eventlog.c +++ /dev/null @@ -1,3644 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_eventlog.h" - -struct rpccli_eventlog_ClearEventLogW_state { - struct eventlog_ClearEventLogW orig; - struct eventlog_ClearEventLogW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ClearEventLogW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ClearEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_backupfile /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_ClearEventLogW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ClearEventLogW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.backupfile = _backupfile; - - /* 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_eventlog, - NDR_EVENTLOG_CLEAREVENTLOGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ClearEventLogW_done, req); - return req; -} - -static void rpccli_eventlog_ClearEventLogW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ClearEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ClearEventLogW_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_eventlog_ClearEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ClearEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ClearEventLogW_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_eventlog_ClearEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *backupfile /* [in] [unique] */) -{ - struct eventlog_ClearEventLogW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.backupfile = backupfile; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_CLEAREVENTLOGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_BackupEventLogW_state { - struct eventlog_BackupEventLogW orig; - struct eventlog_BackupEventLogW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_BackupEventLogW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_BackupEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_backup_filename /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_BackupEventLogW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_BackupEventLogW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.backup_filename = _backup_filename; - - /* 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_eventlog, - NDR_EVENTLOG_BACKUPEVENTLOGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_BackupEventLogW_done, req); - return req; -} - -static void rpccli_eventlog_BackupEventLogW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_BackupEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_BackupEventLogW_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_eventlog_BackupEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_BackupEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_BackupEventLogW_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_eventlog_BackupEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *backup_filename /* [in] [ref] */) -{ - struct eventlog_BackupEventLogW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.backup_filename = backup_filename; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_BACKUPEVENTLOGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_CloseEventLog_state { - struct eventlog_CloseEventLog orig; - struct eventlog_CloseEventLog tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_CloseEventLog_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_CloseEventLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_CloseEventLog_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_CloseEventLog_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_CloseEventLog_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_eventlog, - NDR_EVENTLOG_CLOSEEVENTLOG, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_CloseEventLog_done, req); - return req; -} - -static void rpccli_eventlog_CloseEventLog_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_CloseEventLog_state *state = tevent_req_data( - req, struct rpccli_eventlog_CloseEventLog_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_CloseEventLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_CloseEventLog_state *state = tevent_req_data( - req, struct rpccli_eventlog_CloseEventLog_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_eventlog_CloseEventLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */) -{ - struct eventlog_CloseEventLog r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_CLOSEEVENTLOG, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_DeregisterEventSource_state { - struct eventlog_DeregisterEventSource orig; - struct eventlog_DeregisterEventSource tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_DeregisterEventSource_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_DeregisterEventSource_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_DeregisterEventSource_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_DeregisterEventSource_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_DeregisterEventSource_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_eventlog, - NDR_EVENTLOG_DEREGISTEREVENTSOURCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_DeregisterEventSource_done, req); - return req; -} - -static void rpccli_eventlog_DeregisterEventSource_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_DeregisterEventSource_state *state = tevent_req_data( - req, struct rpccli_eventlog_DeregisterEventSource_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_DeregisterEventSource_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_DeregisterEventSource_state *state = tevent_req_data( - req, struct rpccli_eventlog_DeregisterEventSource_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_eventlog_DeregisterEventSource(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */) -{ - struct eventlog_DeregisterEventSource r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_DEREGISTEREVENTSOURCE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_GetNumRecords_state { - struct eventlog_GetNumRecords orig; - struct eventlog_GetNumRecords tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_GetNumRecords_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_GetNumRecords_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_number /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_GetNumRecords_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_GetNumRecords_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.number = _number; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_GetNumRecords_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_eventlog, - NDR_EVENTLOG_GETNUMRECORDS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_GetNumRecords_done, req); - return req; -} - -static void rpccli_eventlog_GetNumRecords_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_GetNumRecords_state *state = tevent_req_data( - req, struct rpccli_eventlog_GetNumRecords_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.number = *state->tmp.out.number; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_GetNumRecords_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_GetNumRecords_state *state = tevent_req_data( - req, struct rpccli_eventlog_GetNumRecords_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_eventlog_GetNumRecords(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *number /* [out] [ref] */) -{ - struct eventlog_GetNumRecords r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_GETNUMRECORDS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *number = *r.out.number; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_GetOldestRecord_state { - struct eventlog_GetOldestRecord orig; - struct eventlog_GetOldestRecord tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_GetOldestRecord_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_GetOldestRecord_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_oldest_entry /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_GetOldestRecord_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_GetOldestRecord_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.oldest_entry = _oldest_entry; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_GetOldestRecord_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_eventlog, - NDR_EVENTLOG_GETOLDESTRECORD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_GetOldestRecord_done, req); - return req; -} - -static void rpccli_eventlog_GetOldestRecord_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_GetOldestRecord_state *state = tevent_req_data( - req, struct rpccli_eventlog_GetOldestRecord_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.oldest_entry = *state->tmp.out.oldest_entry; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_GetOldestRecord_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_GetOldestRecord_state *state = tevent_req_data( - req, struct rpccli_eventlog_GetOldestRecord_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_eventlog_GetOldestRecord(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *oldest_entry /* [out] [ref] */) -{ - struct eventlog_GetOldestRecord r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_GETOLDESTRECORD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *oldest_entry = *r.out.oldest_entry; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ChangeNotify_state { - struct eventlog_ChangeNotify orig; - struct eventlog_ChangeNotify tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ChangeNotify_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ChangeNotify_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_ChangeNotify_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ChangeNotify_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_eventlog, - NDR_EVENTLOG_CHANGENOTIFY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ChangeNotify_done, req); - return req; -} - -static void rpccli_eventlog_ChangeNotify_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ChangeNotify_state *state = tevent_req_data( - req, struct rpccli_eventlog_ChangeNotify_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_eventlog_ChangeNotify_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ChangeNotify_state *state = tevent_req_data( - req, struct rpccli_eventlog_ChangeNotify_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_eventlog_ChangeNotify(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_ChangeNotify r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_CHANGENOTIFY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_OpenEventLogW_state { - struct eventlog_OpenEventLogW orig; - struct eventlog_OpenEventLogW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_OpenEventLogW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_OpenEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct eventlog_OpenUnknown0 *_unknown0 /* [in] [unique] */, - struct lsa_String *_logname /* [in] [ref] */, - struct lsa_String *_servername /* [in] [ref] */, - uint32_t _major_version /* [in] */, - uint32_t _minor_version /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_OpenEventLogW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_OpenEventLogW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.unknown0 = _unknown0; - state->orig.in.logname = _logname; - state->orig.in.servername = _servername; - state->orig.in.major_version = _major_version; - state->orig.in.minor_version = _minor_version; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_OpenEventLogW_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_eventlog, - NDR_EVENTLOG_OPENEVENTLOGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_OpenEventLogW_done, req); - return req; -} - -static void rpccli_eventlog_OpenEventLogW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_OpenEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenEventLogW_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_OpenEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_OpenEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenEventLogW_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_eventlog_OpenEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */, - struct lsa_String *logname /* [in] [ref] */, - struct lsa_String *servername /* [in] [ref] */, - uint32_t major_version /* [in] */, - uint32_t minor_version /* [in] */, - struct policy_handle *handle /* [out] [ref] */) -{ - struct eventlog_OpenEventLogW r; - NTSTATUS status; - - /* In parameters */ - r.in.unknown0 = unknown0; - r.in.logname = logname; - r.in.servername = servername; - r.in.major_version = major_version; - r.in.minor_version = minor_version; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_OPENEVENTLOGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_RegisterEventSourceW_state { - struct eventlog_RegisterEventSourceW orig; - struct eventlog_RegisterEventSourceW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_RegisterEventSourceW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_RegisterEventSourceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct eventlog_OpenUnknown0 *_unknown0 /* [in] [unique] */, - struct lsa_String *_module_name /* [in] [ref] */, - struct lsa_String *_reg_module_name /* [in] [ref] */, - uint32_t _major_version /* [in] */, - uint32_t _minor_version /* [in] */, - struct policy_handle *_log_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_RegisterEventSourceW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_RegisterEventSourceW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.unknown0 = _unknown0; - state->orig.in.module_name = _module_name; - state->orig.in.reg_module_name = _reg_module_name; - state->orig.in.major_version = _major_version; - state->orig.in.minor_version = _minor_version; - - /* Out parameters */ - state->orig.out.log_handle = _log_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_RegisterEventSourceW_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_eventlog, - NDR_EVENTLOG_REGISTEREVENTSOURCEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_RegisterEventSourceW_done, req); - return req; -} - -static void rpccli_eventlog_RegisterEventSourceW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_RegisterEventSourceW_state *state = tevent_req_data( - req, struct rpccli_eventlog_RegisterEventSourceW_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.log_handle = *state->tmp.out.log_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_RegisterEventSourceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_RegisterEventSourceW_state *state = tevent_req_data( - req, struct rpccli_eventlog_RegisterEventSourceW_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_eventlog_RegisterEventSourceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */, - struct lsa_String *module_name /* [in] [ref] */, - struct lsa_String *reg_module_name /* [in] [ref] */, - uint32_t major_version /* [in] */, - uint32_t minor_version /* [in] */, - struct policy_handle *log_handle /* [out] [ref] */) -{ - struct eventlog_RegisterEventSourceW r; - NTSTATUS status; - - /* In parameters */ - r.in.unknown0 = unknown0; - r.in.module_name = module_name; - r.in.reg_module_name = reg_module_name; - r.in.major_version = major_version; - r.in.minor_version = minor_version; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_REGISTEREVENTSOURCEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *log_handle = *r.out.log_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_OpenBackupEventLogW_state { - struct eventlog_OpenBackupEventLogW orig; - struct eventlog_OpenBackupEventLogW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_OpenBackupEventLogW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_OpenBackupEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct eventlog_OpenUnknown0 *_unknown0 /* [in] [unique] */, - struct lsa_String *_backup_logname /* [in] [ref] */, - uint32_t _major_version /* [in] */, - uint32_t _minor_version /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_OpenBackupEventLogW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_OpenBackupEventLogW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.unknown0 = _unknown0; - state->orig.in.backup_logname = _backup_logname; - state->orig.in.major_version = _major_version; - state->orig.in.minor_version = _minor_version; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_OpenBackupEventLogW_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_eventlog, - NDR_EVENTLOG_OPENBACKUPEVENTLOGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_OpenBackupEventLogW_done, req); - return req; -} - -static void rpccli_eventlog_OpenBackupEventLogW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_OpenBackupEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenBackupEventLogW_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_OpenBackupEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_OpenBackupEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenBackupEventLogW_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_eventlog_OpenBackupEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */, - struct lsa_String *backup_logname /* [in] [ref] */, - uint32_t major_version /* [in] */, - uint32_t minor_version /* [in] */, - struct policy_handle *handle /* [out] [ref] */) -{ - struct eventlog_OpenBackupEventLogW r; - NTSTATUS status; - - /* In parameters */ - r.in.unknown0 = unknown0; - r.in.backup_logname = backup_logname; - r.in.major_version = major_version; - r.in.minor_version = minor_version; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_OPENBACKUPEVENTLOGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ReadEventLogW_state { - struct eventlog_ReadEventLogW orig; - struct eventlog_ReadEventLogW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ReadEventLogW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ReadEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _flags /* [in] */, - uint32_t _offset /* [in] */, - uint32_t _number_of_bytes /* [in] [range(0,0x7FFFF)] */, - uint8_t *_data /* [out] [ref,size_is(number_of_bytes)] */, - uint32_t *_sent_size /* [out] [ref] */, - uint32_t *_real_size /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_ReadEventLogW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ReadEventLogW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.flags = _flags; - state->orig.in.offset = _offset; - state->orig.in.number_of_bytes = _number_of_bytes; - - /* Out parameters */ - state->orig.out.data = _data; - state->orig.out.sent_size = _sent_size; - state->orig.out.real_size = _real_size; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_ReadEventLogW_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_eventlog, - NDR_EVENTLOG_READEVENTLOGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ReadEventLogW_done, req); - return req; -} - -static void rpccli_eventlog_ReadEventLogW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ReadEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReadEventLogW_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.number_of_bytes) * sizeof(*state->orig.out.data)); - *state->orig.out.sent_size = *state->tmp.out.sent_size; - *state->orig.out.real_size = *state->tmp.out.real_size; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_ReadEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ReadEventLogW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReadEventLogW_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_eventlog_ReadEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t flags /* [in] */, - uint32_t offset /* [in] */, - uint32_t number_of_bytes /* [in] [range(0,0x7FFFF)] */, - uint8_t *data /* [out] [ref,size_is(number_of_bytes)] */, - uint32_t *sent_size /* [out] [ref] */, - uint32_t *real_size /* [out] [ref] */) -{ - struct eventlog_ReadEventLogW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.flags = flags; - r.in.offset = offset; - r.in.number_of_bytes = number_of_bytes; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_READEVENTLOGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(data, r.out.data, (r.in.number_of_bytes) * sizeof(*data)); - *sent_size = *r.out.sent_size; - *real_size = *r.out.real_size; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ReportEventW_state { - struct eventlog_ReportEventW orig; - struct eventlog_ReportEventW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ReportEventW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ReportEventW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - time_t _timestamp /* [in] */, - enum eventlogEventTypes _event_type /* [in] */, - uint16_t _event_category /* [in] */, - uint32_t _event_id /* [in] */, - uint16_t _num_of_strings /* [in] [range(0,256)] */, - uint32_t _data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *_servername /* [in] [ref] */, - struct dom_sid *_user_sid /* [in] [unique] */, - struct lsa_String **_strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *_data /* [in] [unique,size_is(data_size)] */, - uint16_t _flags /* [in] */, - uint32_t *_record_number /* [in,out] [unique] */, - time_t *_time_written /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_ReportEventW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ReportEventW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.timestamp = _timestamp; - state->orig.in.event_type = _event_type; - state->orig.in.event_category = _event_category; - state->orig.in.event_id = _event_id; - state->orig.in.num_of_strings = _num_of_strings; - state->orig.in.data_size = _data_size; - state->orig.in.servername = _servername; - state->orig.in.user_sid = _user_sid; - state->orig.in.strings = _strings; - state->orig.in.data = _data; - state->orig.in.flags = _flags; - state->orig.in.record_number = _record_number; - state->orig.in.time_written = _time_written; - - /* Out parameters */ - state->orig.out.record_number = _record_number; - state->orig.out.time_written = _time_written; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_ReportEventW_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_eventlog, - NDR_EVENTLOG_REPORTEVENTW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ReportEventW_done, req); - return req; -} - -static void rpccli_eventlog_ReportEventW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ReportEventW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReportEventW_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.record_number && state->tmp.out.record_number) { - *state->orig.out.record_number = *state->tmp.out.record_number; - } - if (state->orig.out.time_written && state->tmp.out.time_written) { - *state->orig.out.time_written = *state->tmp.out.time_written; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_ReportEventW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ReportEventW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReportEventW_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_eventlog_ReportEventW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - time_t timestamp /* [in] */, - enum eventlogEventTypes event_type /* [in] */, - uint16_t event_category /* [in] */, - uint32_t event_id /* [in] */, - uint16_t num_of_strings /* [in] [range(0,256)] */, - uint32_t data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *servername /* [in] [ref] */, - struct dom_sid *user_sid /* [in] [unique] */, - struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *data /* [in] [unique,size_is(data_size)] */, - uint16_t flags /* [in] */, - uint32_t *record_number /* [in,out] [unique] */, - time_t *time_written /* [in,out] [unique] */) -{ - struct eventlog_ReportEventW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.timestamp = timestamp; - r.in.event_type = event_type; - r.in.event_category = event_category; - r.in.event_id = event_id; - r.in.num_of_strings = num_of_strings; - r.in.data_size = data_size; - r.in.servername = servername; - r.in.user_sid = user_sid; - r.in.strings = strings; - r.in.data = data; - r.in.flags = flags; - r.in.record_number = record_number; - r.in.time_written = time_written; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_REPORTEVENTW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (record_number && r.out.record_number) { - *record_number = *r.out.record_number; - } - if (time_written && r.out.time_written) { - *time_written = *r.out.time_written; - } - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ClearEventLogA_state { - struct eventlog_ClearEventLogA orig; - struct eventlog_ClearEventLogA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ClearEventLogA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ClearEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_ClearEventLogA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ClearEventLogA_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_eventlog, - NDR_EVENTLOG_CLEAREVENTLOGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ClearEventLogA_done, req); - return req; -} - -static void rpccli_eventlog_ClearEventLogA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ClearEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_ClearEventLogA_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_eventlog_ClearEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ClearEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_ClearEventLogA_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_eventlog_ClearEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_ClearEventLogA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_CLEAREVENTLOGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_BackupEventLogA_state { - struct eventlog_BackupEventLogA orig; - struct eventlog_BackupEventLogA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_BackupEventLogA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_BackupEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_BackupEventLogA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_BackupEventLogA_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_eventlog, - NDR_EVENTLOG_BACKUPEVENTLOGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_BackupEventLogA_done, req); - return req; -} - -static void rpccli_eventlog_BackupEventLogA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_BackupEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_BackupEventLogA_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_eventlog_BackupEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_BackupEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_BackupEventLogA_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_eventlog_BackupEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_BackupEventLogA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_BACKUPEVENTLOGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_OpenEventLogA_state { - struct eventlog_OpenEventLogA orig; - struct eventlog_OpenEventLogA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_OpenEventLogA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_OpenEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_OpenEventLogA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_OpenEventLogA_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_eventlog, - NDR_EVENTLOG_OPENEVENTLOGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_OpenEventLogA_done, req); - return req; -} - -static void rpccli_eventlog_OpenEventLogA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_OpenEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenEventLogA_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_eventlog_OpenEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_OpenEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenEventLogA_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_eventlog_OpenEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_OpenEventLogA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_OPENEVENTLOGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_RegisterEventSourceA_state { - struct eventlog_RegisterEventSourceA orig; - struct eventlog_RegisterEventSourceA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_RegisterEventSourceA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_RegisterEventSourceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_RegisterEventSourceA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_RegisterEventSourceA_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_eventlog, - NDR_EVENTLOG_REGISTEREVENTSOURCEA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_RegisterEventSourceA_done, req); - return req; -} - -static void rpccli_eventlog_RegisterEventSourceA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_RegisterEventSourceA_state *state = tevent_req_data( - req, struct rpccli_eventlog_RegisterEventSourceA_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_eventlog_RegisterEventSourceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_RegisterEventSourceA_state *state = tevent_req_data( - req, struct rpccli_eventlog_RegisterEventSourceA_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_eventlog_RegisterEventSourceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_RegisterEventSourceA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_REGISTEREVENTSOURCEA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_OpenBackupEventLogA_state { - struct eventlog_OpenBackupEventLogA orig; - struct eventlog_OpenBackupEventLogA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_OpenBackupEventLogA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_OpenBackupEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_OpenBackupEventLogA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_OpenBackupEventLogA_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_eventlog, - NDR_EVENTLOG_OPENBACKUPEVENTLOGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_OpenBackupEventLogA_done, req); - return req; -} - -static void rpccli_eventlog_OpenBackupEventLogA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_OpenBackupEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenBackupEventLogA_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_eventlog_OpenBackupEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_OpenBackupEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_OpenBackupEventLogA_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_eventlog_OpenBackupEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_OpenBackupEventLogA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_OPENBACKUPEVENTLOGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ReadEventLogA_state { - struct eventlog_ReadEventLogA orig; - struct eventlog_ReadEventLogA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ReadEventLogA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ReadEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_ReadEventLogA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ReadEventLogA_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_eventlog, - NDR_EVENTLOG_READEVENTLOGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ReadEventLogA_done, req); - return req; -} - -static void rpccli_eventlog_ReadEventLogA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ReadEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReadEventLogA_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_eventlog_ReadEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ReadEventLogA_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReadEventLogA_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_eventlog_ReadEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_ReadEventLogA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_READEVENTLOGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ReportEventA_state { - struct eventlog_ReportEventA orig; - struct eventlog_ReportEventA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ReportEventA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ReportEventA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_ReportEventA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ReportEventA_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_eventlog, - NDR_EVENTLOG_REPORTEVENTA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ReportEventA_done, req); - return req; -} - -static void rpccli_eventlog_ReportEventA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ReportEventA_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReportEventA_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_eventlog_ReportEventA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ReportEventA_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReportEventA_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_eventlog_ReportEventA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_ReportEventA r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_REPORTEVENTA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_RegisterClusterSvc_state { - struct eventlog_RegisterClusterSvc orig; - struct eventlog_RegisterClusterSvc tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_RegisterClusterSvc_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_RegisterClusterSvc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_RegisterClusterSvc_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_RegisterClusterSvc_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_eventlog, - NDR_EVENTLOG_REGISTERCLUSTERSVC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_RegisterClusterSvc_done, req); - return req; -} - -static void rpccli_eventlog_RegisterClusterSvc_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_RegisterClusterSvc_state *state = tevent_req_data( - req, struct rpccli_eventlog_RegisterClusterSvc_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_eventlog_RegisterClusterSvc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_RegisterClusterSvc_state *state = tevent_req_data( - req, struct rpccli_eventlog_RegisterClusterSvc_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_eventlog_RegisterClusterSvc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_RegisterClusterSvc r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_REGISTERCLUSTERSVC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_DeregisterClusterSvc_state { - struct eventlog_DeregisterClusterSvc orig; - struct eventlog_DeregisterClusterSvc tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_DeregisterClusterSvc_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_DeregisterClusterSvc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_DeregisterClusterSvc_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_DeregisterClusterSvc_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_eventlog, - NDR_EVENTLOG_DEREGISTERCLUSTERSVC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_DeregisterClusterSvc_done, req); - return req; -} - -static void rpccli_eventlog_DeregisterClusterSvc_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_DeregisterClusterSvc_state *state = tevent_req_data( - req, struct rpccli_eventlog_DeregisterClusterSvc_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_eventlog_DeregisterClusterSvc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_DeregisterClusterSvc_state *state = tevent_req_data( - req, struct rpccli_eventlog_DeregisterClusterSvc_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_eventlog_DeregisterClusterSvc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_DeregisterClusterSvc r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_DEREGISTERCLUSTERSVC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_WriteClusterEvents_state { - struct eventlog_WriteClusterEvents orig; - struct eventlog_WriteClusterEvents tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_WriteClusterEvents_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_WriteClusterEvents_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_eventlog_WriteClusterEvents_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_WriteClusterEvents_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_eventlog, - NDR_EVENTLOG_WRITECLUSTEREVENTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_WriteClusterEvents_done, req); - return req; -} - -static void rpccli_eventlog_WriteClusterEvents_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_WriteClusterEvents_state *state = tevent_req_data( - req, struct rpccli_eventlog_WriteClusterEvents_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_eventlog_WriteClusterEvents_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_WriteClusterEvents_state *state = tevent_req_data( - req, struct rpccli_eventlog_WriteClusterEvents_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_eventlog_WriteClusterEvents(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct eventlog_WriteClusterEvents r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_WRITECLUSTEREVENTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_GetLogInformation_state { - struct eventlog_GetLogInformation orig; - struct eventlog_GetLogInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_GetLogInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_GetLogInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(buf_size)] */, - uint32_t _buf_size /* [in] [range(0,1024)] */, - uint32_t *_bytes_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_GetLogInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_GetLogInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.buf_size = _buf_size; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.bytes_needed = _bytes_needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_GetLogInformation_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_eventlog, - NDR_EVENTLOG_GETLOGINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_GetLogInformation_done, req); - return req; -} - -static void rpccli_eventlog_GetLogInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_GetLogInformation_state *state = tevent_req_data( - req, struct rpccli_eventlog_GetLogInformation_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.buf_size) * sizeof(*state->orig.out.buffer)); - *state->orig.out.bytes_needed = *state->tmp.out.bytes_needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_GetLogInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_GetLogInformation_state *state = tevent_req_data( - req, struct rpccli_eventlog_GetLogInformation_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_eventlog_GetLogInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(buf_size)] */, - uint32_t buf_size /* [in] [range(0,1024)] */, - uint32_t *bytes_needed /* [out] [ref] */) -{ - struct eventlog_GetLogInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.buf_size = buf_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_GETLOGINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(buffer, r.out.buffer, (r.in.buf_size) * sizeof(*buffer)); - *bytes_needed = *r.out.bytes_needed; - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_FlushEventLog_state { - struct eventlog_FlushEventLog orig; - struct eventlog_FlushEventLog tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_FlushEventLog_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_FlushEventLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_FlushEventLog_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_FlushEventLog_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_eventlog, - NDR_EVENTLOG_FLUSHEVENTLOG, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_FlushEventLog_done, req); - return req; -} - -static void rpccli_eventlog_FlushEventLog_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_FlushEventLog_state *state = tevent_req_data( - req, struct rpccli_eventlog_FlushEventLog_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_eventlog_FlushEventLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_FlushEventLog_state *state = tevent_req_data( - req, struct rpccli_eventlog_FlushEventLog_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_eventlog_FlushEventLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */) -{ - struct eventlog_FlushEventLog r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_FLUSHEVENTLOG, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_eventlog_ReportEventAndSourceW_state { - struct eventlog_ReportEventAndSourceW orig; - struct eventlog_ReportEventAndSourceW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_eventlog_ReportEventAndSourceW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_eventlog_ReportEventAndSourceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - time_t _timestamp /* [in] */, - enum eventlogEventTypes _event_type /* [in] */, - uint16_t _event_category /* [in] */, - uint32_t _event_id /* [in] */, - struct lsa_String *_sourcename /* [in] [ref] */, - uint16_t _num_of_strings /* [in] [range(0,256)] */, - uint32_t _data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *_servername /* [in] [ref] */, - struct dom_sid *_user_sid /* [in] [unique] */, - struct lsa_String **_strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *_data /* [in] [unique,size_is(data_size)] */, - uint16_t _flags /* [in] */, - uint32_t *_record_number /* [in,out] [unique] */, - time_t *_time_written /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_eventlog_ReportEventAndSourceW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_eventlog_ReportEventAndSourceW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.timestamp = _timestamp; - state->orig.in.event_type = _event_type; - state->orig.in.event_category = _event_category; - state->orig.in.event_id = _event_id; - state->orig.in.sourcename = _sourcename; - state->orig.in.num_of_strings = _num_of_strings; - state->orig.in.data_size = _data_size; - state->orig.in.servername = _servername; - state->orig.in.user_sid = _user_sid; - state->orig.in.strings = _strings; - state->orig.in.data = _data; - state->orig.in.flags = _flags; - state->orig.in.record_number = _record_number; - state->orig.in.time_written = _time_written; - - /* Out parameters */ - state->orig.out.record_number = _record_number; - state->orig.out.time_written = _time_written; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_eventlog_ReportEventAndSourceW_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_eventlog, - NDR_EVENTLOG_REPORTEVENTANDSOURCEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_eventlog_ReportEventAndSourceW_done, req); - return req; -} - -static void rpccli_eventlog_ReportEventAndSourceW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_eventlog_ReportEventAndSourceW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReportEventAndSourceW_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.record_number && state->tmp.out.record_number) { - *state->orig.out.record_number = *state->tmp.out.record_number; - } - if (state->orig.out.time_written && state->tmp.out.time_written) { - *state->orig.out.time_written = *state->tmp.out.time_written; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_eventlog_ReportEventAndSourceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_eventlog_ReportEventAndSourceW_state *state = tevent_req_data( - req, struct rpccli_eventlog_ReportEventAndSourceW_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_eventlog_ReportEventAndSourceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - time_t timestamp /* [in] */, - enum eventlogEventTypes event_type /* [in] */, - uint16_t event_category /* [in] */, - uint32_t event_id /* [in] */, - struct lsa_String *sourcename /* [in] [ref] */, - uint16_t num_of_strings /* [in] [range(0,256)] */, - uint32_t data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *servername /* [in] [ref] */, - struct dom_sid *user_sid /* [in] [unique] */, - struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *data /* [in] [unique,size_is(data_size)] */, - uint16_t flags /* [in] */, - uint32_t *record_number /* [in,out] [unique] */, - time_t *time_written /* [in,out] [unique] */) -{ - struct eventlog_ReportEventAndSourceW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.timestamp = timestamp; - r.in.event_type = event_type; - r.in.event_category = event_category; - r.in.event_id = event_id; - r.in.sourcename = sourcename; - r.in.num_of_strings = num_of_strings; - r.in.data_size = data_size; - r.in.servername = servername; - r.in.user_sid = user_sid; - r.in.strings = strings; - r.in.data = data; - r.in.flags = flags; - r.in.record_number = record_number; - r.in.time_written = time_written; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_eventlog, - NDR_EVENTLOG_REPORTEVENTANDSOURCEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (record_number && r.out.record_number) { - *record_number = *r.out.record_number; - } - if (time_written && r.out.time_written) { - *time_written = *r.out.time_written; - } - - /* Return result */ - return r.out.result; -} - diff --git a/librpc/gen_ndr/cli_eventlog.h b/librpc/gen_ndr/cli_eventlog.h deleted file mode 100644 index 7d54234082b..00000000000 --- a/librpc/gen_ndr/cli_eventlog.h +++ /dev/null @@ -1,342 +0,0 @@ -#include "../librpc/gen_ndr/ndr_eventlog.h" -#ifndef __CLI_EVENTLOG__ -#define __CLI_EVENTLOG__ -struct tevent_req *rpccli_eventlog_ClearEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_backupfile /* [in] [unique] */); -NTSTATUS rpccli_eventlog_ClearEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ClearEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *backupfile /* [in] [unique] */); -struct tevent_req *rpccli_eventlog_BackupEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_backup_filename /* [in] [ref] */); -NTSTATUS rpccli_eventlog_BackupEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_BackupEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *backup_filename /* [in] [ref] */); -struct tevent_req *rpccli_eventlog_CloseEventLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_eventlog_CloseEventLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_CloseEventLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */); -struct tevent_req *rpccli_eventlog_DeregisterEventSource_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_eventlog_DeregisterEventSource_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_DeregisterEventSource(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */); -struct tevent_req *rpccli_eventlog_GetNumRecords_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_number /* [out] [ref] */); -NTSTATUS rpccli_eventlog_GetNumRecords_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_GetNumRecords(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *number /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_GetOldestRecord_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_oldest_entry /* [out] [ref] */); -NTSTATUS rpccli_eventlog_GetOldestRecord_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_GetOldestRecord(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *oldest_entry /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_ChangeNotify_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_ChangeNotify_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ChangeNotify(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_OpenEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct eventlog_OpenUnknown0 *_unknown0 /* [in] [unique] */, - struct lsa_String *_logname /* [in] [ref] */, - struct lsa_String *_servername /* [in] [ref] */, - uint32_t _major_version /* [in] */, - uint32_t _minor_version /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_eventlog_OpenEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_OpenEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */, - struct lsa_String *logname /* [in] [ref] */, - struct lsa_String *servername /* [in] [ref] */, - uint32_t major_version /* [in] */, - uint32_t minor_version /* [in] */, - struct policy_handle *handle /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_RegisterEventSourceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct eventlog_OpenUnknown0 *_unknown0 /* [in] [unique] */, - struct lsa_String *_module_name /* [in] [ref] */, - struct lsa_String *_reg_module_name /* [in] [ref] */, - uint32_t _major_version /* [in] */, - uint32_t _minor_version /* [in] */, - struct policy_handle *_log_handle /* [out] [ref] */); -NTSTATUS rpccli_eventlog_RegisterEventSourceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_RegisterEventSourceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */, - struct lsa_String *module_name /* [in] [ref] */, - struct lsa_String *reg_module_name /* [in] [ref] */, - uint32_t major_version /* [in] */, - uint32_t minor_version /* [in] */, - struct policy_handle *log_handle /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_OpenBackupEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct eventlog_OpenUnknown0 *_unknown0 /* [in] [unique] */, - struct lsa_String *_backup_logname /* [in] [ref] */, - uint32_t _major_version /* [in] */, - uint32_t _minor_version /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_eventlog_OpenBackupEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_OpenBackupEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */, - struct lsa_String *backup_logname /* [in] [ref] */, - uint32_t major_version /* [in] */, - uint32_t minor_version /* [in] */, - struct policy_handle *handle /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_ReadEventLogW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _flags /* [in] */, - uint32_t _offset /* [in] */, - uint32_t _number_of_bytes /* [in] [range(0,0x7FFFF)] */, - uint8_t *_data /* [out] [ref,size_is(number_of_bytes)] */, - uint32_t *_sent_size /* [out] [ref] */, - uint32_t *_real_size /* [out] [ref] */); -NTSTATUS rpccli_eventlog_ReadEventLogW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ReadEventLogW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t flags /* [in] */, - uint32_t offset /* [in] */, - uint32_t number_of_bytes /* [in] [range(0,0x7FFFF)] */, - uint8_t *data /* [out] [ref,size_is(number_of_bytes)] */, - uint32_t *sent_size /* [out] [ref] */, - uint32_t *real_size /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_ReportEventW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - time_t _timestamp /* [in] */, - enum eventlogEventTypes _event_type /* [in] */, - uint16_t _event_category /* [in] */, - uint32_t _event_id /* [in] */, - uint16_t _num_of_strings /* [in] [range(0,256)] */, - uint32_t _data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *_servername /* [in] [ref] */, - struct dom_sid *_user_sid /* [in] [unique] */, - struct lsa_String **_strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *_data /* [in] [unique,size_is(data_size)] */, - uint16_t _flags /* [in] */, - uint32_t *_record_number /* [in,out] [unique] */, - time_t *_time_written /* [in,out] [unique] */); -NTSTATUS rpccli_eventlog_ReportEventW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ReportEventW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - time_t timestamp /* [in] */, - enum eventlogEventTypes event_type /* [in] */, - uint16_t event_category /* [in] */, - uint32_t event_id /* [in] */, - uint16_t num_of_strings /* [in] [range(0,256)] */, - uint32_t data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *servername /* [in] [ref] */, - struct dom_sid *user_sid /* [in] [unique] */, - struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *data /* [in] [unique,size_is(data_size)] */, - uint16_t flags /* [in] */, - uint32_t *record_number /* [in,out] [unique] */, - time_t *time_written /* [in,out] [unique] */); -struct tevent_req *rpccli_eventlog_ClearEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_ClearEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ClearEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_BackupEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_BackupEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_BackupEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_OpenEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_OpenEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_OpenEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_RegisterEventSourceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_RegisterEventSourceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_RegisterEventSourceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_OpenBackupEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_OpenBackupEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_OpenBackupEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_ReadEventLogA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_ReadEventLogA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ReadEventLogA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_ReportEventA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_ReportEventA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ReportEventA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_RegisterClusterSvc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_RegisterClusterSvc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_RegisterClusterSvc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_DeregisterClusterSvc_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_DeregisterClusterSvc_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_DeregisterClusterSvc(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_WriteClusterEvents_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_eventlog_WriteClusterEvents_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_WriteClusterEvents(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_eventlog_GetLogInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(buf_size)] */, - uint32_t _buf_size /* [in] [range(0,1024)] */, - uint32_t *_bytes_needed /* [out] [ref] */); -NTSTATUS rpccli_eventlog_GetLogInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_GetLogInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(buf_size)] */, - uint32_t buf_size /* [in] [range(0,1024)] */, - uint32_t *bytes_needed /* [out] [ref] */); -struct tevent_req *rpccli_eventlog_FlushEventLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_eventlog_FlushEventLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_FlushEventLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */); -struct tevent_req *rpccli_eventlog_ReportEventAndSourceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - time_t _timestamp /* [in] */, - enum eventlogEventTypes _event_type /* [in] */, - uint16_t _event_category /* [in] */, - uint32_t _event_id /* [in] */, - struct lsa_String *_sourcename /* [in] [ref] */, - uint16_t _num_of_strings /* [in] [range(0,256)] */, - uint32_t _data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *_servername /* [in] [ref] */, - struct dom_sid *_user_sid /* [in] [unique] */, - struct lsa_String **_strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *_data /* [in] [unique,size_is(data_size)] */, - uint16_t _flags /* [in] */, - uint32_t *_record_number /* [in,out] [unique] */, - time_t *_time_written /* [in,out] [unique] */); -NTSTATUS rpccli_eventlog_ReportEventAndSourceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_eventlog_ReportEventAndSourceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - time_t timestamp /* [in] */, - enum eventlogEventTypes event_type /* [in] */, - uint16_t event_category /* [in] */, - uint32_t event_id /* [in] */, - struct lsa_String *sourcename /* [in] [ref] */, - uint16_t num_of_strings /* [in] [range(0,256)] */, - uint32_t data_size /* [in] [range(0,0x3FFFF)] */, - struct lsa_String *servername /* [in] [ref] */, - struct dom_sid *user_sid /* [in] [unique] */, - struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */, - uint8_t *data /* [in] [unique,size_is(data_size)] */, - uint16_t flags /* [in] */, - uint32_t *record_number /* [in,out] [unique] */, - time_t *time_written /* [in,out] [unique] */); -#endif /* __CLI_EVENTLOG__ */ diff --git a/librpc/gen_ndr/cli_initshutdown.c b/librpc/gen_ndr/cli_initshutdown.c deleted file mode 100644 index ebc0af5d2c6..00000000000 --- a/librpc/gen_ndr/cli_initshutdown.c +++ /dev/null @@ -1,461 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_initshutdown.h" - -struct rpccli_initshutdown_Init_state { - struct initshutdown_Init orig; - struct initshutdown_Init tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_initshutdown_Init_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_initshutdown_Init_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */) -{ - struct tevent_req *req; - struct rpccli_initshutdown_Init_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_initshutdown_Init_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.hostname = _hostname; - state->orig.in.message = _message; - state->orig.in.timeout = _timeout; - state->orig.in.force_apps = _force_apps; - state->orig.in.do_reboot = _do_reboot; - - /* 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_initshutdown, - NDR_INITSHUTDOWN_INIT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_initshutdown_Init_done, req); - return req; -} - -static void rpccli_initshutdown_Init_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_initshutdown_Init_state *state = tevent_req_data( - req, struct rpccli_initshutdown_Init_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_initshutdown_Init_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_initshutdown_Init_state *state = tevent_req_data( - req, struct rpccli_initshutdown_Init_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_initshutdown_Init(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - WERROR *werror) -{ - struct initshutdown_Init r; - NTSTATUS status; - - /* In parameters */ - r.in.hostname = hostname; - r.in.message = message; - r.in.timeout = timeout; - r.in.force_apps = force_apps; - r.in.do_reboot = do_reboot; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_initshutdown, - NDR_INITSHUTDOWN_INIT, - &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_initshutdown_Abort_state { - struct initshutdown_Abort orig; - struct initshutdown_Abort tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_initshutdown_Abort_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_initshutdown_Abort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_server /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_initshutdown_Abort_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_initshutdown_Abort_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - - /* 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_initshutdown, - NDR_INITSHUTDOWN_ABORT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_initshutdown_Abort_done, req); - return req; -} - -static void rpccli_initshutdown_Abort_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_initshutdown_Abort_state *state = tevent_req_data( - req, struct rpccli_initshutdown_Abort_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_initshutdown_Abort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_initshutdown_Abort_state *state = tevent_req_data( - req, struct rpccli_initshutdown_Abort_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_initshutdown_Abort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *server /* [in] [unique] */, - WERROR *werror) -{ - struct initshutdown_Abort r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_initshutdown, - NDR_INITSHUTDOWN_ABORT, - &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_initshutdown_InitEx_state { - struct initshutdown_InitEx orig; - struct initshutdown_InitEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_initshutdown_InitEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_initshutdown_InitEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */, - uint32_t _reason /* [in] */) -{ - struct tevent_req *req; - struct rpccli_initshutdown_InitEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_initshutdown_InitEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.hostname = _hostname; - state->orig.in.message = _message; - state->orig.in.timeout = _timeout; - state->orig.in.force_apps = _force_apps; - state->orig.in.do_reboot = _do_reboot; - state->orig.in.reason = _reason; - - /* 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_initshutdown, - NDR_INITSHUTDOWN_INITEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_initshutdown_InitEx_done, req); - return req; -} - -static void rpccli_initshutdown_InitEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_initshutdown_InitEx_state *state = tevent_req_data( - req, struct rpccli_initshutdown_InitEx_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_initshutdown_InitEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_initshutdown_InitEx_state *state = tevent_req_data( - req, struct rpccli_initshutdown_InitEx_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_initshutdown_InitEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - uint32_t reason /* [in] */, - WERROR *werror) -{ - struct initshutdown_InitEx r; - NTSTATUS status; - - /* In parameters */ - r.in.hostname = hostname; - r.in.message = message; - r.in.timeout = timeout; - r.in.force_apps = force_apps; - r.in.do_reboot = do_reboot; - r.in.reason = reason; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_initshutdown, - NDR_INITSHUTDOWN_INITEX, - &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); -} - diff --git a/librpc/gen_ndr/cli_initshutdown.h b/librpc/gen_ndr/cli_initshutdown.h deleted file mode 100644 index 1162b8aa728..00000000000 --- a/librpc/gen_ndr/cli_initshutdown.h +++ /dev/null @@ -1,55 +0,0 @@ -#include "../librpc/gen_ndr/ndr_initshutdown.h" -#ifndef __CLI_INITSHUTDOWN__ -#define __CLI_INITSHUTDOWN__ -struct tevent_req *rpccli_initshutdown_Init_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */); -NTSTATUS rpccli_initshutdown_Init_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_initshutdown_Init(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_initshutdown_Abort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_server /* [in] [unique] */); -NTSTATUS rpccli_initshutdown_Abort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_initshutdown_Abort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *server /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_initshutdown_InitEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */, - uint32_t _reason /* [in] */); -NTSTATUS rpccli_initshutdown_InitEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_initshutdown_InitEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - uint32_t reason /* [in] */, - WERROR *werror); -#endif /* __CLI_INITSHUTDOWN__ */ diff --git a/librpc/gen_ndr/cli_lsa.c b/librpc/gen_ndr/cli_lsa.c deleted file mode 100644 index 7945ee9af1d..00000000000 --- a/librpc/gen_ndr/cli_lsa.c +++ /dev/null @@ -1,11999 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_lsa.h" - -struct rpccli_lsa_Close_state { - struct lsa_Close orig; - struct lsa_Close tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_Close_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_Close_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_Close_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_Close_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_Close_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_lsarpc, - NDR_LSA_CLOSE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_Close_done, req); - return req; -} - -static void rpccli_lsa_Close_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_Close_state *state = tevent_req_data( - req, struct rpccli_lsa_Close_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_Close_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_Close_state *state = tevent_req_data( - req, struct rpccli_lsa_Close_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_lsa_Close(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */) -{ - struct lsa_Close r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CLOSE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_Delete_state { - struct lsa_Delete orig; - struct lsa_Delete tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_Delete_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_Delete_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_Delete_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_Delete_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_lsarpc, - NDR_LSA_DELETE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_Delete_done, req); - return req; -} - -static void rpccli_lsa_Delete_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_Delete_state *state = tevent_req_data( - req, struct rpccli_lsa_Delete_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_lsa_Delete_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_Delete_state *state = tevent_req_data( - req, struct rpccli_lsa_Delete_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_lsa_Delete(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */) -{ - struct lsa_Delete r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_DELETE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumPrivs_state { - struct lsa_EnumPrivs orig; - struct lsa_EnumPrivs tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumPrivs_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumPrivs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_PrivArray *_privs /* [out] [ref] */, - uint32_t _max_count /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumPrivs_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumPrivs_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.max_count = _max_count; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.privs = _privs; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumPrivs_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_lsarpc, - NDR_LSA_ENUMPRIVS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumPrivs_done, req); - return req; -} - -static void rpccli_lsa_EnumPrivs_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumPrivs_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumPrivs_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.privs = *state->tmp.out.privs; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumPrivs_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumPrivs_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumPrivs_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_lsa_EnumPrivs(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_PrivArray *privs /* [out] [ref] */, - uint32_t max_count /* [in] */) -{ - struct lsa_EnumPrivs r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.resume_handle = resume_handle; - r.in.max_count = max_count; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMPRIVS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *privs = *r.out.privs; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QuerySecurity_state { - struct lsa_QuerySecurity orig; - struct lsa_QuerySecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QuerySecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QuerySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf **_sdbuf /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QuerySecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QuerySecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sec_info = _sec_info; - - /* Out parameters */ - state->orig.out.sdbuf = _sdbuf; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QuerySecurity_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_lsarpc, - NDR_LSA_QUERYSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QuerySecurity_done, req); - return req; -} - -static void rpccli_lsa_QuerySecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QuerySecurity_state *state = tevent_req_data( - req, struct rpccli_lsa_QuerySecurity_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.sdbuf = *state->tmp.out.sdbuf; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QuerySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QuerySecurity_state *state = tevent_req_data( - req, struct rpccli_lsa_QuerySecurity_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_lsa_QuerySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf **sdbuf /* [out] [ref] */) -{ - struct lsa_QuerySecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sec_info = sec_info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYSECURITY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sdbuf = *r.out.sdbuf; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetSecObj_state { - struct lsa_SetSecObj orig; - struct lsa_SetSecObj tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetSecObj_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetSecObj_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf *_sdbuf /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetSecObj_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetSecObj_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sec_info = _sec_info; - state->orig.in.sdbuf = _sdbuf; - - /* 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_lsarpc, - NDR_LSA_SETSECOBJ, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetSecObj_done, req); - return req; -} - -static void rpccli_lsa_SetSecObj_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetSecObj_state *state = tevent_req_data( - req, struct rpccli_lsa_SetSecObj_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_lsa_SetSecObj_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetSecObj_state *state = tevent_req_data( - req, struct rpccli_lsa_SetSecObj_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_lsa_SetSecObj(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf *sdbuf /* [in] [ref] */) -{ - struct lsa_SetSecObj r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sec_info = sec_info; - r.in.sdbuf = sdbuf; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETSECOBJ, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_ChangePassword_state { - struct lsa_ChangePassword orig; - struct lsa_ChangePassword tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_ChangePassword_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_ChangePassword_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_ChangePassword_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_ChangePassword_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_lsarpc, - NDR_LSA_CHANGEPASSWORD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_ChangePassword_done, req); - return req; -} - -static void rpccli_lsa_ChangePassword_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_ChangePassword_state *state = tevent_req_data( - req, struct rpccli_lsa_ChangePassword_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_lsa_ChangePassword_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_ChangePassword_state *state = tevent_req_data( - req, struct rpccli_lsa_ChangePassword_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_lsa_ChangePassword(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_ChangePassword r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CHANGEPASSWORD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_OpenPolicy_state { - struct lsa_OpenPolicy orig; - struct lsa_OpenPolicy tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_OpenPolicy_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_OpenPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - struct lsa_ObjectAttribute *_attr /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_OpenPolicy_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_OpenPolicy_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.attr = _attr; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_OpenPolicy_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_lsarpc, - NDR_LSA_OPENPOLICY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_OpenPolicy_done, req); - return req; -} - -static void rpccli_lsa_OpenPolicy_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_OpenPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenPolicy_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_OpenPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_OpenPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenPolicy_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_lsa_OpenPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - struct lsa_ObjectAttribute *attr /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */) -{ - struct lsa_OpenPolicy r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.attr = attr; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_OPENPOLICY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QueryInfoPolicy_state { - struct lsa_QueryInfoPolicy orig; - struct lsa_QueryInfoPolicy tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QueryInfoPolicy_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QueryInfoPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QueryInfoPolicy_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QueryInfoPolicy_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QueryInfoPolicy_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_lsarpc, - NDR_LSA_QUERYINFOPOLICY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QueryInfoPolicy_done, req); - return req; -} - -static void rpccli_lsa_QueryInfoPolicy_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QueryInfoPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryInfoPolicy_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QueryInfoPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QueryInfoPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryInfoPolicy_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_lsa_QueryInfoPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation **info /* [out] [ref,switch_is(level)] */) -{ - struct lsa_QueryInfoPolicy r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYINFOPOLICY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetInfoPolicy_state { - struct lsa_SetInfoPolicy orig; - struct lsa_SetInfoPolicy tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetInfoPolicy_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetInfoPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetInfoPolicy_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetInfoPolicy_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_lsarpc, - NDR_LSA_SETINFOPOLICY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetInfoPolicy_done, req); - return req; -} - -static void rpccli_lsa_SetInfoPolicy_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetInfoPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_SetInfoPolicy_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_lsa_SetInfoPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetInfoPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_SetInfoPolicy_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_lsa_SetInfoPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation *info /* [in] [ref,switch_is(level)] */) -{ - struct lsa_SetInfoPolicy r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETINFOPOLICY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_ClearAuditLog_state { - struct lsa_ClearAuditLog orig; - struct lsa_ClearAuditLog tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_ClearAuditLog_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_ClearAuditLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_ClearAuditLog_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_ClearAuditLog_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_lsarpc, - NDR_LSA_CLEARAUDITLOG, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_ClearAuditLog_done, req); - return req; -} - -static void rpccli_lsa_ClearAuditLog_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_ClearAuditLog_state *state = tevent_req_data( - req, struct rpccli_lsa_ClearAuditLog_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_lsa_ClearAuditLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_ClearAuditLog_state *state = tevent_req_data( - req, struct rpccli_lsa_ClearAuditLog_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_lsa_ClearAuditLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_ClearAuditLog r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CLEARAUDITLOG, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CreateAccount_state { - struct lsa_CreateAccount orig; - struct lsa_CreateAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CreateAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CreateAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_acct_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_CreateAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CreateAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sid = _sid; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.acct_handle = _acct_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_CreateAccount_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_lsarpc, - NDR_LSA_CREATEACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CreateAccount_done, req); - return req; -} - -static void rpccli_lsa_CreateAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CreateAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateAccount_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.acct_handle = *state->tmp.out.acct_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_CreateAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CreateAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateAccount_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_lsa_CreateAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *acct_handle /* [out] [ref] */) -{ - struct lsa_CreateAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sid = sid; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREATEACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *acct_handle = *r.out.acct_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumAccounts_state { - struct lsa_EnumAccounts orig; - struct lsa_EnumAccounts tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumAccounts_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumAccounts_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_SidArray *_sids /* [out] [ref] */, - uint32_t _num_entries /* [in] [range(0,8192)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumAccounts_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumAccounts_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.num_entries = _num_entries; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.sids = _sids; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumAccounts_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_lsarpc, - NDR_LSA_ENUMACCOUNTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumAccounts_done, req); - return req; -} - -static void rpccli_lsa_EnumAccounts_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumAccounts_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumAccounts_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.sids = *state->tmp.out.sids; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumAccounts_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumAccounts_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumAccounts_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_lsa_EnumAccounts(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_SidArray *sids /* [out] [ref] */, - uint32_t num_entries /* [in] [range(0,8192)] */) -{ - struct lsa_EnumAccounts r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.resume_handle = resume_handle; - r.in.num_entries = num_entries; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMACCOUNTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *sids = *r.out.sids; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CreateTrustedDomain_state { - struct lsa_CreateTrustedDomain orig; - struct lsa_CreateTrustedDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CreateTrustedDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CreateTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_policy_handle /* [in] [ref] */, - struct lsa_DomainInfo *_info /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_CreateTrustedDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CreateTrustedDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.policy_handle = _policy_handle; - state->orig.in.info = _info; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.trustdom_handle = _trustdom_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_CreateTrustedDomain_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_lsarpc, - NDR_LSA_CREATETRUSTEDDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CreateTrustedDomain_done, req); - return req; -} - -static void rpccli_lsa_CreateTrustedDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CreateTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateTrustedDomain_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.trustdom_handle = *state->tmp.out.trustdom_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_CreateTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CreateTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateTrustedDomain_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_lsa_CreateTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *policy_handle /* [in] [ref] */, - struct lsa_DomainInfo *info /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */) -{ - struct lsa_CreateTrustedDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.policy_handle = policy_handle; - r.in.info = info; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREATETRUSTEDDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trustdom_handle = *r.out.trustdom_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumTrustDom_state { - struct lsa_EnumTrustDom orig; - struct lsa_EnumTrustDom tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumTrustDom_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumTrustDom_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_DomainList *_domains /* [out] [ref] */, - uint32_t _max_size /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumTrustDom_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumTrustDom_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.max_size = _max_size; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.domains = _domains; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumTrustDom_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_lsarpc, - NDR_LSA_ENUMTRUSTDOM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumTrustDom_done, req); - return req; -} - -static void rpccli_lsa_EnumTrustDom_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumTrustDom_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumTrustDom_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.domains = *state->tmp.out.domains; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumTrustDom_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumTrustDom_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumTrustDom_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_lsa_EnumTrustDom(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_DomainList *domains /* [out] [ref] */, - uint32_t max_size /* [in] */) -{ - struct lsa_EnumTrustDom r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.resume_handle = resume_handle; - r.in.max_size = max_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMTRUSTDOM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *domains = *r.out.domains; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupNames_state { - struct lsa_LookupNames orig; - struct lsa_LookupNames tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupNames_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupNames_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupNames_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.num_names = _num_names; - state->orig.in.names = _names; - state->orig.in.sids = _sids; - state->orig.in.level = _level; - state->orig.in.count = _count; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.sids = _sids; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupNames_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_lsarpc, - NDR_LSA_LOOKUPNAMES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupNames_done, req); - return req; -} - -static void rpccli_lsa_LookupNames_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupNames_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames_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.domains = *state->tmp.out.domains; - *state->orig.out.sids = *state->tmp.out.sids; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupNames_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames_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_lsa_LookupNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */) -{ - struct lsa_LookupNames r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.num_names = num_names; - r.in.names = names; - r.in.sids = sids; - r.in.level = level; - r.in.count = count; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPNAMES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *sids = *r.out.sids; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupSids_state { - struct lsa_LookupSids orig; - struct lsa_LookupSids tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupSids_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupSids_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransNameArray *_names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupSids_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupSids_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sids = _sids; - state->orig.in.names = _names; - state->orig.in.level = _level; - state->orig.in.count = _count; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.names = _names; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupSids_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_lsarpc, - NDR_LSA_LOOKUPSIDS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupSids_done, req); - return req; -} - -static void rpccli_lsa_LookupSids_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupSids_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupSids_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.domains = *state->tmp.out.domains; - *state->orig.out.names = *state->tmp.out.names; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupSids_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupSids_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupSids_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_lsa_LookupSids(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransNameArray *names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */) -{ - struct lsa_LookupSids r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sids = sids; - r.in.names = names; - r.in.level = level; - r.in.count = count; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPSIDS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *names = *r.out.names; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CreateSecret_state { - struct lsa_CreateSecret orig; - struct lsa_CreateSecret tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CreateSecret_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CreateSecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String _name /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_sec_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_CreateSecret_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CreateSecret_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.sec_handle = _sec_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_CreateSecret_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_lsarpc, - NDR_LSA_CREATESECRET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CreateSecret_done, req); - return req; -} - -static void rpccli_lsa_CreateSecret_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CreateSecret_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateSecret_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.sec_handle = *state->tmp.out.sec_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_CreateSecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CreateSecret_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateSecret_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_lsa_CreateSecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String name /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *sec_handle /* [out] [ref] */) -{ - struct lsa_CreateSecret r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREATESECRET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sec_handle = *r.out.sec_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_OpenAccount_state { - struct lsa_OpenAccount orig; - struct lsa_OpenAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_OpenAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_OpenAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_acct_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_OpenAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_OpenAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sid = _sid; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.acct_handle = _acct_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_OpenAccount_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_lsarpc, - NDR_LSA_OPENACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_OpenAccount_done, req); - return req; -} - -static void rpccli_lsa_OpenAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_OpenAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenAccount_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.acct_handle = *state->tmp.out.acct_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_OpenAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_OpenAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenAccount_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_lsa_OpenAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *acct_handle /* [out] [ref] */) -{ - struct lsa_OpenAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sid = sid; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_OPENACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *acct_handle = *r.out.acct_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumPrivsAccount_state { - struct lsa_EnumPrivsAccount orig; - struct lsa_EnumPrivsAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumPrivsAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumPrivsAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_PrivilegeSet **_privs /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumPrivsAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumPrivsAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.privs = _privs; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumPrivsAccount_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_lsarpc, - NDR_LSA_ENUMPRIVSACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumPrivsAccount_done, req); - return req; -} - -static void rpccli_lsa_EnumPrivsAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumPrivsAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumPrivsAccount_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.privs = *state->tmp.out.privs; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumPrivsAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumPrivsAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumPrivsAccount_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_lsa_EnumPrivsAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_PrivilegeSet **privs /* [out] [ref] */) -{ - struct lsa_EnumPrivsAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMPRIVSACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *privs = *r.out.privs; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_AddPrivilegesToAccount_state { - struct lsa_AddPrivilegesToAccount orig; - struct lsa_AddPrivilegesToAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_AddPrivilegesToAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_AddPrivilegesToAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_PrivilegeSet *_privs /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_AddPrivilegesToAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_AddPrivilegesToAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.privs = _privs; - - /* 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_lsarpc, - NDR_LSA_ADDPRIVILEGESTOACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_AddPrivilegesToAccount_done, req); - return req; -} - -static void rpccli_lsa_AddPrivilegesToAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_AddPrivilegesToAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_AddPrivilegesToAccount_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_lsa_AddPrivilegesToAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_AddPrivilegesToAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_AddPrivilegesToAccount_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_lsa_AddPrivilegesToAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_PrivilegeSet *privs /* [in] [ref] */) -{ - struct lsa_AddPrivilegesToAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.privs = privs; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ADDPRIVILEGESTOACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_RemovePrivilegesFromAccount_state { - struct lsa_RemovePrivilegesFromAccount orig; - struct lsa_RemovePrivilegesFromAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_RemovePrivilegesFromAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_RemovePrivilegesFromAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t _remove_all /* [in] */, - struct lsa_PrivilegeSet *_privs /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_lsa_RemovePrivilegesFromAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_RemovePrivilegesFromAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.remove_all = _remove_all; - state->orig.in.privs = _privs; - - /* 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_lsarpc, - NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_RemovePrivilegesFromAccount_done, req); - return req; -} - -static void rpccli_lsa_RemovePrivilegesFromAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_RemovePrivilegesFromAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_RemovePrivilegesFromAccount_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_lsa_RemovePrivilegesFromAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_RemovePrivilegesFromAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_RemovePrivilegesFromAccount_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_lsa_RemovePrivilegesFromAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t remove_all /* [in] */, - struct lsa_PrivilegeSet *privs /* [in] [unique] */) -{ - struct lsa_RemovePrivilegesFromAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.remove_all = remove_all; - r.in.privs = privs; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_GetQuotasForAccount_state { - struct lsa_GetQuotasForAccount orig; - struct lsa_GetQuotasForAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_GetQuotasForAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_GetQuotasForAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_GetQuotasForAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_GetQuotasForAccount_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_lsarpc, - NDR_LSA_GETQUOTASFORACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_GetQuotasForAccount_done, req); - return req; -} - -static void rpccli_lsa_GetQuotasForAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_GetQuotasForAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_GetQuotasForAccount_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_lsa_GetQuotasForAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_GetQuotasForAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_GetQuotasForAccount_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_lsa_GetQuotasForAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_GetQuotasForAccount r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_GETQUOTASFORACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetQuotasForAccount_state { - struct lsa_SetQuotasForAccount orig; - struct lsa_SetQuotasForAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetQuotasForAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetQuotasForAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_SetQuotasForAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetQuotasForAccount_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_lsarpc, - NDR_LSA_SETQUOTASFORACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetQuotasForAccount_done, req); - return req; -} - -static void rpccli_lsa_SetQuotasForAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetQuotasForAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_SetQuotasForAccount_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_lsa_SetQuotasForAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetQuotasForAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_SetQuotasForAccount_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_lsa_SetQuotasForAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_SetQuotasForAccount r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETQUOTASFORACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_GetSystemAccessAccount_state { - struct lsa_GetSystemAccessAccount orig; - struct lsa_GetSystemAccessAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_GetSystemAccessAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_GetSystemAccessAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_access_mask /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_GetSystemAccessAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_GetSystemAccessAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.access_mask = _access_mask; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_GetSystemAccessAccount_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_lsarpc, - NDR_LSA_GETSYSTEMACCESSACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_GetSystemAccessAccount_done, req); - return req; -} - -static void rpccli_lsa_GetSystemAccessAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_GetSystemAccessAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_GetSystemAccessAccount_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.access_mask = *state->tmp.out.access_mask; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_GetSystemAccessAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_GetSystemAccessAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_GetSystemAccessAccount_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_lsa_GetSystemAccessAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *access_mask /* [out] [ref] */) -{ - struct lsa_GetSystemAccessAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_GETSYSTEMACCESSACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *access_mask = *r.out.access_mask; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetSystemAccessAccount_state { - struct lsa_SetSystemAccessAccount orig; - struct lsa_SetSystemAccessAccount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetSystemAccessAccount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetSystemAccessAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetSystemAccessAccount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetSystemAccessAccount_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.access_mask = _access_mask; - - /* 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_lsarpc, - NDR_LSA_SETSYSTEMACCESSACCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetSystemAccessAccount_done, req); - return req; -} - -static void rpccli_lsa_SetSystemAccessAccount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetSystemAccessAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_SetSystemAccessAccount_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_lsa_SetSystemAccessAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetSystemAccessAccount_state *state = tevent_req_data( - req, struct rpccli_lsa_SetSystemAccessAccount_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_lsa_SetSystemAccessAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t access_mask /* [in] */) -{ - struct lsa_SetSystemAccessAccount r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETSYSTEMACCESSACCOUNT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_OpenTrustedDomain_state { - struct lsa_OpenTrustedDomain orig; - struct lsa_OpenTrustedDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_OpenTrustedDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_OpenTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_OpenTrustedDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_OpenTrustedDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sid = _sid; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.trustdom_handle = _trustdom_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_OpenTrustedDomain_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_lsarpc, - NDR_LSA_OPENTRUSTEDDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_OpenTrustedDomain_done, req); - return req; -} - -static void rpccli_lsa_OpenTrustedDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_OpenTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenTrustedDomain_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.trustdom_handle = *state->tmp.out.trustdom_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_OpenTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_OpenTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenTrustedDomain_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_lsa_OpenTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */) -{ - struct lsa_OpenTrustedDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sid = sid; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_OPENTRUSTEDDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trustdom_handle = *r.out.trustdom_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QueryTrustedDomainInfo_state { - struct lsa_QueryTrustedDomainInfo orig; - struct lsa_QueryTrustedDomainInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QueryTrustedDomainInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QueryTrustedDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QueryTrustedDomainInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QueryTrustedDomainInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.trustdom_handle = _trustdom_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QueryTrustedDomainInfo_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_lsarpc, - NDR_LSA_QUERYTRUSTEDDOMAININFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QueryTrustedDomainInfo_done, req); - return req; -} - -static void rpccli_lsa_QueryTrustedDomainInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QueryTrustedDomainInfo_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryTrustedDomainInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QueryTrustedDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QueryTrustedDomainInfo_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryTrustedDomainInfo_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_lsa_QueryTrustedDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct lsa_QueryTrustedDomainInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.trustdom_handle = trustdom_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYTRUSTEDDOMAININFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetInformationTrustedDomain_state { - struct lsa_SetInformationTrustedDomain orig; - struct lsa_SetInformationTrustedDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetInformationTrustedDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetInformationTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetInformationTrustedDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetInformationTrustedDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.trustdom_handle = _trustdom_handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_lsarpc, - NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetInformationTrustedDomain_done, req); - return req; -} - -static void rpccli_lsa_SetInformationTrustedDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetInformationTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_SetInformationTrustedDomain_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_lsa_SetInformationTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetInformationTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_SetInformationTrustedDomain_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_lsa_SetInformationTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct lsa_SetInformationTrustedDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.trustdom_handle = trustdom_handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_OpenSecret_state { - struct lsa_OpenSecret orig; - struct lsa_OpenSecret tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_OpenSecret_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_OpenSecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String _name /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_sec_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_OpenSecret_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_OpenSecret_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.sec_handle = _sec_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_OpenSecret_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_lsarpc, - NDR_LSA_OPENSECRET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_OpenSecret_done, req); - return req; -} - -static void rpccli_lsa_OpenSecret_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_OpenSecret_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenSecret_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.sec_handle = *state->tmp.out.sec_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_OpenSecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_OpenSecret_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenSecret_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_lsa_OpenSecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String name /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *sec_handle /* [out] [ref] */) -{ - struct lsa_OpenSecret r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_OPENSECRET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sec_handle = *r.out.sec_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetSecret_state { - struct lsa_SetSecret orig; - struct lsa_SetSecret tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetSecret_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetSecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF *_new_val /* [in] [unique] */, - struct lsa_DATA_BUF *_old_val /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetSecret_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetSecret_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.sec_handle = _sec_handle; - state->orig.in.new_val = _new_val; - state->orig.in.old_val = _old_val; - - /* 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_lsarpc, - NDR_LSA_SETSECRET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetSecret_done, req); - return req; -} - -static void rpccli_lsa_SetSecret_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetSecret_state *state = tevent_req_data( - req, struct rpccli_lsa_SetSecret_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_lsa_SetSecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetSecret_state *state = tevent_req_data( - req, struct rpccli_lsa_SetSecret_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_lsa_SetSecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF *new_val /* [in] [unique] */, - struct lsa_DATA_BUF *old_val /* [in] [unique] */) -{ - struct lsa_SetSecret r; - NTSTATUS status; - - /* In parameters */ - r.in.sec_handle = sec_handle; - r.in.new_val = new_val; - r.in.old_val = old_val; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETSECRET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QuerySecret_state { - struct lsa_QuerySecret orig; - struct lsa_QuerySecret tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QuerySecret_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QuerySecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF_PTR *_new_val /* [in,out] [unique] */, - NTTIME *_new_mtime /* [in,out] [unique] */, - struct lsa_DATA_BUF_PTR *_old_val /* [in,out] [unique] */, - NTTIME *_old_mtime /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QuerySecret_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QuerySecret_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.sec_handle = _sec_handle; - state->orig.in.new_val = _new_val; - state->orig.in.new_mtime = _new_mtime; - state->orig.in.old_val = _old_val; - state->orig.in.old_mtime = _old_mtime; - - /* Out parameters */ - state->orig.out.new_val = _new_val; - state->orig.out.new_mtime = _new_mtime; - state->orig.out.old_val = _old_val; - state->orig.out.old_mtime = _old_mtime; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QuerySecret_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_lsarpc, - NDR_LSA_QUERYSECRET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QuerySecret_done, req); - return req; -} - -static void rpccli_lsa_QuerySecret_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QuerySecret_state *state = tevent_req_data( - req, struct rpccli_lsa_QuerySecret_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.new_val && state->tmp.out.new_val) { - *state->orig.out.new_val = *state->tmp.out.new_val; - } - if (state->orig.out.new_mtime && state->tmp.out.new_mtime) { - *state->orig.out.new_mtime = *state->tmp.out.new_mtime; - } - if (state->orig.out.old_val && state->tmp.out.old_val) { - *state->orig.out.old_val = *state->tmp.out.old_val; - } - if (state->orig.out.old_mtime && state->tmp.out.old_mtime) { - *state->orig.out.old_mtime = *state->tmp.out.old_mtime; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QuerySecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QuerySecret_state *state = tevent_req_data( - req, struct rpccli_lsa_QuerySecret_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_lsa_QuerySecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF_PTR *new_val /* [in,out] [unique] */, - NTTIME *new_mtime /* [in,out] [unique] */, - struct lsa_DATA_BUF_PTR *old_val /* [in,out] [unique] */, - NTTIME *old_mtime /* [in,out] [unique] */) -{ - struct lsa_QuerySecret r; - NTSTATUS status; - - /* In parameters */ - r.in.sec_handle = sec_handle; - r.in.new_val = new_val; - r.in.new_mtime = new_mtime; - r.in.old_val = old_val; - r.in.old_mtime = old_mtime; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYSECRET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (new_val && r.out.new_val) { - *new_val = *r.out.new_val; - } - if (new_mtime && r.out.new_mtime) { - *new_mtime = *r.out.new_mtime; - } - if (old_val && r.out.old_val) { - *old_val = *r.out.old_val; - } - if (old_mtime && r.out.old_mtime) { - *old_mtime = *r.out.old_mtime; - } - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupPrivValue_state { - struct lsa_LookupPrivValue orig; - struct lsa_LookupPrivValue tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupPrivValue_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupPrivValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - struct lsa_LUID *_luid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupPrivValue_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupPrivValue_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - - /* Out parameters */ - state->orig.out.luid = _luid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupPrivValue_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_lsarpc, - NDR_LSA_LOOKUPPRIVVALUE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupPrivValue_done, req); - return req; -} - -static void rpccli_lsa_LookupPrivValue_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupPrivValue_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupPrivValue_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.luid = *state->tmp.out.luid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupPrivValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupPrivValue_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupPrivValue_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_lsa_LookupPrivValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - struct lsa_LUID *luid /* [out] [ref] */) -{ - struct lsa_LookupPrivValue r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPPRIVVALUE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *luid = *r.out.luid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupPrivName_state { - struct lsa_LookupPrivName orig; - struct lsa_LookupPrivName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupPrivName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupPrivName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_LUID *_luid /* [in] [ref] */, - struct lsa_StringLarge **_name /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupPrivName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupPrivName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.luid = _luid; - - /* Out parameters */ - state->orig.out.name = _name; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupPrivName_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_lsarpc, - NDR_LSA_LOOKUPPRIVNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupPrivName_done, req); - return req; -} - -static void rpccli_lsa_LookupPrivName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupPrivName_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupPrivName_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.name = *state->tmp.out.name; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupPrivName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupPrivName_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupPrivName_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_lsa_LookupPrivName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_LUID *luid /* [in] [ref] */, - struct lsa_StringLarge **name /* [out] [ref] */) -{ - struct lsa_LookupPrivName r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.luid = luid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPPRIVNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *name = *r.out.name; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupPrivDisplayName_state { - struct lsa_LookupPrivDisplayName orig; - struct lsa_LookupPrivDisplayName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupPrivDisplayName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupPrivDisplayName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - uint16_t _language_id /* [in] */, - uint16_t _language_id_sys /* [in] */, - struct lsa_StringLarge **_disp_name /* [out] [ref] */, - uint16_t *_returned_language_id /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupPrivDisplayName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupPrivDisplayName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.language_id = _language_id; - state->orig.in.language_id_sys = _language_id_sys; - - /* Out parameters */ - state->orig.out.disp_name = _disp_name; - state->orig.out.returned_language_id = _returned_language_id; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupPrivDisplayName_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_lsarpc, - NDR_LSA_LOOKUPPRIVDISPLAYNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupPrivDisplayName_done, req); - return req; -} - -static void rpccli_lsa_LookupPrivDisplayName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupPrivDisplayName_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupPrivDisplayName_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.disp_name = *state->tmp.out.disp_name; - *state->orig.out.returned_language_id = *state->tmp.out.returned_language_id; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupPrivDisplayName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupPrivDisplayName_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupPrivDisplayName_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_lsa_LookupPrivDisplayName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - uint16_t language_id /* [in] */, - uint16_t language_id_sys /* [in] */, - struct lsa_StringLarge **disp_name /* [out] [ref] */, - uint16_t *returned_language_id /* [out] [ref] */) -{ - struct lsa_LookupPrivDisplayName r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.language_id = language_id; - r.in.language_id_sys = language_id_sys; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPPRIVDISPLAYNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *disp_name = *r.out.disp_name; - *returned_language_id = *r.out.returned_language_id; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_DeleteObject_state { - struct lsa_DeleteObject orig; - struct lsa_DeleteObject tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_DeleteObject_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_DeleteObject_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_DeleteObject_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_DeleteObject_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_DeleteObject_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_lsarpc, - NDR_LSA_DELETEOBJECT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_DeleteObject_done, req); - return req; -} - -static void rpccli_lsa_DeleteObject_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_DeleteObject_state *state = tevent_req_data( - req, struct rpccli_lsa_DeleteObject_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_DeleteObject_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_DeleteObject_state *state = tevent_req_data( - req, struct rpccli_lsa_DeleteObject_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_lsa_DeleteObject(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */) -{ - struct lsa_DeleteObject r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_DELETEOBJECT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumAccountsWithUserRight_state { - struct lsa_EnumAccountsWithUserRight orig; - struct lsa_EnumAccountsWithUserRight tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumAccountsWithUserRight_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumAccountsWithUserRight_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [unique] */, - struct lsa_SidArray *_sids /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumAccountsWithUserRight_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumAccountsWithUserRight_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - - /* Out parameters */ - state->orig.out.sids = _sids; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumAccountsWithUserRight_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_lsarpc, - NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumAccountsWithUserRight_done, req); - return req; -} - -static void rpccli_lsa_EnumAccountsWithUserRight_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumAccountsWithUserRight_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumAccountsWithUserRight_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.sids = *state->tmp.out.sids; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumAccountsWithUserRight_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumAccountsWithUserRight_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumAccountsWithUserRight_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_lsa_EnumAccountsWithUserRight(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [unique] */, - struct lsa_SidArray *sids /* [out] [ref] */) -{ - struct lsa_EnumAccountsWithUserRight r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sids = *r.out.sids; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumAccountRights_state { - struct lsa_EnumAccountRights orig; - struct lsa_EnumAccountRights tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumAccountRights_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumAccountRights_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - struct lsa_RightSet *_rights /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumAccountRights_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumAccountRights_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sid = _sid; - - /* Out parameters */ - state->orig.out.rights = _rights; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumAccountRights_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_lsarpc, - NDR_LSA_ENUMACCOUNTRIGHTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumAccountRights_done, req); - return req; -} - -static void rpccli_lsa_EnumAccountRights_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumAccountRights_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumAccountRights_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.rights = *state->tmp.out.rights; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumAccountRights_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumAccountRights_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumAccountRights_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_lsa_EnumAccountRights(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - struct lsa_RightSet *rights /* [out] [ref] */) -{ - struct lsa_EnumAccountRights r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sid = sid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMACCOUNTRIGHTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rights = *r.out.rights; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_AddAccountRights_state { - struct lsa_AddAccountRights orig; - struct lsa_AddAccountRights tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_AddAccountRights_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_AddAccountRights_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - struct lsa_RightSet *_rights /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_AddAccountRights_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_AddAccountRights_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sid = _sid; - state->orig.in.rights = _rights; - - /* 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_lsarpc, - NDR_LSA_ADDACCOUNTRIGHTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_AddAccountRights_done, req); - return req; -} - -static void rpccli_lsa_AddAccountRights_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_AddAccountRights_state *state = tevent_req_data( - req, struct rpccli_lsa_AddAccountRights_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_lsa_AddAccountRights_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_AddAccountRights_state *state = tevent_req_data( - req, struct rpccli_lsa_AddAccountRights_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_lsa_AddAccountRights(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - struct lsa_RightSet *rights /* [in] [ref] */) -{ - struct lsa_AddAccountRights r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sid = sid; - r.in.rights = rights; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ADDACCOUNTRIGHTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_RemoveAccountRights_state { - struct lsa_RemoveAccountRights orig; - struct lsa_RemoveAccountRights tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_RemoveAccountRights_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_RemoveAccountRights_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint8_t _remove_all /* [in] */, - struct lsa_RightSet *_rights /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_RemoveAccountRights_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_RemoveAccountRights_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sid = _sid; - state->orig.in.remove_all = _remove_all; - state->orig.in.rights = _rights; - - /* 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_lsarpc, - NDR_LSA_REMOVEACCOUNTRIGHTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_RemoveAccountRights_done, req); - return req; -} - -static void rpccli_lsa_RemoveAccountRights_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_RemoveAccountRights_state *state = tevent_req_data( - req, struct rpccli_lsa_RemoveAccountRights_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_lsa_RemoveAccountRights_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_RemoveAccountRights_state *state = tevent_req_data( - req, struct rpccli_lsa_RemoveAccountRights_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_lsa_RemoveAccountRights(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint8_t remove_all /* [in] */, - struct lsa_RightSet *rights /* [in] [ref] */) -{ - struct lsa_RemoveAccountRights r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sid = sid; - r.in.remove_all = remove_all; - r.in.rights = rights; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_REMOVEACCOUNTRIGHTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QueryTrustedDomainInfoBySid_state { - struct lsa_QueryTrustedDomainInfoBySid orig; - struct lsa_QueryTrustedDomainInfoBySid tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QueryTrustedDomainInfoBySid_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QueryTrustedDomainInfoBySid_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QueryTrustedDomainInfoBySid_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QueryTrustedDomainInfoBySid_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.dom_sid = _dom_sid; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QueryTrustedDomainInfoBySid_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_lsarpc, - NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QueryTrustedDomainInfoBySid_done, req); - return req; -} - -static void rpccli_lsa_QueryTrustedDomainInfoBySid_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QueryTrustedDomainInfoBySid_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryTrustedDomainInfoBySid_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QueryTrustedDomainInfoBySid_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QueryTrustedDomainInfoBySid_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryTrustedDomainInfoBySid_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_lsa_QueryTrustedDomainInfoBySid(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct lsa_QueryTrustedDomainInfoBySid r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.dom_sid = dom_sid; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetTrustedDomainInfo_state { - struct lsa_SetTrustedDomainInfo orig; - struct lsa_SetTrustedDomainInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetTrustedDomainInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetTrustedDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetTrustedDomainInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetTrustedDomainInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.dom_sid = _dom_sid; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_lsarpc, - NDR_LSA_SETTRUSTEDDOMAININFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetTrustedDomainInfo_done, req); - return req; -} - -static void rpccli_lsa_SetTrustedDomainInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetTrustedDomainInfo_state *state = tevent_req_data( - req, struct rpccli_lsa_SetTrustedDomainInfo_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_lsa_SetTrustedDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetTrustedDomainInfo_state *state = tevent_req_data( - req, struct rpccli_lsa_SetTrustedDomainInfo_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_lsa_SetTrustedDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct lsa_SetTrustedDomainInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.dom_sid = dom_sid; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETTRUSTEDDOMAININFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_DeleteTrustedDomain_state { - struct lsa_DeleteTrustedDomain orig; - struct lsa_DeleteTrustedDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_DeleteTrustedDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_DeleteTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_dom_sid /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_DeleteTrustedDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_DeleteTrustedDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.dom_sid = _dom_sid; - - /* 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_lsarpc, - NDR_LSA_DELETETRUSTEDDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_DeleteTrustedDomain_done, req); - return req; -} - -static void rpccli_lsa_DeleteTrustedDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_DeleteTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_DeleteTrustedDomain_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_lsa_DeleteTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_DeleteTrustedDomain_state *state = tevent_req_data( - req, struct rpccli_lsa_DeleteTrustedDomain_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_lsa_DeleteTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *dom_sid /* [in] [ref] */) -{ - struct lsa_DeleteTrustedDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.dom_sid = dom_sid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_DELETETRUSTEDDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_StorePrivateData_state { - struct lsa_StorePrivateData orig; - struct lsa_StorePrivateData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_StorePrivateData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_StorePrivateData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - struct lsa_DATA_BUF *_val /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_lsa_StorePrivateData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_StorePrivateData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.val = _val; - - /* 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_lsarpc, - NDR_LSA_STOREPRIVATEDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_StorePrivateData_done, req); - return req; -} - -static void rpccli_lsa_StorePrivateData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_StorePrivateData_state *state = tevent_req_data( - req, struct rpccli_lsa_StorePrivateData_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_lsa_StorePrivateData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_StorePrivateData_state *state = tevent_req_data( - req, struct rpccli_lsa_StorePrivateData_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_lsa_StorePrivateData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - struct lsa_DATA_BUF *val /* [in] [unique] */) -{ - struct lsa_StorePrivateData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.val = val; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_STOREPRIVATEDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_RetrievePrivateData_state { - struct lsa_RetrievePrivateData orig; - struct lsa_RetrievePrivateData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_RetrievePrivateData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_RetrievePrivateData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - struct lsa_DATA_BUF **_val /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_RetrievePrivateData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_RetrievePrivateData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.val = _val; - - /* Out parameters */ - state->orig.out.val = _val; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_RetrievePrivateData_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_lsarpc, - NDR_LSA_RETRIEVEPRIVATEDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_RetrievePrivateData_done, req); - return req; -} - -static void rpccli_lsa_RetrievePrivateData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_RetrievePrivateData_state *state = tevent_req_data( - req, struct rpccli_lsa_RetrievePrivateData_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.val = *state->tmp.out.val; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_RetrievePrivateData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_RetrievePrivateData_state *state = tevent_req_data( - req, struct rpccli_lsa_RetrievePrivateData_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_lsa_RetrievePrivateData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - struct lsa_DATA_BUF **val /* [in,out] [ref] */) -{ - struct lsa_RetrievePrivateData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.val = val; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_RETRIEVEPRIVATEDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *val = *r.out.val; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_OpenPolicy2_state { - struct lsa_OpenPolicy2 orig; - struct lsa_OpenPolicy2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_OpenPolicy2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_OpenPolicy2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_ObjectAttribute *_attr /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_OpenPolicy2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_OpenPolicy2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.attr = _attr; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_OpenPolicy2_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_lsarpc, - NDR_LSA_OPENPOLICY2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_OpenPolicy2_done, req); - return req; -} - -static void rpccli_lsa_OpenPolicy2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_OpenPolicy2_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenPolicy2_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_OpenPolicy2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_OpenPolicy2_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenPolicy2_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_lsa_OpenPolicy2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_ObjectAttribute *attr /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */) -{ - struct lsa_OpenPolicy2 r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.attr = attr; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_OPENPOLICY2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_GetUserName_state { - struct lsa_GetUserName orig; - struct lsa_GetUserName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_GetUserName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_GetUserName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_String **_account_name /* [in,out] [ref] */, - struct lsa_String **_authority_name /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_lsa_GetUserName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_GetUserName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.account_name = _account_name; - state->orig.in.authority_name = _authority_name; - - /* Out parameters */ - state->orig.out.account_name = _account_name; - state->orig.out.authority_name = _authority_name; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_GetUserName_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_lsarpc, - NDR_LSA_GETUSERNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_GetUserName_done, req); - return req; -} - -static void rpccli_lsa_GetUserName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_GetUserName_state *state = tevent_req_data( - req, struct rpccli_lsa_GetUserName_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.account_name = *state->tmp.out.account_name; - if (state->orig.out.authority_name && state->tmp.out.authority_name) { - *state->orig.out.authority_name = *state->tmp.out.authority_name; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_GetUserName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_GetUserName_state *state = tevent_req_data( - req, struct rpccli_lsa_GetUserName_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_lsa_GetUserName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_String **account_name /* [in,out] [ref] */, - struct lsa_String **authority_name /* [in,out] [unique] */) -{ - struct lsa_GetUserName r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.account_name = account_name; - r.in.authority_name = authority_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_GETUSERNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *account_name = *r.out.account_name; - if (authority_name && r.out.authority_name) { - *authority_name = *r.out.authority_name; - } - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QueryInfoPolicy2_state { - struct lsa_QueryInfoPolicy2 orig; - struct lsa_QueryInfoPolicy2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QueryInfoPolicy2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QueryInfoPolicy2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QueryInfoPolicy2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QueryInfoPolicy2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QueryInfoPolicy2_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_lsarpc, - NDR_LSA_QUERYINFOPOLICY2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QueryInfoPolicy2_done, req); - return req; -} - -static void rpccli_lsa_QueryInfoPolicy2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QueryInfoPolicy2_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryInfoPolicy2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QueryInfoPolicy2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QueryInfoPolicy2_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryInfoPolicy2_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_lsa_QueryInfoPolicy2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation **info /* [out] [ref,switch_is(level)] */) -{ - struct lsa_QueryInfoPolicy2 r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYINFOPOLICY2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetInfoPolicy2_state { - struct lsa_SetInfoPolicy2 orig; - struct lsa_SetInfoPolicy2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetInfoPolicy2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetInfoPolicy2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetInfoPolicy2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetInfoPolicy2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_lsarpc, - NDR_LSA_SETINFOPOLICY2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetInfoPolicy2_done, req); - return req; -} - -static void rpccli_lsa_SetInfoPolicy2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetInfoPolicy2_state *state = tevent_req_data( - req, struct rpccli_lsa_SetInfoPolicy2_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_lsa_SetInfoPolicy2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetInfoPolicy2_state *state = tevent_req_data( - req, struct rpccli_lsa_SetInfoPolicy2_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_lsa_SetInfoPolicy2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation *info /* [in] [ref,switch_is(level)] */) -{ - struct lsa_SetInfoPolicy2 r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETINFOPOLICY2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QueryTrustedDomainInfoByName_state { - struct lsa_QueryTrustedDomainInfoByName orig; - struct lsa_QueryTrustedDomainInfoByName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QueryTrustedDomainInfoByName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QueryTrustedDomainInfoByName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QueryTrustedDomainInfoByName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QueryTrustedDomainInfoByName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.trusted_domain = _trusted_domain; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QueryTrustedDomainInfoByName_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_lsarpc, - NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QueryTrustedDomainInfoByName_done, req); - return req; -} - -static void rpccli_lsa_QueryTrustedDomainInfoByName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QueryTrustedDomainInfoByName_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryTrustedDomainInfoByName_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QueryTrustedDomainInfoByName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QueryTrustedDomainInfoByName_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryTrustedDomainInfoByName_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_lsa_QueryTrustedDomainInfoByName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct lsa_QueryTrustedDomainInfoByName r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.trusted_domain = trusted_domain; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetTrustedDomainInfoByName_state { - struct lsa_SetTrustedDomainInfoByName orig; - struct lsa_SetTrustedDomainInfoByName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetTrustedDomainInfoByName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetTrustedDomainInfoByName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetTrustedDomainInfoByName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetTrustedDomainInfoByName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.trusted_domain = _trusted_domain; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_lsarpc, - NDR_LSA_SETTRUSTEDDOMAININFOBYNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetTrustedDomainInfoByName_done, req); - return req; -} - -static void rpccli_lsa_SetTrustedDomainInfoByName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetTrustedDomainInfoByName_state *state = tevent_req_data( - req, struct rpccli_lsa_SetTrustedDomainInfoByName_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_lsa_SetTrustedDomainInfoByName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetTrustedDomainInfoByName_state *state = tevent_req_data( - req, struct rpccli_lsa_SetTrustedDomainInfoByName_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_lsa_SetTrustedDomainInfoByName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct lsa_SetTrustedDomainInfoByName r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.trusted_domain = trusted_domain; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETTRUSTEDDOMAININFOBYNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_EnumTrustedDomainsEx_state { - struct lsa_EnumTrustedDomainsEx orig; - struct lsa_EnumTrustedDomainsEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_EnumTrustedDomainsEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_EnumTrustedDomainsEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_DomainListEx *_domains /* [out] [ref] */, - uint32_t _max_size /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_EnumTrustedDomainsEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_EnumTrustedDomainsEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.max_size = _max_size; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.domains = _domains; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_EnumTrustedDomainsEx_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_lsarpc, - NDR_LSA_ENUMTRUSTEDDOMAINSEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_EnumTrustedDomainsEx_done, req); - return req; -} - -static void rpccli_lsa_EnumTrustedDomainsEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_EnumTrustedDomainsEx_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumTrustedDomainsEx_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.domains = *state->tmp.out.domains; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_EnumTrustedDomainsEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_EnumTrustedDomainsEx_state *state = tevent_req_data( - req, struct rpccli_lsa_EnumTrustedDomainsEx_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_lsa_EnumTrustedDomainsEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_DomainListEx *domains /* [out] [ref] */, - uint32_t max_size /* [in] */) -{ - struct lsa_EnumTrustedDomainsEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.resume_handle = resume_handle; - r.in.max_size = max_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_ENUMTRUSTEDDOMAINSEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *domains = *r.out.domains; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CreateTrustedDomainEx_state { - struct lsa_CreateTrustedDomainEx orig; - struct lsa_CreateTrustedDomainEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CreateTrustedDomainEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CreateTrustedDomainEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *_info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *_auth_info /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_CreateTrustedDomainEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CreateTrustedDomainEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.policy_handle = _policy_handle; - state->orig.in.info = _info; - state->orig.in.auth_info = _auth_info; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.trustdom_handle = _trustdom_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_CreateTrustedDomainEx_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_lsarpc, - NDR_LSA_CREATETRUSTEDDOMAINEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CreateTrustedDomainEx_done, req); - return req; -} - -static void rpccli_lsa_CreateTrustedDomainEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CreateTrustedDomainEx_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateTrustedDomainEx_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.trustdom_handle = *state->tmp.out.trustdom_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_CreateTrustedDomainEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CreateTrustedDomainEx_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateTrustedDomainEx_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_lsa_CreateTrustedDomainEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */) -{ - struct lsa_CreateTrustedDomainEx r; - NTSTATUS status; - - /* In parameters */ - r.in.policy_handle = policy_handle; - r.in.info = info; - r.in.auth_info = auth_info; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREATETRUSTEDDOMAINEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trustdom_handle = *r.out.trustdom_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CloseTrustedDomainEx_state { - struct lsa_CloseTrustedDomainEx orig; - struct lsa_CloseTrustedDomainEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CloseTrustedDomainEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CloseTrustedDomainEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_CloseTrustedDomainEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CloseTrustedDomainEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_CloseTrustedDomainEx_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_lsarpc, - NDR_LSA_CLOSETRUSTEDDOMAINEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CloseTrustedDomainEx_done, req); - return req; -} - -static void rpccli_lsa_CloseTrustedDomainEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CloseTrustedDomainEx_state *state = tevent_req_data( - req, struct rpccli_lsa_CloseTrustedDomainEx_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_CloseTrustedDomainEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CloseTrustedDomainEx_state *state = tevent_req_data( - req, struct rpccli_lsa_CloseTrustedDomainEx_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_lsa_CloseTrustedDomainEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */) -{ - struct lsa_CloseTrustedDomainEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CLOSETRUSTEDDOMAINEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_QueryDomainInformationPolicy_state { - struct lsa_QueryDomainInformationPolicy orig; - struct lsa_QueryDomainInformationPolicy tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_QueryDomainInformationPolicy_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_QueryDomainInformationPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - union lsa_DomainInformationPolicy **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_QueryDomainInformationPolicy_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_QueryDomainInformationPolicy_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_QueryDomainInformationPolicy_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_lsarpc, - NDR_LSA_QUERYDOMAININFORMATIONPOLICY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_QueryDomainInformationPolicy_done, req); - return req; -} - -static void rpccli_lsa_QueryDomainInformationPolicy_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_QueryDomainInformationPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryDomainInformationPolicy_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_QueryDomainInformationPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_QueryDomainInformationPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_QueryDomainInformationPolicy_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_lsa_QueryDomainInformationPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint16_t level /* [in] */, - union lsa_DomainInformationPolicy **info /* [out] [ref,switch_is(level)] */) -{ - struct lsa_QueryDomainInformationPolicy r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_QUERYDOMAININFORMATIONPOLICY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_SetDomainInformationPolicy_state { - struct lsa_SetDomainInformationPolicy orig; - struct lsa_SetDomainInformationPolicy tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_SetDomainInformationPolicy_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_SetDomainInformationPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - union lsa_DomainInformationPolicy *_info /* [in] [unique,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_lsa_SetDomainInformationPolicy_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_SetDomainInformationPolicy_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_lsarpc, - NDR_LSA_SETDOMAININFORMATIONPOLICY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_SetDomainInformationPolicy_done, req); - return req; -} - -static void rpccli_lsa_SetDomainInformationPolicy_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_SetDomainInformationPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_SetDomainInformationPolicy_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_lsa_SetDomainInformationPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_SetDomainInformationPolicy_state *state = tevent_req_data( - req, struct rpccli_lsa_SetDomainInformationPolicy_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_lsa_SetDomainInformationPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint16_t level /* [in] */, - union lsa_DomainInformationPolicy *info /* [in] [unique,switch_is(level)] */) -{ - struct lsa_SetDomainInformationPolicy r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_SETDOMAININFORMATIONPOLICY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_OpenTrustedDomainByName_state { - struct lsa_OpenTrustedDomainByName orig; - struct lsa_OpenTrustedDomainByName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_OpenTrustedDomainByName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_OpenTrustedDomainByName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String _name /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_OpenTrustedDomainByName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_OpenTrustedDomainByName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.trustdom_handle = _trustdom_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_OpenTrustedDomainByName_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_lsarpc, - NDR_LSA_OPENTRUSTEDDOMAINBYNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_OpenTrustedDomainByName_done, req); - return req; -} - -static void rpccli_lsa_OpenTrustedDomainByName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_OpenTrustedDomainByName_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenTrustedDomainByName_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.trustdom_handle = *state->tmp.out.trustdom_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_OpenTrustedDomainByName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_OpenTrustedDomainByName_state *state = tevent_req_data( - req, struct rpccli_lsa_OpenTrustedDomainByName_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_lsa_OpenTrustedDomainByName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String name /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */) -{ - struct lsa_OpenTrustedDomainByName r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_OPENTRUSTEDDOMAINBYNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trustdom_handle = *r.out.trustdom_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_TestCall_state { - struct lsa_TestCall orig; - struct lsa_TestCall tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_TestCall_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_TestCall_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_TestCall_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_TestCall_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_lsarpc, - NDR_LSA_TESTCALL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_TestCall_done, req); - return req; -} - -static void rpccli_lsa_TestCall_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_TestCall_state *state = tevent_req_data( - req, struct rpccli_lsa_TestCall_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_lsa_TestCall_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_TestCall_state *state = tevent_req_data( - req, struct rpccli_lsa_TestCall_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_lsa_TestCall(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_TestCall r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_TESTCALL, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupSids2_state { - struct lsa_LookupSids2 orig; - struct lsa_LookupSids2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupSids2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupSids2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransNameArray2 *_names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupSids2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupSids2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sids = _sids; - state->orig.in.names = _names; - state->orig.in.level = _level; - state->orig.in.count = _count; - state->orig.in.lookup_options = _lookup_options; - state->orig.in.client_revision = _client_revision; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.names = _names; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupSids2_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_lsarpc, - NDR_LSA_LOOKUPSIDS2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupSids2_done, req); - return req; -} - -static void rpccli_lsa_LookupSids2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupSids2_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupSids2_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.domains = *state->tmp.out.domains; - *state->orig.out.names = *state->tmp.out.names; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupSids2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupSids2_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupSids2_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_lsa_LookupSids2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransNameArray2 *names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */) -{ - struct lsa_LookupSids2 r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sids = sids; - r.in.names = names; - r.in.level = level; - r.in.count = count; - r.in.lookup_options = lookup_options; - r.in.client_revision = client_revision; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPSIDS2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *names = *r.out.names; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupNames2_state { - struct lsa_LookupNames2 orig; - struct lsa_LookupNames2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupNames2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupNames2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray2 *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupNames2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupNames2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.num_names = _num_names; - state->orig.in.names = _names; - state->orig.in.sids = _sids; - state->orig.in.level = _level; - state->orig.in.count = _count; - state->orig.in.lookup_options = _lookup_options; - state->orig.in.client_revision = _client_revision; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.sids = _sids; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupNames2_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_lsarpc, - NDR_LSA_LOOKUPNAMES2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupNames2_done, req); - return req; -} - -static void rpccli_lsa_LookupNames2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupNames2_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames2_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.domains = *state->tmp.out.domains; - *state->orig.out.sids = *state->tmp.out.sids; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupNames2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupNames2_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames2_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_lsa_LookupNames2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray2 *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */) -{ - struct lsa_LookupNames2 r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.num_names = num_names; - r.in.names = names; - r.in.sids = sids; - r.in.level = level; - r.in.count = count; - r.in.lookup_options = lookup_options; - r.in.client_revision = client_revision; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPNAMES2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *sids = *r.out.sids; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CreateTrustedDomainEx2_state { - struct lsa_CreateTrustedDomainEx2 orig; - struct lsa_CreateTrustedDomainEx2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CreateTrustedDomainEx2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CreateTrustedDomainEx2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *_info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *_auth_info /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_CreateTrustedDomainEx2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CreateTrustedDomainEx2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.policy_handle = _policy_handle; - state->orig.in.info = _info; - state->orig.in.auth_info = _auth_info; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.trustdom_handle = _trustdom_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_CreateTrustedDomainEx2_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_lsarpc, - NDR_LSA_CREATETRUSTEDDOMAINEX2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CreateTrustedDomainEx2_done, req); - return req; -} - -static void rpccli_lsa_CreateTrustedDomainEx2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CreateTrustedDomainEx2_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateTrustedDomainEx2_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.trustdom_handle = *state->tmp.out.trustdom_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_CreateTrustedDomainEx2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CreateTrustedDomainEx2_state *state = tevent_req_data( - req, struct rpccli_lsa_CreateTrustedDomainEx2_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_lsa_CreateTrustedDomainEx2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */) -{ - struct lsa_CreateTrustedDomainEx2 r; - NTSTATUS status; - - /* In parameters */ - r.in.policy_handle = policy_handle; - r.in.info = info; - r.in.auth_info = auth_info; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREATETRUSTEDDOMAINEX2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trustdom_handle = *r.out.trustdom_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRWRITE_state { - struct lsa_CREDRWRITE orig; - struct lsa_CREDRWRITE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRWRITE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRWRITE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRWRITE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRWRITE_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_lsarpc, - NDR_LSA_CREDRWRITE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRWRITE_done, req); - return req; -} - -static void rpccli_lsa_CREDRWRITE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRWRITE_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRWRITE_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_lsa_CREDRWRITE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRWRITE_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRWRITE_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_lsa_CREDRWRITE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRWRITE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRWRITE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRREAD_state { - struct lsa_CREDRREAD orig; - struct lsa_CREDRREAD tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRREAD_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRREAD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRREAD_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRREAD_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_lsarpc, - NDR_LSA_CREDRREAD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRREAD_done, req); - return req; -} - -static void rpccli_lsa_CREDRREAD_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRREAD_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRREAD_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_lsa_CREDRREAD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRREAD_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRREAD_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_lsa_CREDRREAD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRREAD r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRREAD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRENUMERATE_state { - struct lsa_CREDRENUMERATE orig; - struct lsa_CREDRENUMERATE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRENUMERATE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRENUMERATE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRENUMERATE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRENUMERATE_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_lsarpc, - NDR_LSA_CREDRENUMERATE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRENUMERATE_done, req); - return req; -} - -static void rpccli_lsa_CREDRENUMERATE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRENUMERATE_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRENUMERATE_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_lsa_CREDRENUMERATE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRENUMERATE_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRENUMERATE_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_lsa_CREDRENUMERATE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRENUMERATE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRENUMERATE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_state { - struct lsa_CREDRWRITEDOMAINCREDENTIALS orig; - struct lsa_CREDRWRITEDOMAINCREDENTIALS tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_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_lsarpc, - NDR_LSA_CREDRWRITEDOMAINCREDENTIALS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_done, req); - return req; -} - -static void rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_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_lsa_CREDRWRITEDOMAINCREDENTIALS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_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_lsa_CREDRWRITEDOMAINCREDENTIALS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRWRITEDOMAINCREDENTIALS r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRWRITEDOMAINCREDENTIALS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_state { - struct lsa_CREDRREADDOMAINCREDENTIALS orig; - struct lsa_CREDRREADDOMAINCREDENTIALS tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRREADDOMAINCREDENTIALS_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRREADDOMAINCREDENTIALS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_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_lsarpc, - NDR_LSA_CREDRREADDOMAINCREDENTIALS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRREADDOMAINCREDENTIALS_done, req); - return req; -} - -static void rpccli_lsa_CREDRREADDOMAINCREDENTIALS_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_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_lsa_CREDRREADDOMAINCREDENTIALS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRREADDOMAINCREDENTIALS_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_lsa_CREDRREADDOMAINCREDENTIALS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRREADDOMAINCREDENTIALS r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRREADDOMAINCREDENTIALS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRDELETE_state { - struct lsa_CREDRDELETE orig; - struct lsa_CREDRDELETE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRDELETE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRDELETE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRDELETE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRDELETE_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_lsarpc, - NDR_LSA_CREDRDELETE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRDELETE_done, req); - return req; -} - -static void rpccli_lsa_CREDRDELETE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRDELETE_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRDELETE_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_lsa_CREDRDELETE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRDELETE_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRDELETE_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_lsa_CREDRDELETE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRDELETE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRDELETE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRGETTARGETINFO_state { - struct lsa_CREDRGETTARGETINFO orig; - struct lsa_CREDRGETTARGETINFO tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRGETTARGETINFO_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRGETTARGETINFO_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRGETTARGETINFO_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRGETTARGETINFO_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_lsarpc, - NDR_LSA_CREDRGETTARGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRGETTARGETINFO_done, req); - return req; -} - -static void rpccli_lsa_CREDRGETTARGETINFO_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRGETTARGETINFO_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRGETTARGETINFO_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_lsa_CREDRGETTARGETINFO_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRGETTARGETINFO_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRGETTARGETINFO_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_lsa_CREDRGETTARGETINFO(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRGETTARGETINFO r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRGETTARGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRPROFILELOADED_state { - struct lsa_CREDRPROFILELOADED orig; - struct lsa_CREDRPROFILELOADED tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRPROFILELOADED_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRPROFILELOADED_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRPROFILELOADED_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRPROFILELOADED_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_lsarpc, - NDR_LSA_CREDRPROFILELOADED, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRPROFILELOADED_done, req); - return req; -} - -static void rpccli_lsa_CREDRPROFILELOADED_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRPROFILELOADED_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRPROFILELOADED_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_lsa_CREDRPROFILELOADED_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRPROFILELOADED_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRPROFILELOADED_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_lsa_CREDRPROFILELOADED(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRPROFILELOADED r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRPROFILELOADED, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupNames3_state { - struct lsa_LookupNames3 orig; - struct lsa_LookupNames3 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupNames3_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupNames3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray3 *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupNames3_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupNames3_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.num_names = _num_names; - state->orig.in.names = _names; - state->orig.in.sids = _sids; - state->orig.in.level = _level; - state->orig.in.count = _count; - state->orig.in.lookup_options = _lookup_options; - state->orig.in.client_revision = _client_revision; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.sids = _sids; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupNames3_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_lsarpc, - NDR_LSA_LOOKUPNAMES3, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupNames3_done, req); - return req; -} - -static void rpccli_lsa_LookupNames3_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupNames3_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames3_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.domains = *state->tmp.out.domains; - *state->orig.out.sids = *state->tmp.out.sids; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupNames3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupNames3_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames3_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_lsa_LookupNames3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray3 *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */) -{ - struct lsa_LookupNames3 r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.num_names = num_names; - r.in.names = names; - r.in.sids = sids; - r.in.level = level; - r.in.count = count; - r.in.lookup_options = lookup_options; - r.in.client_revision = client_revision; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPNAMES3, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *sids = *r.out.sids; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRGETSESSIONTYPES_state { - struct lsa_CREDRGETSESSIONTYPES orig; - struct lsa_CREDRGETSESSIONTYPES tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRGETSESSIONTYPES_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRGETSESSIONTYPES_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRGETSESSIONTYPES_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRGETSESSIONTYPES_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_lsarpc, - NDR_LSA_CREDRGETSESSIONTYPES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRGETSESSIONTYPES_done, req); - return req; -} - -static void rpccli_lsa_CREDRGETSESSIONTYPES_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRGETSESSIONTYPES_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRGETSESSIONTYPES_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_lsa_CREDRGETSESSIONTYPES_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRGETSESSIONTYPES_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRGETSESSIONTYPES_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_lsa_CREDRGETSESSIONTYPES(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRGETSESSIONTYPES r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRGETSESSIONTYPES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSARREGISTERAUDITEVENT_state { - struct lsa_LSARREGISTERAUDITEVENT orig; - struct lsa_LSARREGISTERAUDITEVENT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSARREGISTERAUDITEVENT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSARREGISTERAUDITEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSARREGISTERAUDITEVENT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSARREGISTERAUDITEVENT_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_lsarpc, - NDR_LSA_LSARREGISTERAUDITEVENT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSARREGISTERAUDITEVENT_done, req); - return req; -} - -static void rpccli_lsa_LSARREGISTERAUDITEVENT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSARREGISTERAUDITEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARREGISTERAUDITEVENT_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_lsa_LSARREGISTERAUDITEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSARREGISTERAUDITEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARREGISTERAUDITEVENT_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_lsa_LSARREGISTERAUDITEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSARREGISTERAUDITEVENT r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARREGISTERAUDITEVENT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSARGENAUDITEVENT_state { - struct lsa_LSARGENAUDITEVENT orig; - struct lsa_LSARGENAUDITEVENT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSARGENAUDITEVENT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSARGENAUDITEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSARGENAUDITEVENT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSARGENAUDITEVENT_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_lsarpc, - NDR_LSA_LSARGENAUDITEVENT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSARGENAUDITEVENT_done, req); - return req; -} - -static void rpccli_lsa_LSARGENAUDITEVENT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSARGENAUDITEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARGENAUDITEVENT_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_lsa_LSARGENAUDITEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSARGENAUDITEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARGENAUDITEVENT_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_lsa_LSARGENAUDITEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSARGENAUDITEVENT r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARGENAUDITEVENT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_state { - struct lsa_LSARUNREGISTERAUDITEVENT orig; - struct lsa_LSARUNREGISTERAUDITEVENT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSARUNREGISTERAUDITEVENT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSARUNREGISTERAUDITEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_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_lsarpc, - NDR_LSA_LSARUNREGISTERAUDITEVENT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSARUNREGISTERAUDITEVENT_done, req); - return req; -} - -static void rpccli_lsa_LSARUNREGISTERAUDITEVENT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_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_lsa_LSARUNREGISTERAUDITEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARUNREGISTERAUDITEVENT_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_lsa_LSARUNREGISTERAUDITEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSARUNREGISTERAUDITEVENT r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARUNREGISTERAUDITEVENT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_lsaRQueryForestTrustInformation_state { - struct lsa_lsaRQueryForestTrustInformation orig; - struct lsa_lsaRQueryForestTrustInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_lsaRQueryForestTrustInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_lsaRQueryForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_trusted_domain_name /* [in] [ref] */, - uint16_t _unknown /* [in] */, - struct lsa_ForestTrustInformation **_forest_trust_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_lsaRQueryForestTrustInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_lsaRQueryForestTrustInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.trusted_domain_name = _trusted_domain_name; - state->orig.in.unknown = _unknown; - - /* Out parameters */ - state->orig.out.forest_trust_info = _forest_trust_info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_lsaRQueryForestTrustInformation_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_lsarpc, - NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_lsaRQueryForestTrustInformation_done, req); - return req; -} - -static void rpccli_lsa_lsaRQueryForestTrustInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_lsaRQueryForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_lsa_lsaRQueryForestTrustInformation_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.forest_trust_info = *state->tmp.out.forest_trust_info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_lsaRQueryForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_lsaRQueryForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_lsa_lsaRQueryForestTrustInformation_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_lsa_lsaRQueryForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *trusted_domain_name /* [in] [ref] */, - uint16_t unknown /* [in] */, - struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */) -{ - struct lsa_lsaRQueryForestTrustInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.trusted_domain_name = trusted_domain_name; - r.in.unknown = unknown; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *forest_trust_info = *r.out.forest_trust_info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_lsaRSetForestTrustInformation_state { - struct lsa_lsaRSetForestTrustInformation orig; - struct lsa_lsaRSetForestTrustInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_lsaRSetForestTrustInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_lsaRSetForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_StringLarge *_trusted_domain_name /* [in] [ref] */, - uint16_t _highest_record_type /* [in] */, - struct lsa_ForestTrustInformation *_forest_trust_info /* [in] [ref] */, - uint8_t _check_only /* [in] */, - struct lsa_ForestTrustCollisionInfo **_collision_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_lsa_lsaRSetForestTrustInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_lsaRSetForestTrustInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.trusted_domain_name = _trusted_domain_name; - state->orig.in.highest_record_type = _highest_record_type; - state->orig.in.forest_trust_info = _forest_trust_info; - state->orig.in.check_only = _check_only; - - /* Out parameters */ - state->orig.out.collision_info = _collision_info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_lsaRSetForestTrustInformation_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_lsarpc, - NDR_LSA_LSARSETFORESTTRUSTINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_lsaRSetForestTrustInformation_done, req); - return req; -} - -static void rpccli_lsa_lsaRSetForestTrustInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_lsaRSetForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_lsa_lsaRSetForestTrustInformation_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.collision_info = *state->tmp.out.collision_info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_lsaRSetForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_lsaRSetForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_lsa_lsaRSetForestTrustInformation_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_lsa_lsaRSetForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_StringLarge *trusted_domain_name /* [in] [ref] */, - uint16_t highest_record_type /* [in] */, - struct lsa_ForestTrustInformation *forest_trust_info /* [in] [ref] */, - uint8_t check_only /* [in] */, - struct lsa_ForestTrustCollisionInfo **collision_info /* [out] [ref] */) -{ - struct lsa_lsaRSetForestTrustInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.trusted_domain_name = trusted_domain_name; - r.in.highest_record_type = highest_record_type; - r.in.forest_trust_info = forest_trust_info; - r.in.check_only = check_only; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARSETFORESTTRUSTINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *collision_info = *r.out.collision_info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_CREDRRENAME_state { - struct lsa_CREDRRENAME orig; - struct lsa_CREDRRENAME tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_CREDRRENAME_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_CREDRRENAME_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_CREDRRENAME_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_CREDRRENAME_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_lsarpc, - NDR_LSA_CREDRRENAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_CREDRRENAME_done, req); - return req; -} - -static void rpccli_lsa_CREDRRENAME_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_CREDRRENAME_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRRENAME_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_lsa_CREDRRENAME_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_CREDRRENAME_state *state = tevent_req_data( - req, struct rpccli_lsa_CREDRRENAME_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_lsa_CREDRRENAME(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_CREDRRENAME r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_CREDRRENAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupSids3_state { - struct lsa_LookupSids3 orig; - struct lsa_LookupSids3 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupSids3_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupSids3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransNameArray2 *_names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupSids3_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupSids3_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.sids = _sids; - state->orig.in.names = _names; - state->orig.in.level = _level; - state->orig.in.count = _count; - state->orig.in.lookup_options = _lookup_options; - state->orig.in.client_revision = _client_revision; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.names = _names; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupSids3_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_lsarpc, - NDR_LSA_LOOKUPSIDS3, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupSids3_done, req); - return req; -} - -static void rpccli_lsa_LookupSids3_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupSids3_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupSids3_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.domains = *state->tmp.out.domains; - *state->orig.out.names = *state->tmp.out.names; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupSids3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupSids3_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupSids3_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_lsa_LookupSids3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_SidArray *sids /* [in] [ref] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransNameArray2 *names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */) -{ - struct lsa_LookupSids3 r; - NTSTATUS status; - - /* In parameters */ - r.in.sids = sids; - r.in.names = names; - r.in.level = level; - r.in.count = count; - r.in.lookup_options = lookup_options; - r.in.client_revision = client_revision; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPSIDS3, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *names = *r.out.names; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LookupNames4_state { - struct lsa_LookupNames4 orig; - struct lsa_LookupNames4 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LookupNames4_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LookupNames4_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray3 *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */) -{ - struct tevent_req *req; - struct rpccli_lsa_LookupNames4_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LookupNames4_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.num_names = _num_names; - state->orig.in.names = _names; - state->orig.in.sids = _sids; - state->orig.in.level = _level; - state->orig.in.count = _count; - state->orig.in.lookup_options = _lookup_options; - state->orig.in.client_revision = _client_revision; - - /* Out parameters */ - state->orig.out.domains = _domains; - state->orig.out.sids = _sids; - state->orig.out.count = _count; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_lsa_LookupNames4_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_lsarpc, - NDR_LSA_LOOKUPNAMES4, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LookupNames4_done, req); - return req; -} - -static void rpccli_lsa_LookupNames4_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LookupNames4_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames4_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.domains = *state->tmp.out.domains; - *state->orig.out.sids = *state->tmp.out.sids; - *state->orig.out.count = *state->tmp.out.count; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_lsa_LookupNames4_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LookupNames4_state *state = tevent_req_data( - req, struct rpccli_lsa_LookupNames4_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_lsa_LookupNames4(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray3 *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */) -{ - struct lsa_LookupNames4 r; - NTSTATUS status; - - /* In parameters */ - r.in.num_names = num_names; - r.in.names = names; - r.in.sids = sids; - r.in.level = level; - r.in.count = count; - r.in.lookup_options = lookup_options; - r.in.client_revision = client_revision; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LOOKUPNAMES4, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domains = *r.out.domains; - *sids = *r.out.sids; - *count = *r.out.count; - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSAROPENPOLICYSCE_state { - struct lsa_LSAROPENPOLICYSCE orig; - struct lsa_LSAROPENPOLICYSCE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSAROPENPOLICYSCE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSAROPENPOLICYSCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSAROPENPOLICYSCE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSAROPENPOLICYSCE_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_lsarpc, - NDR_LSA_LSAROPENPOLICYSCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSAROPENPOLICYSCE_done, req); - return req; -} - -static void rpccli_lsa_LSAROPENPOLICYSCE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSAROPENPOLICYSCE_state *state = tevent_req_data( - req, struct rpccli_lsa_LSAROPENPOLICYSCE_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_lsa_LSAROPENPOLICYSCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSAROPENPOLICYSCE_state *state = tevent_req_data( - req, struct rpccli_lsa_LSAROPENPOLICYSCE_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_lsa_LSAROPENPOLICYSCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSAROPENPOLICYSCE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSAROPENPOLICYSCE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_state { - struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE orig; - struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_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_lsarpc, - NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_done, req); - return req; -} - -static void rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_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_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_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_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_state { - struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE orig; - struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_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_lsarpc, - NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_done, req); - return req; -} - -static void rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_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_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_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_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_state { - struct lsa_LSARADTREPORTSECURITYEVENT orig; - struct lsa_LSARADTREPORTSECURITYEVENT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_lsa_LSARADTREPORTSECURITYEVENT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_lsa_LSARADTREPORTSECURITYEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_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_lsarpc, - NDR_LSA_LSARADTREPORTSECURITYEVENT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_lsa_LSARADTREPORTSECURITYEVENT_done, req); - return req; -} - -static void rpccli_lsa_LSARADTREPORTSECURITYEVENT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_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_lsa_LSARADTREPORTSECURITYEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_state *state = tevent_req_data( - req, struct rpccli_lsa_LSARADTREPORTSECURITYEVENT_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_lsa_LSARADTREPORTSECURITYEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx) -{ - struct lsa_LSARADTREPORTSECURITYEVENT r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_lsarpc, - NDR_LSA_LSARADTREPORTSECURITYEVENT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - diff --git a/librpc/gen_ndr/cli_lsa.h b/librpc/gen_ndr/cli_lsa.h deleted file mode 100644 index b38a4a272f0..00000000000 --- a/librpc/gen_ndr/cli_lsa.h +++ /dev/null @@ -1,1122 +0,0 @@ -#include "../librpc/gen_ndr/ndr_lsa.h" -#ifndef __CLI_LSARPC__ -#define __CLI_LSARPC__ -struct tevent_req *rpccli_lsa_Close_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_lsa_Close_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_Close(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */); -struct tevent_req *rpccli_lsa_Delete_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_lsa_Delete_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_Delete(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */); -struct tevent_req *rpccli_lsa_EnumPrivs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_PrivArray *_privs /* [out] [ref] */, - uint32_t _max_count /* [in] */); -NTSTATUS rpccli_lsa_EnumPrivs_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumPrivs(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_PrivArray *privs /* [out] [ref] */, - uint32_t max_count /* [in] */); -struct tevent_req *rpccli_lsa_QuerySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf **_sdbuf /* [out] [ref] */); -NTSTATUS rpccli_lsa_QuerySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QuerySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf **sdbuf /* [out] [ref] */); -struct tevent_req *rpccli_lsa_SetSecObj_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf *_sdbuf /* [in] [ref] */); -NTSTATUS rpccli_lsa_SetSecObj_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetSecObj(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf *sdbuf /* [in] [ref] */); -struct tevent_req *rpccli_lsa_ChangePassword_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_ChangePassword_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_ChangePassword(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_OpenPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - struct lsa_ObjectAttribute *_attr /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_OpenPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_OpenPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - struct lsa_ObjectAttribute *attr /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_QueryInfoPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_QueryInfoPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QueryInfoPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_SetInfoPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_SetInfoPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetInfoPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_ClearAuditLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_ClearAuditLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_ClearAuditLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CreateAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_acct_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_CreateAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CreateAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *acct_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_EnumAccounts_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_SidArray *_sids /* [out] [ref] */, - uint32_t _num_entries /* [in] [range(0,8192)] */); -NTSTATUS rpccli_lsa_EnumAccounts_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumAccounts(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_SidArray *sids /* [out] [ref] */, - uint32_t num_entries /* [in] [range(0,8192)] */); -struct tevent_req *rpccli_lsa_CreateTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_policy_handle /* [in] [ref] */, - struct lsa_DomainInfo *_info /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_CreateTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CreateTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *policy_handle /* [in] [ref] */, - struct lsa_DomainInfo *info /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_EnumTrustDom_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_DomainList *_domains /* [out] [ref] */, - uint32_t _max_size /* [in] */); -NTSTATUS rpccli_lsa_EnumTrustDom_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumTrustDom(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_DomainList *domains /* [out] [ref] */, - uint32_t max_size /* [in] */); -struct tevent_req *rpccli_lsa_LookupNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */); -NTSTATUS rpccli_lsa_LookupNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */); -struct tevent_req *rpccli_lsa_LookupSids_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransNameArray *_names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */); -NTSTATUS rpccli_lsa_LookupSids_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupSids(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransNameArray *names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */); -struct tevent_req *rpccli_lsa_CreateSecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String _name /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_sec_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_CreateSecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CreateSecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String name /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *sec_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_OpenAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_acct_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_OpenAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_OpenAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *acct_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_EnumPrivsAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_PrivilegeSet **_privs /* [out] [ref] */); -NTSTATUS rpccli_lsa_EnumPrivsAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumPrivsAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_PrivilegeSet **privs /* [out] [ref] */); -struct tevent_req *rpccli_lsa_AddPrivilegesToAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_PrivilegeSet *_privs /* [in] [ref] */); -NTSTATUS rpccli_lsa_AddPrivilegesToAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_AddPrivilegesToAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_PrivilegeSet *privs /* [in] [ref] */); -struct tevent_req *rpccli_lsa_RemovePrivilegesFromAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t _remove_all /* [in] */, - struct lsa_PrivilegeSet *_privs /* [in] [unique] */); -NTSTATUS rpccli_lsa_RemovePrivilegesFromAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_RemovePrivilegesFromAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t remove_all /* [in] */, - struct lsa_PrivilegeSet *privs /* [in] [unique] */); -struct tevent_req *rpccli_lsa_GetQuotasForAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_GetQuotasForAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_GetQuotasForAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_SetQuotasForAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_SetQuotasForAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetQuotasForAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_GetSystemAccessAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_access_mask /* [out] [ref] */); -NTSTATUS rpccli_lsa_GetSystemAccessAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_GetSystemAccessAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *access_mask /* [out] [ref] */); -struct tevent_req *rpccli_lsa_SetSystemAccessAccount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */); -NTSTATUS rpccli_lsa_SetSystemAccessAccount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetSystemAccessAccount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t access_mask /* [in] */); -struct tevent_req *rpccli_lsa_OpenTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_OpenTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_OpenTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_QueryTrustedDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_QueryTrustedDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QueryTrustedDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_SetInformationTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_SetInformationTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetInformationTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *trustdom_handle /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_OpenSecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String _name /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_sec_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_OpenSecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_OpenSecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String name /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *sec_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_SetSecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF *_new_val /* [in] [unique] */, - struct lsa_DATA_BUF *_old_val /* [in] [unique] */); -NTSTATUS rpccli_lsa_SetSecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetSecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF *new_val /* [in] [unique] */, - struct lsa_DATA_BUF *old_val /* [in] [unique] */); -struct tevent_req *rpccli_lsa_QuerySecret_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF_PTR *_new_val /* [in,out] [unique] */, - NTTIME *_new_mtime /* [in,out] [unique] */, - struct lsa_DATA_BUF_PTR *_old_val /* [in,out] [unique] */, - NTTIME *_old_mtime /* [in,out] [unique] */); -NTSTATUS rpccli_lsa_QuerySecret_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QuerySecret(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *sec_handle /* [in] [ref] */, - struct lsa_DATA_BUF_PTR *new_val /* [in,out] [unique] */, - NTTIME *new_mtime /* [in,out] [unique] */, - struct lsa_DATA_BUF_PTR *old_val /* [in,out] [unique] */, - NTTIME *old_mtime /* [in,out] [unique] */); -struct tevent_req *rpccli_lsa_LookupPrivValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - struct lsa_LUID *_luid /* [out] [ref] */); -NTSTATUS rpccli_lsa_LookupPrivValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupPrivValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - struct lsa_LUID *luid /* [out] [ref] */); -struct tevent_req *rpccli_lsa_LookupPrivName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_LUID *_luid /* [in] [ref] */, - struct lsa_StringLarge **_name /* [out] [ref] */); -NTSTATUS rpccli_lsa_LookupPrivName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupPrivName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_LUID *luid /* [in] [ref] */, - struct lsa_StringLarge **name /* [out] [ref] */); -struct tevent_req *rpccli_lsa_LookupPrivDisplayName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - uint16_t _language_id /* [in] */, - uint16_t _language_id_sys /* [in] */, - struct lsa_StringLarge **_disp_name /* [out] [ref] */, - uint16_t *_returned_language_id /* [out] [ref] */); -NTSTATUS rpccli_lsa_LookupPrivDisplayName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupPrivDisplayName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - uint16_t language_id /* [in] */, - uint16_t language_id_sys /* [in] */, - struct lsa_StringLarge **disp_name /* [out] [ref] */, - uint16_t *returned_language_id /* [out] [ref] */); -struct tevent_req *rpccli_lsa_DeleteObject_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_lsa_DeleteObject_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_DeleteObject(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */); -struct tevent_req *rpccli_lsa_EnumAccountsWithUserRight_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [unique] */, - struct lsa_SidArray *_sids /* [out] [ref] */); -NTSTATUS rpccli_lsa_EnumAccountsWithUserRight_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumAccountsWithUserRight(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [unique] */, - struct lsa_SidArray *sids /* [out] [ref] */); -struct tevent_req *rpccli_lsa_EnumAccountRights_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - struct lsa_RightSet *_rights /* [out] [ref] */); -NTSTATUS rpccli_lsa_EnumAccountRights_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumAccountRights(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - struct lsa_RightSet *rights /* [out] [ref] */); -struct tevent_req *rpccli_lsa_AddAccountRights_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - struct lsa_RightSet *_rights /* [in] [ref] */); -NTSTATUS rpccli_lsa_AddAccountRights_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_AddAccountRights(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - struct lsa_RightSet *rights /* [in] [ref] */); -struct tevent_req *rpccli_lsa_RemoveAccountRights_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */, - uint8_t _remove_all /* [in] */, - struct lsa_RightSet *_rights /* [in] [ref] */); -NTSTATUS rpccli_lsa_RemoveAccountRights_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_RemoveAccountRights(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */, - uint8_t remove_all /* [in] */, - struct lsa_RightSet *rights /* [in] [ref] */); -struct tevent_req *rpccli_lsa_QueryTrustedDomainInfoBySid_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_QueryTrustedDomainInfoBySid_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QueryTrustedDomainInfoBySid(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_SetTrustedDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_SetTrustedDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetTrustedDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *dom_sid /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_DeleteTrustedDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct dom_sid2 *_dom_sid /* [in] [ref] */); -NTSTATUS rpccli_lsa_DeleteTrustedDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_DeleteTrustedDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct dom_sid2 *dom_sid /* [in] [ref] */); -struct tevent_req *rpccli_lsa_StorePrivateData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - struct lsa_DATA_BUF *_val /* [in] [unique] */); -NTSTATUS rpccli_lsa_StorePrivateData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_StorePrivateData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - struct lsa_DATA_BUF *val /* [in] [unique] */); -struct tevent_req *rpccli_lsa_RetrievePrivateData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - struct lsa_DATA_BUF **_val /* [in,out] [ref] */); -NTSTATUS rpccli_lsa_RetrievePrivateData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_RetrievePrivateData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - struct lsa_DATA_BUF **val /* [in,out] [ref] */); -struct tevent_req *rpccli_lsa_OpenPolicy2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_ObjectAttribute *_attr /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_OpenPolicy2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_OpenPolicy2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_ObjectAttribute *attr /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_GetUserName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_String **_account_name /* [in,out] [ref] */, - struct lsa_String **_authority_name /* [in,out] [unique] */); -NTSTATUS rpccli_lsa_GetUserName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_GetUserName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - struct lsa_String **account_name /* [in,out] [ref] */, - struct lsa_String **authority_name /* [in,out] [unique] */); -struct tevent_req *rpccli_lsa_QueryInfoPolicy2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_QueryInfoPolicy2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QueryInfoPolicy2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_SetInfoPolicy2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum lsa_PolicyInfo _level /* [in] */, - union lsa_PolicyInformation *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_SetInfoPolicy2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetInfoPolicy2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum lsa_PolicyInfo level /* [in] */, - union lsa_PolicyInformation *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_QueryTrustedDomainInfoByName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_QueryTrustedDomainInfoByName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QueryTrustedDomainInfoByName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_SetTrustedDomainInfoByName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum _level /* [in] */, - union lsa_TrustedDomainInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_SetTrustedDomainInfoByName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetTrustedDomainInfoByName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *trusted_domain /* [in] [ref] */, - enum lsa_TrustDomInfoEnum level /* [in] */, - union lsa_TrustedDomainInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_EnumTrustedDomainsEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct lsa_DomainListEx *_domains /* [out] [ref] */, - uint32_t _max_size /* [in] */); -NTSTATUS rpccli_lsa_EnumTrustedDomainsEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_EnumTrustedDomainsEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct lsa_DomainListEx *domains /* [out] [ref] */, - uint32_t max_size /* [in] */); -struct tevent_req *rpccli_lsa_CreateTrustedDomainEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *_info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *_auth_info /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_CreateTrustedDomainEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CreateTrustedDomainEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_CloseTrustedDomainEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_lsa_CloseTrustedDomainEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CloseTrustedDomainEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */); -struct tevent_req *rpccli_lsa_QueryDomainInformationPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - union lsa_DomainInformationPolicy **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_lsa_QueryDomainInformationPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_QueryDomainInformationPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint16_t level /* [in] */, - union lsa_DomainInformationPolicy **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_lsa_SetDomainInformationPolicy_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - union lsa_DomainInformationPolicy *_info /* [in] [unique,switch_is(level)] */); -NTSTATUS rpccli_lsa_SetDomainInformationPolicy_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_SetDomainInformationPolicy(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint16_t level /* [in] */, - union lsa_DomainInformationPolicy *info /* [in] [unique,switch_is(level)] */); -struct tevent_req *rpccli_lsa_OpenTrustedDomainByName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String _name /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_OpenTrustedDomainByName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_OpenTrustedDomainByName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String name /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_TestCall_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_TestCall_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_TestCall(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LookupSids2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransNameArray2 *_names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */); -NTSTATUS rpccli_lsa_LookupSids2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupSids2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransNameArray2 *names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */); -struct tevent_req *rpccli_lsa_LookupNames2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray2 *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */); -NTSTATUS rpccli_lsa_LookupNames2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupNames2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray2 *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */); -struct tevent_req *rpccli_lsa_CreateTrustedDomainEx2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *_info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *_auth_info /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_trustdom_handle /* [out] [ref] */); -NTSTATUS rpccli_lsa_CreateTrustedDomainEx2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CreateTrustedDomainEx2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *policy_handle /* [in] [ref] */, - struct lsa_TrustDomainInfoInfoEx *info /* [in] [ref] */, - struct lsa_TrustDomainInfoAuthInfoInternal *auth_info /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *trustdom_handle /* [out] [ref] */); -struct tevent_req *rpccli_lsa_CREDRWRITE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRWRITE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRWRITE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRREAD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRREAD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRREAD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRENUMERATE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRENUMERATE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRENUMERATE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRWRITEDOMAINCREDENTIALS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRREADDOMAINCREDENTIALS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRREADDOMAINCREDENTIALS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRREADDOMAINCREDENTIALS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRDELETE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRDELETE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRDELETE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRGETTARGETINFO_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRGETTARGETINFO_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRGETTARGETINFO(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_CREDRPROFILELOADED_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRPROFILELOADED_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRPROFILELOADED(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LookupNames3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray3 *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */); -NTSTATUS rpccli_lsa_LookupNames3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupNames3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray3 *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */); -struct tevent_req *rpccli_lsa_CREDRGETSESSIONTYPES_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRGETSESSIONTYPES_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRGETSESSIONTYPES(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LSARREGISTERAUDITEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSARREGISTERAUDITEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSARREGISTERAUDITEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LSARGENAUDITEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSARGENAUDITEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSARGENAUDITEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LSARUNREGISTERAUDITEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSARUNREGISTERAUDITEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSARUNREGISTERAUDITEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_lsaRQueryForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_String *_trusted_domain_name /* [in] [ref] */, - uint16_t _unknown /* [in] */, - struct lsa_ForestTrustInformation **_forest_trust_info /* [out] [ref] */); -NTSTATUS rpccli_lsa_lsaRQueryForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_lsaRQueryForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_String *trusted_domain_name /* [in] [ref] */, - uint16_t unknown /* [in] */, - struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */); -struct tevent_req *rpccli_lsa_lsaRSetForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct lsa_StringLarge *_trusted_domain_name /* [in] [ref] */, - uint16_t _highest_record_type /* [in] */, - struct lsa_ForestTrustInformation *_forest_trust_info /* [in] [ref] */, - uint8_t _check_only /* [in] */, - struct lsa_ForestTrustCollisionInfo **_collision_info /* [out] [ref] */); -NTSTATUS rpccli_lsa_lsaRSetForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_lsaRSetForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct lsa_StringLarge *trusted_domain_name /* [in] [ref] */, - uint16_t highest_record_type /* [in] */, - struct lsa_ForestTrustInformation *forest_trust_info /* [in] [ref] */, - uint8_t check_only /* [in] */, - struct lsa_ForestTrustCollisionInfo **collision_info /* [out] [ref] */); -struct tevent_req *rpccli_lsa_CREDRRENAME_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_CREDRRENAME_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_CREDRRENAME(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LookupSids3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransNameArray2 *_names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */); -NTSTATUS rpccli_lsa_LookupSids3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupSids3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_SidArray *sids /* [in] [ref] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransNameArray2 *names /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */); -struct tevent_req *rpccli_lsa_LookupNames4_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **_domains /* [out] [ref] */, - struct lsa_TransSidArray3 *_sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel _level /* [in] */, - uint32_t *_count /* [in,out] [ref] */, - enum lsa_LookupOptions _lookup_options /* [in] */, - enum lsa_ClientRevision _client_revision /* [in] */); -NTSTATUS rpccli_lsa_LookupNames4_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LookupNames4(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [size_is(num_names)] */, - struct lsa_RefDomainList **domains /* [out] [ref] */, - struct lsa_TransSidArray3 *sids /* [in,out] [ref] */, - enum lsa_LookupNamesLevel level /* [in] */, - uint32_t *count /* [in,out] [ref] */, - enum lsa_LookupOptions lookup_options /* [in] */, - enum lsa_ClientRevision client_revision /* [in] */); -struct tevent_req *rpccli_lsa_LSAROPENPOLICYSCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSAROPENPOLICYSCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSAROPENPOLICYSCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -struct tevent_req *rpccli_lsa_LSARADTREPORTSECURITYEVENT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_lsa_LSARADTREPORTSECURITYEVENT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_lsa_LSARADTREPORTSECURITYEVENT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx); -#endif /* __CLI_LSARPC__ */ diff --git a/librpc/gen_ndr/cli_netlogon.c b/librpc/gen_ndr/cli_netlogon.c deleted file mode 100644 index c7f29b5fa1a..00000000000 --- a/librpc/gen_ndr/cli_netlogon.c +++ /dev/null @@ -1,7620 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_netlogon.h" - -struct rpccli_netr_LogonUasLogon_state { - struct netr_LogonUasLogon orig; - struct netr_LogonUasLogon tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonUasLogon_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonUasLogon_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - const char *_workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasInfo **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonUasLogon_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonUasLogon_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.workstation = _workstation; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonUasLogon_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_netlogon, - NDR_NETR_LOGONUASLOGON, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonUasLogon_done, req); - return req; -} - -static void rpccli_netr_LogonUasLogon_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonUasLogon_state *state = tevent_req_data( - req, struct rpccli_netr_LogonUasLogon_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonUasLogon_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_LogonUasLogon_state *state = tevent_req_data( - req, struct rpccli_netr_LogonUasLogon_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_netr_LogonUasLogon(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - const char *workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasInfo **info /* [out] [ref] */, - WERROR *werror) -{ - struct netr_LogonUasLogon r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.workstation = workstation; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONUASLOGON, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonUasLogoff_state { - struct netr_LogonUasLogoff orig; - struct netr_LogonUasLogoff tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonUasLogoff_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonUasLogoff_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - const char *_workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasLogoffInfo *_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonUasLogoff_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonUasLogoff_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.workstation = _workstation; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonUasLogoff_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_netlogon, - NDR_NETR_LOGONUASLOGOFF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonUasLogoff_done, req); - return req; -} - -static void rpccli_netr_LogonUasLogoff_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonUasLogoff_state *state = tevent_req_data( - req, struct rpccli_netr_LogonUasLogoff_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonUasLogoff_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_LogonUasLogoff_state *state = tevent_req_data( - req, struct rpccli_netr_LogonUasLogoff_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_netr_LogonUasLogoff(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - const char *workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasLogoffInfo *info /* [out] [ref] */, - WERROR *werror) -{ - struct netr_LogonUasLogoff r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.workstation = workstation; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONUASLOGOFF, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonSamLogon_state { - struct netr_LogonSamLogon orig; - struct netr_LogonSamLogon tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonSamLogon_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonSamLogon_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [unique] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel *_logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t _validation_level /* [in] */, - union netr_Validation *_validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *_authoritative /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonSamLogon_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonSamLogon_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.logon_level = _logon_level; - state->orig.in.logon = _logon; - state->orig.in.validation_level = _validation_level; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.validation = _validation; - state->orig.out.authoritative = _authoritative; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonSamLogon_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_netlogon, - NDR_NETR_LOGONSAMLOGON, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonSamLogon_done, req); - return req; -} - -static void rpccli_netr_LogonSamLogon_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonSamLogon_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogon_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.return_authenticator && state->tmp.out.return_authenticator) { - *state->orig.out.return_authenticator = *state->tmp.out.return_authenticator; - } - *state->orig.out.validation = *state->tmp.out.validation; - *state->orig.out.authoritative = *state->tmp.out.authoritative; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonSamLogon_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_LogonSamLogon_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogon_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_netr_LogonSamLogon(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [unique] */, - struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t validation_level /* [in] */, - union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *authoritative /* [out] [ref] */) -{ - struct netr_LogonSamLogon r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.logon_level = logon_level; - r.in.logon = logon; - r.in.validation_level = validation_level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONSAMLOGON, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (return_authenticator && r.out.return_authenticator) { - *return_authenticator = *r.out.return_authenticator; - } - *validation = *r.out.validation; - *authoritative = *r.out.authoritative; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_LogonSamLogoff_state { - struct netr_LogonSamLogoff orig; - struct netr_LogonSamLogoff tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonSamLogoff_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonSamLogoff_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [unique] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel _logon /* [in] [switch_is(logon_level)] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonSamLogoff_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonSamLogoff_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.logon_level = _logon_level; - state->orig.in.logon = _logon; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonSamLogoff_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_netlogon, - NDR_NETR_LOGONSAMLOGOFF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonSamLogoff_done, req); - return req; -} - -static void rpccli_netr_LogonSamLogoff_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonSamLogoff_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogoff_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.return_authenticator && state->tmp.out.return_authenticator) { - *state->orig.out.return_authenticator = *state->tmp.out.return_authenticator; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonSamLogoff_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_LogonSamLogoff_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogoff_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_netr_LogonSamLogoff(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [unique] */, - struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */) -{ - struct netr_LogonSamLogoff r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.logon_level = logon_level; - r.in.logon = logon; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONSAMLOGOFF, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (return_authenticator && r.out.return_authenticator) { - *return_authenticator = *r.out.return_authenticator; - } - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_ServerReqChallenge_state { - struct netr_ServerReqChallenge orig; - struct netr_ServerReqChallenge tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerReqChallenge_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerReqChallenge_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerReqChallenge_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerReqChallenge_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credentials = _credentials; - - /* Out parameters */ - state->orig.out.return_credentials = _return_credentials; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerReqChallenge_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_netlogon, - NDR_NETR_SERVERREQCHALLENGE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerReqChallenge_done, req); - return req; -} - -static void rpccli_netr_ServerReqChallenge_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerReqChallenge_state *state = tevent_req_data( - req, struct rpccli_netr_ServerReqChallenge_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.return_credentials = *state->tmp.out.return_credentials; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerReqChallenge_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerReqChallenge_state *state = tevent_req_data( - req, struct rpccli_netr_ServerReqChallenge_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_netr_ServerReqChallenge(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */) -{ - struct netr_ServerReqChallenge r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credentials = credentials; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERREQCHALLENGE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_credentials = *r.out.return_credentials; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_ServerAuthenticate_state { - struct netr_ServerAuthenticate orig; - struct netr_ServerAuthenticate tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerAuthenticate_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerAuthenticate_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerAuthenticate_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerAuthenticate_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credentials = _credentials; - - /* Out parameters */ - state->orig.out.return_credentials = _return_credentials; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerAuthenticate_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_netlogon, - NDR_NETR_SERVERAUTHENTICATE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerAuthenticate_done, req); - return req; -} - -static void rpccli_netr_ServerAuthenticate_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerAuthenticate_state *state = tevent_req_data( - req, struct rpccli_netr_ServerAuthenticate_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.return_credentials = *state->tmp.out.return_credentials; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerAuthenticate_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerAuthenticate_state *state = tevent_req_data( - req, struct rpccli_netr_ServerAuthenticate_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_netr_ServerAuthenticate(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */) -{ - struct netr_ServerAuthenticate r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credentials = credentials; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERAUTHENTICATE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_credentials = *r.out.return_credentials; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_ServerPasswordSet_state { - struct netr_ServerPasswordSet orig; - struct netr_ServerPasswordSet tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerPasswordSet_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerPasswordSet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_new_password /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerPasswordSet_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerPasswordSet_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.new_password = _new_password; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerPasswordSet_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_netlogon, - NDR_NETR_SERVERPASSWORDSET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerPasswordSet_done, req); - return req; -} - -static void rpccli_netr_ServerPasswordSet_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerPasswordSet_state *state = tevent_req_data( - req, struct rpccli_netr_ServerPasswordSet_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.return_authenticator = *state->tmp.out.return_authenticator; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerPasswordSet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerPasswordSet_state *state = tevent_req_data( - req, struct rpccli_netr_ServerPasswordSet_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_netr_ServerPasswordSet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *new_password /* [in] [ref] */) -{ - struct netr_ServerPasswordSet r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.new_password = new_password; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERPASSWORDSET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DatabaseDeltas_state { - struct netr_DatabaseDeltas orig; - struct netr_DatabaseDeltas tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DatabaseDeltas_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DatabaseDeltas_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID _database_id /* [in] */, - uint64_t *_sequence_num /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */, - uint32_t _preferredmaximumlength /* [in] */) -{ - struct tevent_req *req; - struct rpccli_netr_DatabaseDeltas_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DatabaseDeltas_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.computername = _computername; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.database_id = _database_id; - state->orig.in.sequence_num = _sequence_num; - state->orig.in.preferredmaximumlength = _preferredmaximumlength; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.sequence_num = _sequence_num; - state->orig.out.delta_enum_array = _delta_enum_array; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DatabaseDeltas_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_netlogon, - NDR_NETR_DATABASEDELTAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DatabaseDeltas_done, req); - return req; -} - -static void rpccli_netr_DatabaseDeltas_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DatabaseDeltas_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseDeltas_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.sequence_num = *state->tmp.out.sequence_num; - *state->orig.out.delta_enum_array = *state->tmp.out.delta_enum_array; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DatabaseDeltas_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_DatabaseDeltas_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseDeltas_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_netr_DatabaseDeltas(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID database_id /* [in] */, - uint64_t *sequence_num /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */, - uint32_t preferredmaximumlength /* [in] */) -{ - struct netr_DatabaseDeltas r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.computername = computername; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.database_id = database_id; - r.in.sequence_num = sequence_num; - r.in.preferredmaximumlength = preferredmaximumlength; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DATABASEDELTAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *sequence_num = *r.out.sequence_num; - *delta_enum_array = *r.out.delta_enum_array; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DatabaseSync_state { - struct netr_DatabaseSync orig; - struct netr_DatabaseSync tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DatabaseSync_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DatabaseSync_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID _database_id /* [in] */, - uint32_t *_sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */, - uint32_t _preferredmaximumlength /* [in] */) -{ - struct tevent_req *req; - struct rpccli_netr_DatabaseSync_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DatabaseSync_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.computername = _computername; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.database_id = _database_id; - state->orig.in.sync_context = _sync_context; - state->orig.in.preferredmaximumlength = _preferredmaximumlength; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.sync_context = _sync_context; - state->orig.out.delta_enum_array = _delta_enum_array; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DatabaseSync_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_netlogon, - NDR_NETR_DATABASESYNC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DatabaseSync_done, req); - return req; -} - -static void rpccli_netr_DatabaseSync_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DatabaseSync_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseSync_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.sync_context = *state->tmp.out.sync_context; - *state->orig.out.delta_enum_array = *state->tmp.out.delta_enum_array; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DatabaseSync_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_DatabaseSync_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseSync_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_netr_DatabaseSync(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID database_id /* [in] */, - uint32_t *sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */, - uint32_t preferredmaximumlength /* [in] */) -{ - struct netr_DatabaseSync r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.computername = computername; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.database_id = database_id; - r.in.sync_context = sync_context; - r.in.preferredmaximumlength = preferredmaximumlength; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DATABASESYNC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *sync_context = *r.out.sync_context; - *delta_enum_array = *r.out.delta_enum_array; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_AccountDeltas_state { - struct netr_AccountDeltas orig; - struct netr_AccountDeltas tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_AccountDeltas_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_AccountDeltas_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator _credential /* [in] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - struct netr_UAS_INFO_0 _uas /* [in] */, - uint32_t _count /* [in] */, - uint32_t _level /* [in] */, - uint32_t _buffersize /* [in] */, - struct netr_AccountBuffer *_buffer /* [out] [ref,subcontext(4)] */, - uint32_t *_count_returned /* [out] [ref] */, - uint32_t *_total_entries /* [out] [ref] */, - struct netr_UAS_INFO_0 *_recordid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_AccountDeltas_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_AccountDeltas_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.computername = _computername; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.uas = _uas; - state->orig.in.count = _count; - state->orig.in.level = _level; - state->orig.in.buffersize = _buffersize; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.buffer = _buffer; - state->orig.out.count_returned = _count_returned; - state->orig.out.total_entries = _total_entries; - state->orig.out.recordid = _recordid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_AccountDeltas_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_netlogon, - NDR_NETR_ACCOUNTDELTAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_AccountDeltas_done, req); - return req; -} - -static void rpccli_netr_AccountDeltas_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_AccountDeltas_state *state = tevent_req_data( - req, struct rpccli_netr_AccountDeltas_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.buffer = *state->tmp.out.buffer; - *state->orig.out.count_returned = *state->tmp.out.count_returned; - *state->orig.out.total_entries = *state->tmp.out.total_entries; - *state->orig.out.recordid = *state->tmp.out.recordid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_AccountDeltas_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_AccountDeltas_state *state = tevent_req_data( - req, struct rpccli_netr_AccountDeltas_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_netr_AccountDeltas(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator credential /* [in] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - struct netr_UAS_INFO_0 uas /* [in] */, - uint32_t count /* [in] */, - uint32_t level /* [in] */, - uint32_t buffersize /* [in] */, - struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */, - uint32_t *count_returned /* [out] [ref] */, - uint32_t *total_entries /* [out] [ref] */, - struct netr_UAS_INFO_0 *recordid /* [out] [ref] */) -{ - struct netr_AccountDeltas r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.computername = computername; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.uas = uas; - r.in.count = count; - r.in.level = level; - r.in.buffersize = buffersize; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_ACCOUNTDELTAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *buffer = *r.out.buffer; - *count_returned = *r.out.count_returned; - *total_entries = *r.out.total_entries; - *recordid = *r.out.recordid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_AccountSync_state { - struct netr_AccountSync orig; - struct netr_AccountSync tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_AccountSync_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_AccountSync_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator _credential /* [in] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - uint32_t _reference /* [in] */, - uint32_t _level /* [in] */, - uint32_t _buffersize /* [in] */, - struct netr_AccountBuffer *_buffer /* [out] [ref,subcontext(4)] */, - uint32_t *_count_returned /* [out] [ref] */, - uint32_t *_total_entries /* [out] [ref] */, - uint32_t *_next_reference /* [out] [ref] */, - struct netr_UAS_INFO_0 *_recordid /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_AccountSync_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_AccountSync_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.computername = _computername; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.reference = _reference; - state->orig.in.level = _level; - state->orig.in.buffersize = _buffersize; - state->orig.in.recordid = _recordid; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.buffer = _buffer; - state->orig.out.count_returned = _count_returned; - state->orig.out.total_entries = _total_entries; - state->orig.out.next_reference = _next_reference; - state->orig.out.recordid = _recordid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_AccountSync_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_netlogon, - NDR_NETR_ACCOUNTSYNC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_AccountSync_done, req); - return req; -} - -static void rpccli_netr_AccountSync_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_AccountSync_state *state = tevent_req_data( - req, struct rpccli_netr_AccountSync_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.buffer = *state->tmp.out.buffer; - *state->orig.out.count_returned = *state->tmp.out.count_returned; - *state->orig.out.total_entries = *state->tmp.out.total_entries; - *state->orig.out.next_reference = *state->tmp.out.next_reference; - *state->orig.out.recordid = *state->tmp.out.recordid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_AccountSync_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_AccountSync_state *state = tevent_req_data( - req, struct rpccli_netr_AccountSync_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_netr_AccountSync(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator credential /* [in] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - uint32_t reference /* [in] */, - uint32_t level /* [in] */, - uint32_t buffersize /* [in] */, - struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */, - uint32_t *count_returned /* [out] [ref] */, - uint32_t *total_entries /* [out] [ref] */, - uint32_t *next_reference /* [out] [ref] */, - struct netr_UAS_INFO_0 *recordid /* [in,out] [ref] */) -{ - struct netr_AccountSync r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.computername = computername; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.reference = reference; - r.in.level = level; - r.in.buffersize = buffersize; - r.in.recordid = recordid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_ACCOUNTSYNC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *buffer = *r.out.buffer; - *count_returned = *r.out.count_returned; - *total_entries = *r.out.total_entries; - *next_reference = *r.out.next_reference; - *recordid = *r.out.recordid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_GetDcName_state { - struct netr_GetDcName orig; - struct netr_GetDcName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_GetDcName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_GetDcName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_domainname /* [in] [unique,charset(UTF16)] */, - const char **_dcname /* [out] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_netr_GetDcName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_GetDcName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.domainname = _domainname; - - /* Out parameters */ - state->orig.out.dcname = _dcname; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_GetDcName_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_netlogon, - NDR_NETR_GETDCNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_GetDcName_done, req); - return req; -} - -static void rpccli_netr_GetDcName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_GetDcName_state *state = tevent_req_data( - req, struct rpccli_netr_GetDcName_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.dcname = *state->tmp.out.dcname; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_GetDcName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_GetDcName_state *state = tevent_req_data( - req, struct rpccli_netr_GetDcName_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_netr_GetDcName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *domainname /* [in] [unique,charset(UTF16)] */, - const char **dcname /* [out] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct netr_GetDcName r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.domainname = domainname; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_GETDCNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *dcname = *r.out.dcname; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonControl_state { - struct netr_LogonControl orig; - struct netr_LogonControl tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonControl_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonControl_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode _function_code /* [in] */, - uint32_t _level /* [in] */, - union netr_CONTROL_QUERY_INFORMATION *_query /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonControl_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonControl_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.function_code = _function_code; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.query = _query; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonControl_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_netlogon, - NDR_NETR_LOGONCONTROL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonControl_done, req); - return req; -} - -static void rpccli_netr_LogonControl_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonControl_state *state = tevent_req_data( - req, struct rpccli_netr_LogonControl_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.query = *state->tmp.out.query; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonControl_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_LogonControl_state *state = tevent_req_data( - req, struct rpccli_netr_LogonControl_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_netr_LogonControl(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode function_code /* [in] */, - uint32_t level /* [in] */, - union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct netr_LogonControl r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.function_code = function_code; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONCONTROL, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *query = *r.out.query; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_GetAnyDCName_state { - struct netr_GetAnyDCName orig; - struct netr_GetAnyDCName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_GetAnyDCName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_GetAnyDCName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - const char *_domainname /* [in] [unique,charset(UTF16)] */, - const char **_dcname /* [out] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_netr_GetAnyDCName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_GetAnyDCName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.domainname = _domainname; - - /* Out parameters */ - state->orig.out.dcname = _dcname; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_GetAnyDCName_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_netlogon, - NDR_NETR_GETANYDCNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_GetAnyDCName_done, req); - return req; -} - -static void rpccli_netr_GetAnyDCName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_GetAnyDCName_state *state = tevent_req_data( - req, struct rpccli_netr_GetAnyDCName_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.dcname = *state->tmp.out.dcname; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_GetAnyDCName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_GetAnyDCName_state *state = tevent_req_data( - req, struct rpccli_netr_GetAnyDCName_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_netr_GetAnyDCName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - const char *domainname /* [in] [unique,charset(UTF16)] */, - const char **dcname /* [out] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct netr_GetAnyDCName r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.domainname = domainname; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_GETANYDCNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *dcname = *r.out.dcname; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonControl2_state { - struct netr_LogonControl2 orig; - struct netr_LogonControl2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonControl2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonControl2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode _function_code /* [in] */, - uint32_t _level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *_data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *_query /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonControl2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonControl2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.function_code = _function_code; - state->orig.in.level = _level; - state->orig.in.data = _data; - - /* Out parameters */ - state->orig.out.query = _query; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonControl2_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_netlogon, - NDR_NETR_LOGONCONTROL2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonControl2_done, req); - return req; -} - -static void rpccli_netr_LogonControl2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonControl2_state *state = tevent_req_data( - req, struct rpccli_netr_LogonControl2_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.query = *state->tmp.out.query; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonControl2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_LogonControl2_state *state = tevent_req_data( - req, struct rpccli_netr_LogonControl2_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_netr_LogonControl2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode function_code /* [in] */, - uint32_t level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct netr_LogonControl2 r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.function_code = function_code; - r.in.level = level; - r.in.data = data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONCONTROL2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *query = *r.out.query; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_ServerAuthenticate2_state { - struct netr_ServerAuthenticate2 orig; - struct netr_ServerAuthenticate2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerAuthenticate2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerAuthenticate2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */, - uint32_t *_negotiate_flags /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerAuthenticate2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerAuthenticate2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credentials = _credentials; - state->orig.in.negotiate_flags = _negotiate_flags; - - /* Out parameters */ - state->orig.out.return_credentials = _return_credentials; - state->orig.out.negotiate_flags = _negotiate_flags; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerAuthenticate2_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_netlogon, - NDR_NETR_SERVERAUTHENTICATE2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerAuthenticate2_done, req); - return req; -} - -static void rpccli_netr_ServerAuthenticate2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerAuthenticate2_state *state = tevent_req_data( - req, struct rpccli_netr_ServerAuthenticate2_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.return_credentials = *state->tmp.out.return_credentials; - *state->orig.out.negotiate_flags = *state->tmp.out.negotiate_flags; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerAuthenticate2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerAuthenticate2_state *state = tevent_req_data( - req, struct rpccli_netr_ServerAuthenticate2_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_netr_ServerAuthenticate2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */, - uint32_t *negotiate_flags /* [in,out] [ref] */) -{ - struct netr_ServerAuthenticate2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credentials = credentials; - r.in.negotiate_flags = negotiate_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERAUTHENTICATE2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_credentials = *r.out.return_credentials; - *negotiate_flags = *r.out.negotiate_flags; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DatabaseSync2_state { - struct netr_DatabaseSync2 orig; - struct netr_DatabaseSync2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DatabaseSync2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DatabaseSync2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID _database_id /* [in] */, - enum SyncStateEnum _restart_state /* [in] */, - uint32_t *_sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */, - uint32_t _preferredmaximumlength /* [in] */) -{ - struct tevent_req *req; - struct rpccli_netr_DatabaseSync2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DatabaseSync2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.computername = _computername; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.database_id = _database_id; - state->orig.in.restart_state = _restart_state; - state->orig.in.sync_context = _sync_context; - state->orig.in.preferredmaximumlength = _preferredmaximumlength; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.sync_context = _sync_context; - state->orig.out.delta_enum_array = _delta_enum_array; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DatabaseSync2_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_netlogon, - NDR_NETR_DATABASESYNC2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DatabaseSync2_done, req); - return req; -} - -static void rpccli_netr_DatabaseSync2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DatabaseSync2_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseSync2_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.sync_context = *state->tmp.out.sync_context; - *state->orig.out.delta_enum_array = *state->tmp.out.delta_enum_array; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DatabaseSync2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_DatabaseSync2_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseSync2_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_netr_DatabaseSync2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID database_id /* [in] */, - enum SyncStateEnum restart_state /* [in] */, - uint32_t *sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */, - uint32_t preferredmaximumlength /* [in] */) -{ - struct netr_DatabaseSync2 r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.computername = computername; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.database_id = database_id; - r.in.restart_state = restart_state; - r.in.sync_context = sync_context; - r.in.preferredmaximumlength = preferredmaximumlength; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DATABASESYNC2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *sync_context = *r.out.sync_context; - *delta_enum_array = *r.out.delta_enum_array; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DatabaseRedo_state { - struct netr_DatabaseRedo orig; - struct netr_DatabaseRedo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DatabaseRedo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DatabaseRedo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext(4)] */, - uint32_t _change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DatabaseRedo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DatabaseRedo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.computername = _computername; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.change_log_entry = _change_log_entry; - state->orig.in.change_log_entry_size = _change_log_entry_size; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.delta_enum_array = _delta_enum_array; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DatabaseRedo_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_netlogon, - NDR_NETR_DATABASEREDO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DatabaseRedo_done, req); - return req; -} - -static void rpccli_netr_DatabaseRedo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DatabaseRedo_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseRedo_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.delta_enum_array = *state->tmp.out.delta_enum_array; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DatabaseRedo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_DatabaseRedo_state *state = tevent_req_data( - req, struct rpccli_netr_DatabaseRedo_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_netr_DatabaseRedo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext(4)] */, - uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */) -{ - struct netr_DatabaseRedo r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.computername = computername; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.change_log_entry = change_log_entry; - r.in.change_log_entry_size = change_log_entry_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DATABASEREDO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *delta_enum_array = *r.out.delta_enum_array; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_LogonControl2Ex_state { - struct netr_LogonControl2Ex orig; - struct netr_LogonControl2Ex tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonControl2Ex_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonControl2Ex_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode _function_code /* [in] */, - uint32_t _level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *_data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *_query /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonControl2Ex_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonControl2Ex_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.logon_server = _logon_server; - state->orig.in.function_code = _function_code; - state->orig.in.level = _level; - state->orig.in.data = _data; - - /* Out parameters */ - state->orig.out.query = _query; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonControl2Ex_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_netlogon, - NDR_NETR_LOGONCONTROL2EX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonControl2Ex_done, req); - return req; -} - -static void rpccli_netr_LogonControl2Ex_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonControl2Ex_state *state = tevent_req_data( - req, struct rpccli_netr_LogonControl2Ex_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.query = *state->tmp.out.query; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonControl2Ex_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_LogonControl2Ex_state *state = tevent_req_data( - req, struct rpccli_netr_LogonControl2Ex_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_netr_LogonControl2Ex(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode function_code /* [in] */, - uint32_t level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct netr_LogonControl2Ex r; - NTSTATUS status; - - /* In parameters */ - r.in.logon_server = logon_server; - r.in.function_code = function_code; - r.in.level = level; - r.in.data = data; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONCONTROL2EX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *query = *r.out.query; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_NetrEnumerateTrustedDomains_state { - struct netr_NetrEnumerateTrustedDomains orig; - struct netr_NetrEnumerateTrustedDomains tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NetrEnumerateTrustedDomains_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NetrEnumerateTrustedDomains_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct netr_Blob *_trusted_domains_blob /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_NetrEnumerateTrustedDomains_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NetrEnumerateTrustedDomains_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - - /* Out parameters */ - state->orig.out.trusted_domains_blob = _trusted_domains_blob; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_NetrEnumerateTrustedDomains_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_netlogon, - NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NetrEnumerateTrustedDomains_done, req); - return req; -} - -static void rpccli_netr_NetrEnumerateTrustedDomains_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NetrEnumerateTrustedDomains_state *state = tevent_req_data( - req, struct rpccli_netr_NetrEnumerateTrustedDomains_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.trusted_domains_blob = *state->tmp.out.trusted_domains_blob; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NetrEnumerateTrustedDomains_state *state = tevent_req_data( - req, struct rpccli_netr_NetrEnumerateTrustedDomains_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_netr_NetrEnumerateTrustedDomains(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct netr_Blob *trusted_domains_blob /* [out] [ref] */, - WERROR *werror) -{ - struct netr_NetrEnumerateTrustedDomains r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trusted_domains_blob = *r.out.trusted_domains_blob; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_DsRGetDCName_state { - struct netr_DsRGetDCName orig; - struct netr_DsRGetDCName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRGetDCName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRGetDCName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - struct GUID *_site_guid /* [in] [unique] */, - uint32_t _flags /* [in] */, - struct netr_DsRGetDCNameInfo **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRGetDCName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRGetDCName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.domain_name = _domain_name; - state->orig.in.domain_guid = _domain_guid; - state->orig.in.site_guid = _site_guid; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRGetDCName_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_netlogon, - NDR_NETR_DSRGETDCNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRGetDCName_done, req); - return req; -} - -static void rpccli_netr_DsRGetDCName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRGetDCName_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetDCName_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DsRGetDCName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRGetDCName_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetDCName_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_netr_DsRGetDCName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - struct GUID *site_guid /* [in] [unique] */, - uint32_t flags /* [in] */, - struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsRGetDCName r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.domain_name = domain_name; - r.in.domain_guid = domain_guid; - r.in.site_guid = site_guid; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRGETDCNAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonGetCapabilities_state { - struct netr_LogonGetCapabilities orig; - struct netr_LogonGetCapabilities tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonGetCapabilities_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonGetCapabilities_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [ref,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - uint32_t _query_level /* [in] */, - union netr_Capabilities *_capabilities /* [out] [ref,switch_is(query_level)] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonGetCapabilities_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonGetCapabilities_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.query_level = _query_level; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.capabilities = _capabilities; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonGetCapabilities_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_netlogon, - NDR_NETR_LOGONGETCAPABILITIES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonGetCapabilities_done, req); - return req; -} - -static void rpccli_netr_LogonGetCapabilities_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonGetCapabilities_state *state = tevent_req_data( - req, struct rpccli_netr_LogonGetCapabilities_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.capabilities = *state->tmp.out.capabilities; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonGetCapabilities_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_LogonGetCapabilities_state *state = tevent_req_data( - req, struct rpccli_netr_LogonGetCapabilities_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_netr_LogonGetCapabilities(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [ref,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - uint32_t query_level /* [in] */, - union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */) -{ - struct netr_LogonGetCapabilities r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.query_level = query_level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONGETCAPABILITIES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *capabilities = *r.out.capabilities; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_NETRLOGONSETSERVICEBITS_state { - struct netr_NETRLOGONSETSERVICEBITS orig; - struct netr_NETRLOGONSETSERVICEBITS tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NETRLOGONSETSERVICEBITS_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NETRLOGONSETSERVICEBITS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_netr_NETRLOGONSETSERVICEBITS_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NETRLOGONSETSERVICEBITS_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_netlogon, - NDR_NETR_NETRLOGONSETSERVICEBITS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NETRLOGONSETSERVICEBITS_done, req); - return req; -} - -static void rpccli_netr_NETRLOGONSETSERVICEBITS_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NETRLOGONSETSERVICEBITS_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONSETSERVICEBITS_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_netr_NETRLOGONSETSERVICEBITS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NETRLOGONSETSERVICEBITS_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONSETSERVICEBITS_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_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct netr_NETRLOGONSETSERVICEBITS r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRLOGONSETSERVICEBITS, - &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_netr_LogonGetTrustRid_state { - struct netr_LogonGetTrustRid orig; - struct netr_LogonGetTrustRid tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonGetTrustRid_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonGetTrustRid_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t *_rid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonGetTrustRid_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonGetTrustRid_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.domain_name = _domain_name; - - /* Out parameters */ - state->orig.out.rid = _rid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonGetTrustRid_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_netlogon, - NDR_NETR_LOGONGETTRUSTRID, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonGetTrustRid_done, req); - return req; -} - -static void rpccli_netr_LogonGetTrustRid_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonGetTrustRid_state *state = tevent_req_data( - req, struct rpccli_netr_LogonGetTrustRid_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.rid = *state->tmp.out.rid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonGetTrustRid_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_LogonGetTrustRid_state *state = tevent_req_data( - req, struct rpccli_netr_LogonGetTrustRid_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_netr_LogonGetTrustRid(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t *rid /* [out] [ref] */, - WERROR *werror) -{ - struct netr_LogonGetTrustRid r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.domain_name = domain_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONGETTRUSTRID, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rid = *r.out.rid; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_state { - struct netr_NETRLOGONCOMPUTESERVERDIGEST orig; - struct netr_NETRLOGONCOMPUTESERVERDIGEST tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_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_netlogon, - NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_done, req); - return req; -} - -static void rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_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_netr_NETRLOGONCOMPUTESERVERDIGEST_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_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_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct netr_NETRLOGONCOMPUTESERVERDIGEST r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST, - &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_netr_NETRLOGONCOMPUTECLIENTDIGEST_state { - struct netr_NETRLOGONCOMPUTECLIENTDIGEST orig; - struct netr_NETRLOGONCOMPUTECLIENTDIGEST tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_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_netlogon, - NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_done, req); - return req; -} - -static void rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_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_netr_NETRLOGONCOMPUTECLIENTDIGEST_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_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_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct netr_NETRLOGONCOMPUTECLIENTDIGEST r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST, - &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_netr_ServerAuthenticate3_state { - struct netr_ServerAuthenticate3 orig; - struct netr_ServerAuthenticate3 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerAuthenticate3_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerAuthenticate3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */, - uint32_t *_negotiate_flags /* [in,out] [ref] */, - uint32_t *_rid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerAuthenticate3_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerAuthenticate3_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credentials = _credentials; - state->orig.in.negotiate_flags = _negotiate_flags; - - /* Out parameters */ - state->orig.out.return_credentials = _return_credentials; - state->orig.out.negotiate_flags = _negotiate_flags; - state->orig.out.rid = _rid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerAuthenticate3_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_netlogon, - NDR_NETR_SERVERAUTHENTICATE3, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerAuthenticate3_done, req); - return req; -} - -static void rpccli_netr_ServerAuthenticate3_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerAuthenticate3_state *state = tevent_req_data( - req, struct rpccli_netr_ServerAuthenticate3_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.return_credentials = *state->tmp.out.return_credentials; - *state->orig.out.negotiate_flags = *state->tmp.out.negotiate_flags; - *state->orig.out.rid = *state->tmp.out.rid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerAuthenticate3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerAuthenticate3_state *state = tevent_req_data( - req, struct rpccli_netr_ServerAuthenticate3_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_netr_ServerAuthenticate3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */, - uint32_t *negotiate_flags /* [in,out] [ref] */, - uint32_t *rid /* [out] [ref] */) -{ - struct netr_ServerAuthenticate3 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credentials = credentials; - r.in.negotiate_flags = negotiate_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERAUTHENTICATE3, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_credentials = *r.out.return_credentials; - *negotiate_flags = *r.out.negotiate_flags; - *rid = *r.out.rid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DsRGetDCNameEx_state { - struct netr_DsRGetDCNameEx orig; - struct netr_DsRGetDCNameEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRGetDCNameEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRGetDCNameEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - const char *_site_name /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct netr_DsRGetDCNameInfo **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRGetDCNameEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRGetDCNameEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.domain_name = _domain_name; - state->orig.in.domain_guid = _domain_guid; - state->orig.in.site_name = _site_name; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRGetDCNameEx_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_netlogon, - NDR_NETR_DSRGETDCNAMEEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRGetDCNameEx_done, req); - return req; -} - -static void rpccli_netr_DsRGetDCNameEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRGetDCNameEx_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetDCNameEx_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DsRGetDCNameEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRGetDCNameEx_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetDCNameEx_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_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - const char *site_name /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsRGetDCNameEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.domain_name = domain_name; - r.in.domain_guid = domain_guid; - r.in.site_name = site_name; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRGETDCNAMEEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_DsRGetSiteName_state { - struct netr_DsRGetSiteName orig; - struct netr_DsRGetSiteName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRGetSiteName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRGetSiteName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - const char **_site /* [out] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRGetSiteName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRGetSiteName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.computer_name = _computer_name; - - /* Out parameters */ - state->orig.out.site = _site; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRGetSiteName_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_netlogon, - NDR_NETR_DSRGETSITENAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRGetSiteName_done, req); - return req; -} - -static void rpccli_netr_DsRGetSiteName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRGetSiteName_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetSiteName_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.site = *state->tmp.out.site; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DsRGetSiteName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRGetSiteName_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetSiteName_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_netr_DsRGetSiteName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - const char **site /* [out] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct netr_DsRGetSiteName r; - NTSTATUS status; - - /* In parameters */ - r.in.computer_name = computer_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRGETSITENAME, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *site = *r.out.site; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonGetDomainInfo_state { - struct netr_LogonGetDomainInfo orig; - struct netr_LogonGetDomainInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonGetDomainInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonGetDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [ref,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - uint32_t _level /* [in] */, - union netr_WorkstationInfo *_query /* [in] [ref,switch_is(level)] */, - union netr_DomainInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonGetDomainInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonGetDomainInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.level = _level; - state->orig.in.query = _query; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonGetDomainInfo_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_netlogon, - NDR_NETR_LOGONGETDOMAININFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonGetDomainInfo_done, req); - return req; -} - -static void rpccli_netr_LogonGetDomainInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonGetDomainInfo_state *state = tevent_req_data( - req, struct rpccli_netr_LogonGetDomainInfo_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.return_authenticator = *state->tmp.out.return_authenticator; - *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_netr_LogonGetDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_LogonGetDomainInfo_state *state = tevent_req_data( - req, struct rpccli_netr_LogonGetDomainInfo_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_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [ref,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - uint32_t level /* [in] */, - union netr_WorkstationInfo *query /* [in] [ref,switch_is(level)] */, - union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */) -{ - struct netr_LogonGetDomainInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.level = level; - r.in.query = query; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONGETDOMAININFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_ServerPasswordSet2_state { - struct netr_ServerPasswordSet2 orig; - struct netr_ServerPasswordSet2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerPasswordSet2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerPasswordSet2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct netr_CryptPassword *_new_password /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerPasswordSet2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerPasswordSet2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.new_password = _new_password; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerPasswordSet2_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_netlogon, - NDR_NETR_SERVERPASSWORDSET2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerPasswordSet2_done, req); - return req; -} - -static void rpccli_netr_ServerPasswordSet2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerPasswordSet2_state *state = tevent_req_data( - req, struct rpccli_netr_ServerPasswordSet2_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.return_authenticator = *state->tmp.out.return_authenticator; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerPasswordSet2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerPasswordSet2_state *state = tevent_req_data( - req, struct rpccli_netr_ServerPasswordSet2_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_netr_ServerPasswordSet2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct netr_CryptPassword *new_password /* [in] [ref] */) -{ - struct netr_ServerPasswordSet2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.new_password = new_password; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERPASSWORDSET2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_ServerPasswordGet_state { - struct netr_ServerPasswordGet orig; - struct netr_ServerPasswordGet tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerPasswordGet_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerPasswordGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_password /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerPasswordGet_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerPasswordGet_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.password = _password; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerPasswordGet_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_netlogon, - NDR_NETR_SERVERPASSWORDGET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerPasswordGet_done, req); - return req; -} - -static void rpccli_netr_ServerPasswordGet_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerPasswordGet_state *state = tevent_req_data( - req, struct rpccli_netr_ServerPasswordGet_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.password = *state->tmp.out.password; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerPasswordGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_ServerPasswordGet_state *state = tevent_req_data( - req, struct rpccli_netr_ServerPasswordGet_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_netr_ServerPasswordGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *password /* [out] [ref] */, - WERROR *werror) -{ - struct netr_ServerPasswordGet r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credential = credential; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERPASSWORDGET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *password = *r.out.password; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_NETRLOGONSENDTOSAM_state { - struct netr_NETRLOGONSENDTOSAM orig; - struct netr_NETRLOGONSENDTOSAM tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NETRLOGONSENDTOSAM_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NETRLOGONSENDTOSAM_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_netr_NETRLOGONSENDTOSAM_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NETRLOGONSENDTOSAM_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_netlogon, - NDR_NETR_NETRLOGONSENDTOSAM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NETRLOGONSENDTOSAM_done, req); - return req; -} - -static void rpccli_netr_NETRLOGONSENDTOSAM_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NETRLOGONSENDTOSAM_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONSENDTOSAM_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_netr_NETRLOGONSENDTOSAM_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NETRLOGONSENDTOSAM_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONSENDTOSAM_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_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct netr_NETRLOGONSENDTOSAM r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRLOGONSENDTOSAM, - &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_netr_DsRAddressToSitenamesW_state { - struct netr_DsRAddressToSitenamesW orig; - struct netr_DsRAddressToSitenamesW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRAddressToSitenamesW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRAddressToSitenamesW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *_addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesWCtr **_ctr /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRAddressToSitenamesW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRAddressToSitenamesW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.count = _count; - state->orig.in.addresses = _addresses; - - /* Out parameters */ - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRAddressToSitenamesW_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_netlogon, - NDR_NETR_DSRADDRESSTOSITENAMESW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRAddressToSitenamesW_done, req); - return req; -} - -static void rpccli_netr_DsRAddressToSitenamesW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRAddressToSitenamesW_state *state = tevent_req_data( - req, struct rpccli_netr_DsRAddressToSitenamesW_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.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_netr_DsRAddressToSitenamesW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRAddressToSitenamesW_state *state = tevent_req_data( - req, struct rpccli_netr_DsRAddressToSitenamesW_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_netr_DsRAddressToSitenamesW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesWCtr **ctr /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsRAddressToSitenamesW r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.count = count; - r.in.addresses = addresses; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRADDRESSTOSITENAMESW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_DsRGetDCNameEx2_state { - struct netr_DsRGetDCNameEx2 orig; - struct netr_DsRGetDCNameEx2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRGetDCNameEx2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRGetDCNameEx2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_client_account /* [in] [unique,charset(UTF16)] */, - uint32_t _mask /* [in] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - const char *_site_name /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct netr_DsRGetDCNameInfo **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRGetDCNameEx2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRGetDCNameEx2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.client_account = _client_account; - state->orig.in.mask = _mask; - state->orig.in.domain_name = _domain_name; - state->orig.in.domain_guid = _domain_guid; - state->orig.in.site_name = _site_name; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRGetDCNameEx2_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_netlogon, - NDR_NETR_DSRGETDCNAMEEX2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRGetDCNameEx2_done, req); - return req; -} - -static void rpccli_netr_DsRGetDCNameEx2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRGetDCNameEx2_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetDCNameEx2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DsRGetDCNameEx2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRGetDCNameEx2_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetDCNameEx2_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_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *client_account /* [in] [unique,charset(UTF16)] */, - uint32_t mask /* [in] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - const char *site_name /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsRGetDCNameEx2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.client_account = client_account; - r.in.mask = mask; - r.in.domain_name = domain_name; - r.in.domain_guid = domain_guid; - r.in.site_name = site_name; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRGETDCNAMEEX2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_state { - struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN orig; - struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_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_netlogon, - NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_done, req); - return req; -} - -static void rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_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_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_state *state = tevent_req_data( - req, struct rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_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_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN, - &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_netr_NetrEnumerateTrustedDomainsEx_state { - struct netr_NetrEnumerateTrustedDomainsEx orig; - struct netr_NetrEnumerateTrustedDomainsEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_NetrEnumerateTrustedDomainsEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_NetrEnumerateTrustedDomainsEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct netr_DomainTrustList *_dom_trust_list /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_NetrEnumerateTrustedDomainsEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_NetrEnumerateTrustedDomainsEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - - /* Out parameters */ - state->orig.out.dom_trust_list = _dom_trust_list; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_NetrEnumerateTrustedDomainsEx_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_netlogon, - NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_NetrEnumerateTrustedDomainsEx_done, req); - return req; -} - -static void rpccli_netr_NetrEnumerateTrustedDomainsEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_NetrEnumerateTrustedDomainsEx_state *state = tevent_req_data( - req, struct rpccli_netr_NetrEnumerateTrustedDomainsEx_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.dom_trust_list = *state->tmp.out.dom_trust_list; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_NetrEnumerateTrustedDomainsEx_state *state = tevent_req_data( - req, struct rpccli_netr_NetrEnumerateTrustedDomainsEx_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_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct netr_DomainTrustList *dom_trust_list /* [out] [ref] */, - WERROR *werror) -{ - struct netr_NetrEnumerateTrustedDomainsEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *dom_trust_list = *r.out.dom_trust_list; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_DsRAddressToSitenamesExW_state { - struct netr_DsRAddressToSitenamesExW orig; - struct netr_DsRAddressToSitenamesExW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRAddressToSitenamesExW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRAddressToSitenamesExW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *_addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesExWCtr **_ctr /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRAddressToSitenamesExW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRAddressToSitenamesExW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.count = _count; - state->orig.in.addresses = _addresses; - - /* Out parameters */ - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRAddressToSitenamesExW_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_netlogon, - NDR_NETR_DSRADDRESSTOSITENAMESEXW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRAddressToSitenamesExW_done, req); - return req; -} - -static void rpccli_netr_DsRAddressToSitenamesExW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRAddressToSitenamesExW_state *state = tevent_req_data( - req, struct rpccli_netr_DsRAddressToSitenamesExW_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.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_netr_DsRAddressToSitenamesExW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRAddressToSitenamesExW_state *state = tevent_req_data( - req, struct rpccli_netr_DsRAddressToSitenamesExW_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_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesExWCtr **ctr /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsRAddressToSitenamesExW r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.count = count; - r.in.addresses = addresses; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRADDRESSTOSITENAMESEXW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_DsrGetDcSiteCoverageW_state { - struct netr_DsrGetDcSiteCoverageW orig; - struct netr_DsrGetDcSiteCoverageW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsrGetDcSiteCoverageW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsrGetDcSiteCoverageW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct DcSitesCtr **_ctr /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsrGetDcSiteCoverageW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsrGetDcSiteCoverageW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - - /* Out parameters */ - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsrGetDcSiteCoverageW_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_netlogon, - NDR_NETR_DSRGETDCSITECOVERAGEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsrGetDcSiteCoverageW_done, req); - return req; -} - -static void rpccli_netr_DsrGetDcSiteCoverageW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsrGetDcSiteCoverageW_state *state = tevent_req_data( - req, struct rpccli_netr_DsrGetDcSiteCoverageW_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.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_netr_DsrGetDcSiteCoverageW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsrGetDcSiteCoverageW_state *state = tevent_req_data( - req, struct rpccli_netr_DsrGetDcSiteCoverageW_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_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct DcSitesCtr **ctr /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsrGetDcSiteCoverageW r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRGETDCSITECOVERAGEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_LogonSamLogonEx_state { - struct netr_LogonSamLogonEx orig; - struct netr_LogonSamLogonEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonSamLogonEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonSamLogonEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel *_logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t _validation_level /* [in] */, - union netr_Validation *_validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *_authoritative /* [out] [ref] */, - uint32_t *_flags /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonSamLogonEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonSamLogonEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.logon_level = _logon_level; - state->orig.in.logon = _logon; - state->orig.in.validation_level = _validation_level; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.validation = _validation; - state->orig.out.authoritative = _authoritative; - state->orig.out.flags = _flags; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonSamLogonEx_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_netlogon, - NDR_NETR_LOGONSAMLOGONEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonSamLogonEx_done, req); - return req; -} - -static void rpccli_netr_LogonSamLogonEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonSamLogonEx_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogonEx_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.validation = *state->tmp.out.validation; - *state->orig.out.authoritative = *state->tmp.out.authoritative; - *state->orig.out.flags = *state->tmp.out.flags; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonSamLogonEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_LogonSamLogonEx_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogonEx_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_netr_LogonSamLogonEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t validation_level /* [in] */, - union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *authoritative /* [out] [ref] */, - uint32_t *flags /* [in,out] [ref] */) -{ - struct netr_LogonSamLogonEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.logon_level = logon_level; - r.in.logon = logon; - r.in.validation_level = validation_level; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONSAMLOGONEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *validation = *r.out.validation; - *authoritative = *r.out.authoritative; - *flags = *r.out.flags; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DsrEnumerateDomainTrusts_state { - struct netr_DsrEnumerateDomainTrusts orig; - struct netr_DsrEnumerateDomainTrusts tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsrEnumerateDomainTrusts_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsrEnumerateDomainTrusts_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _trust_flags /* [in] */, - struct netr_DomainTrustList *_trusts /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsrEnumerateDomainTrusts_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsrEnumerateDomainTrusts_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.trust_flags = _trust_flags; - - /* Out parameters */ - state->orig.out.trusts = _trusts; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsrEnumerateDomainTrusts_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_netlogon, - NDR_NETR_DSRENUMERATEDOMAINTRUSTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsrEnumerateDomainTrusts_done, req); - return req; -} - -static void rpccli_netr_DsrEnumerateDomainTrusts_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsrEnumerateDomainTrusts_state *state = tevent_req_data( - req, struct rpccli_netr_DsrEnumerateDomainTrusts_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.trusts = *state->tmp.out.trusts; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsrEnumerateDomainTrusts_state *state = tevent_req_data( - req, struct rpccli_netr_DsrEnumerateDomainTrusts_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_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t trust_flags /* [in] */, - struct netr_DomainTrustList *trusts /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsrEnumerateDomainTrusts r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.trust_flags = trust_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRENUMERATEDOMAINTRUSTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *trusts = *r.out.trusts; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_DsrDeregisterDNSHostRecords_state { - struct netr_DsrDeregisterDNSHostRecords orig; - struct netr_DsrDeregisterDNSHostRecords tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsrDeregisterDNSHostRecords_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsrDeregisterDNSHostRecords_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - struct GUID *_dsa_guid /* [in] [unique] */, - const char *_dns_host /* [in] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsrDeregisterDNSHostRecords_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsrDeregisterDNSHostRecords_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.domain = _domain; - state->orig.in.domain_guid = _domain_guid; - state->orig.in.dsa_guid = _dsa_guid; - state->orig.in.dns_host = _dns_host; - - /* 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_netlogon, - NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsrDeregisterDNSHostRecords_done, req); - return req; -} - -static void rpccli_netr_DsrDeregisterDNSHostRecords_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsrDeregisterDNSHostRecords_state *state = tevent_req_data( - req, struct rpccli_netr_DsrDeregisterDNSHostRecords_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_netr_DsrDeregisterDNSHostRecords_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsrDeregisterDNSHostRecords_state *state = tevent_req_data( - req, struct rpccli_netr_DsrDeregisterDNSHostRecords_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_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - struct GUID *dsa_guid /* [in] [unique] */, - const char *dns_host /* [in] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct netr_DsrDeregisterDNSHostRecords r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.domain = domain; - r.in.domain_guid = domain_guid; - r.in.dsa_guid = dsa_guid; - r.in.dns_host = dns_host; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS, - &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_netr_ServerTrustPasswordsGet_state { - struct netr_ServerTrustPasswordsGet orig; - struct netr_ServerTrustPasswordsGet tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerTrustPasswordsGet_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerTrustPasswordsGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_password /* [out] [ref] */, - struct samr_Password *_password2 /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerTrustPasswordsGet_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerTrustPasswordsGet_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.password = _password; - state->orig.out.password2 = _password2; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerTrustPasswordsGet_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_netlogon, - NDR_NETR_SERVERTRUSTPASSWORDSGET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerTrustPasswordsGet_done, req); - return req; -} - -static void rpccli_netr_ServerTrustPasswordsGet_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerTrustPasswordsGet_state *state = tevent_req_data( - req, struct rpccli_netr_ServerTrustPasswordsGet_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.password = *state->tmp.out.password; - *state->orig.out.password2 = *state->tmp.out.password2; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerTrustPasswordsGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerTrustPasswordsGet_state *state = tevent_req_data( - req, struct rpccli_netr_ServerTrustPasswordsGet_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_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *password /* [out] [ref] */, - struct samr_Password *password2 /* [out] [ref] */) -{ - struct netr_ServerTrustPasswordsGet r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credential = credential; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERTRUSTPASSWORDSGET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *password = *r.out.password; - *password2 = *r.out.password2; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_DsRGetForestTrustInformation_state { - struct netr_DsRGetForestTrustInformation orig; - struct netr_DsRGetForestTrustInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_DsRGetForestTrustInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_DsRGetForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_trusted_domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct lsa_ForestTrustInformation **_forest_trust_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_DsRGetForestTrustInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_DsRGetForestTrustInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.trusted_domain_name = _trusted_domain_name; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.forest_trust_info = _forest_trust_info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_DsRGetForestTrustInformation_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_netlogon, - NDR_NETR_DSRGETFORESTTRUSTINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_DsRGetForestTrustInformation_done, req); - return req; -} - -static void rpccli_netr_DsRGetForestTrustInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_DsRGetForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetForestTrustInformation_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.forest_trust_info = *state->tmp.out.forest_trust_info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_DsRGetForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_netr_DsRGetForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_netr_DsRGetForestTrustInformation_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_netr_DsRGetForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *trusted_domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */, - WERROR *werror) -{ - struct netr_DsRGetForestTrustInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.trusted_domain_name = trusted_domain_name; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_DSRGETFORESTTRUSTINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *forest_trust_info = *r.out.forest_trust_info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_netr_GetForestTrustInformation_state { - struct netr_GetForestTrustInformation orig; - struct netr_GetForestTrustInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_GetForestTrustInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_GetForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - uint32_t _flags /* [in] */, - struct lsa_ForestTrustInformation **_forest_trust_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_GetForestTrustInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_GetForestTrustInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.forest_trust_info = _forest_trust_info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_GetForestTrustInformation_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_netlogon, - NDR_NETR_GETFORESTTRUSTINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_GetForestTrustInformation_done, req); - return req; -} - -static void rpccli_netr_GetForestTrustInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_GetForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_netr_GetForestTrustInformation_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.forest_trust_info = *state->tmp.out.forest_trust_info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_GetForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_GetForestTrustInformation_state *state = tevent_req_data( - req, struct rpccli_netr_GetForestTrustInformation_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_netr_GetForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - uint32_t flags /* [in] */, - struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */) -{ - struct netr_GetForestTrustInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_GETFORESTTRUSTINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *forest_trust_info = *r.out.forest_trust_info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_LogonSamLogonWithFlags_state { - struct netr_LogonSamLogonWithFlags orig; - struct netr_LogonSamLogonWithFlags tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_LogonSamLogonWithFlags_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_LogonSamLogonWithFlags_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [unique] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel *_logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t _validation_level /* [in] */, - union netr_Validation *_validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *_authoritative /* [out] [ref] */, - uint32_t *_flags /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_LogonSamLogonWithFlags_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_LogonSamLogonWithFlags_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - state->orig.in.return_authenticator = _return_authenticator; - state->orig.in.logon_level = _logon_level; - state->orig.in.logon = _logon; - state->orig.in.validation_level = _validation_level; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.validation = _validation; - state->orig.out.authoritative = _authoritative; - state->orig.out.flags = _flags; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_LogonSamLogonWithFlags_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_netlogon, - NDR_NETR_LOGONSAMLOGONWITHFLAGS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_LogonSamLogonWithFlags_done, req); - return req; -} - -static void rpccli_netr_LogonSamLogonWithFlags_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_LogonSamLogonWithFlags_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogonWithFlags_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.return_authenticator && state->tmp.out.return_authenticator) { - *state->orig.out.return_authenticator = *state->tmp.out.return_authenticator; - } - *state->orig.out.validation = *state->tmp.out.validation; - *state->orig.out.authoritative = *state->tmp.out.authoritative; - *state->orig.out.flags = *state->tmp.out.flags; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_LogonSamLogonWithFlags_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_LogonSamLogonWithFlags_state *state = tevent_req_data( - req, struct rpccli_netr_LogonSamLogonWithFlags_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_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [unique] */, - struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t validation_level /* [in] */, - union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *authoritative /* [out] [ref] */, - uint32_t *flags /* [in,out] [ref] */) -{ - struct netr_LogonSamLogonWithFlags r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.computer_name = computer_name; - r.in.credential = credential; - r.in.return_authenticator = return_authenticator; - r.in.logon_level = logon_level; - r.in.logon = logon; - r.in.validation_level = validation_level; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_LOGONSAMLOGONWITHFLAGS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (return_authenticator && r.out.return_authenticator) { - *return_authenticator = *r.out.return_authenticator; - } - *validation = *r.out.validation; - *authoritative = *r.out.authoritative; - *flags = *r.out.flags; - - /* Return result */ - return r.out.result; -} - -struct rpccli_netr_ServerGetTrustInfo_state { - struct netr_ServerGetTrustInfo orig; - struct netr_ServerGetTrustInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_netr_ServerGetTrustInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_netr_ServerGetTrustInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_new_owf_password /* [out] [ref] */, - struct samr_Password *_old_owf_password /* [out] [ref] */, - struct netr_TrustInfo **_trust_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_netr_ServerGetTrustInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_netr_ServerGetTrustInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account_name = _account_name; - state->orig.in.secure_channel_type = _secure_channel_type; - state->orig.in.computer_name = _computer_name; - state->orig.in.credential = _credential; - - /* Out parameters */ - state->orig.out.return_authenticator = _return_authenticator; - state->orig.out.new_owf_password = _new_owf_password; - state->orig.out.old_owf_password = _old_owf_password; - state->orig.out.trust_info = _trust_info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_netr_ServerGetTrustInfo_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_netlogon, - NDR_NETR_SERVERGETTRUSTINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_netr_ServerGetTrustInfo_done, req); - return req; -} - -static void rpccli_netr_ServerGetTrustInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_netr_ServerGetTrustInfo_state *state = tevent_req_data( - req, struct rpccli_netr_ServerGetTrustInfo_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.return_authenticator = *state->tmp.out.return_authenticator; - *state->orig.out.new_owf_password = *state->tmp.out.new_owf_password; - *state->orig.out.old_owf_password = *state->tmp.out.old_owf_password; - *state->orig.out.trust_info = *state->tmp.out.trust_info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_netr_ServerGetTrustInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_netr_ServerGetTrustInfo_state *state = tevent_req_data( - req, struct rpccli_netr_ServerGetTrustInfo_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_netr_ServerGetTrustInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *new_owf_password /* [out] [ref] */, - struct samr_Password *old_owf_password /* [out] [ref] */, - struct netr_TrustInfo **trust_info /* [out] [ref] */) -{ - struct netr_ServerGetTrustInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account_name = account_name; - r.in.secure_channel_type = secure_channel_type; - r.in.computer_name = computer_name; - r.in.credential = credential; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_netlogon, - NDR_NETR_SERVERGETTRUSTINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *return_authenticator = *r.out.return_authenticator; - *new_owf_password = *r.out.new_owf_password; - *old_owf_password = *r.out.old_owf_password; - *trust_info = *r.out.trust_info; - - /* Return result */ - return r.out.result; -} - diff --git a/librpc/gen_ndr/cli_netlogon.h b/librpc/gen_ndr/cli_netlogon.h deleted file mode 100644 index 64508f8e2a5..00000000000 --- a/librpc/gen_ndr/cli_netlogon.h +++ /dev/null @@ -1,906 +0,0 @@ -#include "../librpc/gen_ndr/ndr_netlogon.h" -#ifndef __CLI_NETLOGON__ -#define __CLI_NETLOGON__ -struct tevent_req *rpccli_netr_LogonUasLogon_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - const char *_workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasInfo **_info /* [out] [ref] */); -NTSTATUS rpccli_netr_LogonUasLogon_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - const char *workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasInfo **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonUasLogoff_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - const char *_workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasLogoffInfo *_info /* [out] [ref] */); -NTSTATUS rpccli_netr_LogonUasLogoff_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - const char *workstation /* [in] [ref,charset(UTF16)] */, - struct netr_UasLogoffInfo *info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonSamLogon_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [unique] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel *_logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t _validation_level /* [in] */, - union netr_Validation *_validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *_authoritative /* [out] [ref] */); -NTSTATUS rpccli_netr_LogonSamLogon_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [unique] */, - struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t validation_level /* [in] */, - union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *authoritative /* [out] [ref] */); -struct tevent_req *rpccli_netr_LogonSamLogoff_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [unique] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel _logon /* [in] [switch_is(logon_level)] */); -NTSTATUS rpccli_netr_LogonSamLogoff_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [unique] */, - struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */); -struct tevent_req *rpccli_netr_ServerReqChallenge_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */); -NTSTATUS rpccli_netr_ServerReqChallenge_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */); -struct tevent_req *rpccli_netr_ServerAuthenticate_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */); -NTSTATUS rpccli_netr_ServerAuthenticate_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */); -struct tevent_req *rpccli_netr_ServerPasswordSet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_new_password /* [in] [ref] */); -NTSTATUS rpccli_netr_ServerPasswordSet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *new_password /* [in] [ref] */); -struct tevent_req *rpccli_netr_DatabaseDeltas_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID _database_id /* [in] */, - uint64_t *_sequence_num /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */, - uint32_t _preferredmaximumlength /* [in] */); -NTSTATUS rpccli_netr_DatabaseDeltas_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID database_id /* [in] */, - uint64_t *sequence_num /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */, - uint32_t preferredmaximumlength /* [in] */); -struct tevent_req *rpccli_netr_DatabaseSync_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID _database_id /* [in] */, - uint32_t *_sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */, - uint32_t _preferredmaximumlength /* [in] */); -NTSTATUS rpccli_netr_DatabaseSync_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID database_id /* [in] */, - uint32_t *sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */, - uint32_t preferredmaximumlength /* [in] */); -struct tevent_req *rpccli_netr_AccountDeltas_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator _credential /* [in] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - struct netr_UAS_INFO_0 _uas /* [in] */, - uint32_t _count /* [in] */, - uint32_t _level /* [in] */, - uint32_t _buffersize /* [in] */, - struct netr_AccountBuffer *_buffer /* [out] [ref,subcontext(4)] */, - uint32_t *_count_returned /* [out] [ref] */, - uint32_t *_total_entries /* [out] [ref] */, - struct netr_UAS_INFO_0 *_recordid /* [out] [ref] */); -NTSTATUS rpccli_netr_AccountDeltas_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator credential /* [in] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - struct netr_UAS_INFO_0 uas /* [in] */, - uint32_t count /* [in] */, - uint32_t level /* [in] */, - uint32_t buffersize /* [in] */, - struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */, - uint32_t *count_returned /* [out] [ref] */, - uint32_t *total_entries /* [out] [ref] */, - struct netr_UAS_INFO_0 *recordid /* [out] [ref] */); -struct tevent_req *rpccli_netr_AccountSync_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator _credential /* [in] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - uint32_t _reference /* [in] */, - uint32_t _level /* [in] */, - uint32_t _buffersize /* [in] */, - struct netr_AccountBuffer *_buffer /* [out] [ref,subcontext(4)] */, - uint32_t *_count_returned /* [out] [ref] */, - uint32_t *_total_entries /* [out] [ref] */, - uint32_t *_next_reference /* [out] [ref] */, - struct netr_UAS_INFO_0 *_recordid /* [in,out] [ref] */); -NTSTATUS rpccli_netr_AccountSync_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator credential /* [in] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - uint32_t reference /* [in] */, - uint32_t level /* [in] */, - uint32_t buffersize /* [in] */, - struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */, - uint32_t *count_returned /* [out] [ref] */, - uint32_t *total_entries /* [out] [ref] */, - uint32_t *next_reference /* [out] [ref] */, - struct netr_UAS_INFO_0 *recordid /* [in,out] [ref] */); -struct tevent_req *rpccli_netr_GetDcName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_domainname /* [in] [unique,charset(UTF16)] */, - const char **_dcname /* [out] [ref,charset(UTF16)] */); -NTSTATUS rpccli_netr_GetDcName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *domainname /* [in] [unique,charset(UTF16)] */, - const char **dcname /* [out] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonControl_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode _function_code /* [in] */, - uint32_t _level /* [in] */, - union netr_CONTROL_QUERY_INFORMATION *_query /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_netr_LogonControl_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_LogonControl(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode function_code /* [in] */, - uint32_t level /* [in] */, - union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_GetAnyDCName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - const char *_domainname /* [in] [unique,charset(UTF16)] */, - const char **_dcname /* [out] [ref,charset(UTF16)] */); -NTSTATUS rpccli_netr_GetAnyDCName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_GetAnyDCName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - const char *domainname /* [in] [unique,charset(UTF16)] */, - const char **dcname /* [out] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonControl2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode _function_code /* [in] */, - uint32_t _level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *_data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *_query /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_netr_LogonControl2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_LogonControl2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode function_code /* [in] */, - uint32_t level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_ServerAuthenticate2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */, - uint32_t *_negotiate_flags /* [in,out] [ref] */); -NTSTATUS rpccli_netr_ServerAuthenticate2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */, - uint32_t *negotiate_flags /* [in,out] [ref] */); -struct tevent_req *rpccli_netr_DatabaseSync2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID _database_id /* [in] */, - enum SyncStateEnum _restart_state /* [in] */, - uint32_t *_sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */, - uint32_t _preferredmaximumlength /* [in] */); -NTSTATUS rpccli_netr_DatabaseSync2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - enum netr_SamDatabaseID database_id /* [in] */, - enum SyncStateEnum restart_state /* [in] */, - uint32_t *sync_context /* [in,out] [ref] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */, - uint32_t preferredmaximumlength /* [in] */); -struct tevent_req *rpccli_netr_DatabaseRedo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [ref,charset(UTF16)] */, - const char *_computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext(4)] */, - uint32_t _change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */, - struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */); -NTSTATUS rpccli_netr_DatabaseRedo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [ref,charset(UTF16)] */, - const char *computername /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext(4)] */, - uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */, - struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */); -struct tevent_req *rpccli_netr_LogonControl2Ex_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode _function_code /* [in] */, - uint32_t _level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *_data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *_query /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_netr_LogonControl2Ex_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_LogonControl2Ex(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *logon_server /* [in] [unique,charset(UTF16)] */, - enum netr_LogonControlCode function_code /* [in] */, - uint32_t level /* [in] */, - union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */, - union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_NetrEnumerateTrustedDomains_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct netr_Blob *_trusted_domains_blob /* [out] [ref] */); -NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct netr_Blob *trusted_domains_blob /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_DsRGetDCName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - struct GUID *_site_guid /* [in] [unique] */, - uint32_t _flags /* [in] */, - struct netr_DsRGetDCNameInfo **_info /* [out] [ref] */); -NTSTATUS rpccli_netr_DsRGetDCName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRGetDCName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - struct GUID *site_guid /* [in] [unique] */, - uint32_t flags /* [in] */, - struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonGetCapabilities_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [ref,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - uint32_t _query_level /* [in] */, - union netr_Capabilities *_capabilities /* [out] [ref,switch_is(query_level)] */); -NTSTATUS rpccli_netr_LogonGetCapabilities_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [ref,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - uint32_t query_level /* [in] */, - union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */); -struct tevent_req *rpccli_netr_NETRLOGONSETSERVICEBITS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonGetTrustRid_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t *_rid /* [out] [ref] */); -NTSTATUS rpccli_netr_LogonGetTrustRid_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_LogonGetTrustRid(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t *rid /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_netr_ServerAuthenticate3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *_credentials /* [in] [ref] */, - struct netr_Credential *_return_credentials /* [out] [ref] */, - uint32_t *_negotiate_flags /* [in,out] [ref] */, - uint32_t *_rid /* [out] [ref] */); -NTSTATUS rpccli_netr_ServerAuthenticate3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Credential *credentials /* [in] [ref] */, - struct netr_Credential *return_credentials /* [out] [ref] */, - uint32_t *negotiate_flags /* [in,out] [ref] */, - uint32_t *rid /* [out] [ref] */); -struct tevent_req *rpccli_netr_DsRGetDCNameEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - const char *_site_name /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct netr_DsRGetDCNameInfo **_info /* [out] [ref] */); -NTSTATUS rpccli_netr_DsRGetDCNameEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - const char *site_name /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_DsRGetSiteName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - const char **_site /* [out] [ref,charset(UTF16)] */); -NTSTATUS rpccli_netr_DsRGetSiteName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - const char **site /* [out] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonGetDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [ref,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */, - uint32_t _level /* [in] */, - union netr_WorkstationInfo *_query /* [in] [ref,switch_is(level)] */, - union netr_DomainInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_netr_LogonGetDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [ref,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, - uint32_t level /* [in] */, - union netr_WorkstationInfo *query /* [in] [ref,switch_is(level)] */, - union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_netr_ServerPasswordSet2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct netr_CryptPassword *_new_password /* [in] [ref] */); -NTSTATUS rpccli_netr_ServerPasswordSet2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct netr_CryptPassword *new_password /* [in] [ref] */); -struct tevent_req *rpccli_netr_ServerPasswordGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_password /* [out] [ref] */); -NTSTATUS rpccli_netr_ServerPasswordGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *password /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_NETRLOGONSENDTOSAM_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_netr_DsRAddressToSitenamesW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *_addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesWCtr **_ctr /* [out] [ref] */); -NTSTATUS rpccli_netr_DsRAddressToSitenamesW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRAddressToSitenamesW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesWCtr **ctr /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_DsRGetDCNameEx2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_client_account /* [in] [unique,charset(UTF16)] */, - uint32_t _mask /* [in] */, - const char *_domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - const char *_site_name /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct netr_DsRGetDCNameInfo **_info /* [out] [ref] */); -NTSTATUS rpccli_netr_DsRGetDCNameEx2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *client_account /* [in] [unique,charset(UTF16)] */, - uint32_t mask /* [in] */, - const char *domain_name /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - const char *site_name /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_netr_NetrEnumerateTrustedDomainsEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct netr_DomainTrustList *_dom_trust_list /* [out] [ref] */); -NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct netr_DomainTrustList *dom_trust_list /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_DsRAddressToSitenamesExW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *_addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesExWCtr **_ctr /* [out] [ref] */); -NTSTATUS rpccli_netr_DsRAddressToSitenamesExW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t count /* [in] [range(0,32000)] */, - struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */, - struct netr_DsRAddressToSitenamesExWCtr **ctr /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_DsrGetDcSiteCoverageW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct DcSitesCtr **_ctr /* [out] [ref] */); -NTSTATUS rpccli_netr_DsrGetDcSiteCoverageW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct DcSitesCtr **ctr /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_LogonSamLogonEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel *_logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t _validation_level /* [in] */, - union netr_Validation *_validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *_authoritative /* [out] [ref] */, - uint32_t *_flags /* [in,out] [ref] */); -NTSTATUS rpccli_netr_LogonSamLogonEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t validation_level /* [in] */, - union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *authoritative /* [out] [ref] */, - uint32_t *flags /* [in,out] [ref] */); -struct tevent_req *rpccli_netr_DsrEnumerateDomainTrusts_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _trust_flags /* [in] */, - struct netr_DomainTrustList *_trusts /* [out] [ref] */); -NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t trust_flags /* [in] */, - struct netr_DomainTrustList *trusts /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_DsrDeregisterDNSHostRecords_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain /* [in] [unique,charset(UTF16)] */, - struct GUID *_domain_guid /* [in] [unique] */, - struct GUID *_dsa_guid /* [in] [unique] */, - const char *_dns_host /* [in] [ref,charset(UTF16)] */); -NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain /* [in] [unique,charset(UTF16)] */, - struct GUID *domain_guid /* [in] [unique] */, - struct GUID *dsa_guid /* [in] [unique] */, - const char *dns_host /* [in] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_netr_ServerTrustPasswordsGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_password /* [out] [ref] */, - struct samr_Password *_password2 /* [out] [ref] */); -NTSTATUS rpccli_netr_ServerTrustPasswordsGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *password /* [out] [ref] */, - struct samr_Password *password2 /* [out] [ref] */); -struct tevent_req *rpccli_netr_DsRGetForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_trusted_domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t _flags /* [in] */, - struct lsa_ForestTrustInformation **_forest_trust_info /* [out] [ref] */); -NTSTATUS rpccli_netr_DsRGetForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_netr_DsRGetForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *trusted_domain_name /* [in] [unique,charset(UTF16)] */, - uint32_t flags /* [in] */, - struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_netr_GetForestTrustInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - uint32_t _flags /* [in] */, - struct lsa_ForestTrustInformation **_forest_trust_info /* [out] [ref] */); -NTSTATUS rpccli_netr_GetForestTrustInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_GetForestTrustInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - uint32_t flags /* [in] */, - struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */); -struct tevent_req *rpccli_netr_LogonSamLogonWithFlags_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [unique] */, - struct netr_Authenticator *_return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass _logon_level /* [in] */, - union netr_LogonLevel *_logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t _validation_level /* [in] */, - union netr_Validation *_validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *_authoritative /* [out] [ref] */, - uint32_t *_flags /* [in,out] [ref] */); -NTSTATUS rpccli_netr_LogonSamLogonWithFlags_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *computer_name /* [in] [unique,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [unique] */, - struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, - enum netr_LogonInfoClass logon_level /* [in] */, - union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */, - uint16_t validation_level /* [in] */, - union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, - uint8_t *authoritative /* [out] [ref] */, - uint32_t *flags /* [in,out] [ref] */); -struct tevent_req *rpccli_netr_ServerGetTrustInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType _secure_channel_type /* [in] */, - const char *_computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *_credential /* [in] [ref] */, - struct netr_Authenticator *_return_authenticator /* [out] [ref] */, - struct samr_Password *_new_owf_password /* [out] [ref] */, - struct samr_Password *_old_owf_password /* [out] [ref] */, - struct netr_TrustInfo **_trust_info /* [out] [ref] */); -NTSTATUS rpccli_netr_ServerGetTrustInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_netr_ServerGetTrustInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account_name /* [in] [ref,charset(UTF16)] */, - enum netr_SchannelType secure_channel_type /* [in] */, - const char *computer_name /* [in] [ref,charset(UTF16)] */, - struct netr_Authenticator *credential /* [in] [ref] */, - struct netr_Authenticator *return_authenticator /* [out] [ref] */, - struct samr_Password *new_owf_password /* [out] [ref] */, - struct samr_Password *old_owf_password /* [out] [ref] */, - struct netr_TrustInfo **trust_info /* [out] [ref] */); -#endif /* __CLI_NETLOGON__ */ diff --git a/librpc/gen_ndr/cli_ntsvcs.c b/librpc/gen_ndr/cli_ntsvcs.c deleted file mode 100644 index 760ce53591d..00000000000 --- a/librpc/gen_ndr/cli_ntsvcs.c +++ /dev/null @@ -1,8973 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_ntsvcs.h" - -struct rpccli_PNP_Disconnect_state { - struct PNP_Disconnect orig; - struct PNP_Disconnect tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_Disconnect_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_Disconnect_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_Disconnect_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_Disconnect_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_ntsvcs, - NDR_PNP_DISCONNECT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_Disconnect_done, req); - return req; -} - -static void rpccli_PNP_Disconnect_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_Disconnect_state *state = tevent_req_data( - req, struct rpccli_PNP_Disconnect_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_PNP_Disconnect_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_Disconnect_state *state = tevent_req_data( - req, struct rpccli_PNP_Disconnect_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_PNP_Disconnect(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_Disconnect r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_DISCONNECT, - &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_PNP_Connect_state { - struct PNP_Connect orig; - struct PNP_Connect tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_Connect_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_Connect_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_Connect_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_Connect_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_ntsvcs, - NDR_PNP_CONNECT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_Connect_done, req); - return req; -} - -static void rpccli_PNP_Connect_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_Connect_state *state = tevent_req_data( - req, struct rpccli_PNP_Connect_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_PNP_Connect_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_Connect_state *state = tevent_req_data( - req, struct rpccli_PNP_Connect_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_PNP_Connect(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_Connect r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_CONNECT, - &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_PNP_GetVersion_state { - struct PNP_GetVersion orig; - struct PNP_GetVersion tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetVersion_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetVersion_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_version /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_PNP_GetVersion_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetVersion_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - state->orig.out.version = _version; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_PNP_GetVersion_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_ntsvcs, - NDR_PNP_GETVERSION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetVersion_done, req); - return req; -} - -static void rpccli_PNP_GetVersion_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetVersion_state *state = tevent_req_data( - req, struct rpccli_PNP_GetVersion_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.version = *state->tmp.out.version; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_PNP_GetVersion_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetVersion_state *state = tevent_req_data( - req, struct rpccli_PNP_GetVersion_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_PNP_GetVersion(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *version /* [out] [ref] */, - WERROR *werror) -{ - struct PNP_GetVersion r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETVERSION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *version = *r.out.version; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_PNP_GetGlobalState_state { - struct PNP_GetGlobalState orig; - struct PNP_GetGlobalState tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetGlobalState_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetGlobalState_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetGlobalState_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetGlobalState_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_ntsvcs, - NDR_PNP_GETGLOBALSTATE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetGlobalState_done, req); - return req; -} - -static void rpccli_PNP_GetGlobalState_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetGlobalState_state *state = tevent_req_data( - req, struct rpccli_PNP_GetGlobalState_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_PNP_GetGlobalState_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetGlobalState_state *state = tevent_req_data( - req, struct rpccli_PNP_GetGlobalState_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_PNP_GetGlobalState(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetGlobalState r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETGLOBALSTATE, - &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_PNP_InitDetection_state { - struct PNP_InitDetection orig; - struct PNP_InitDetection tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_InitDetection_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_InitDetection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_InitDetection_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_InitDetection_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_ntsvcs, - NDR_PNP_INITDETECTION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_InitDetection_done, req); - return req; -} - -static void rpccli_PNP_InitDetection_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_InitDetection_state *state = tevent_req_data( - req, struct rpccli_PNP_InitDetection_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_PNP_InitDetection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_InitDetection_state *state = tevent_req_data( - req, struct rpccli_PNP_InitDetection_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_PNP_InitDetection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_InitDetection r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_INITDETECTION, - &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_PNP_ReportLogOn_state { - struct PNP_ReportLogOn orig; - struct PNP_ReportLogOn tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_ReportLogOn_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_ReportLogOn_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_ReportLogOn_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_ReportLogOn_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_ntsvcs, - NDR_PNP_REPORTLOGON, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_ReportLogOn_done, req); - return req; -} - -static void rpccli_PNP_ReportLogOn_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_ReportLogOn_state *state = tevent_req_data( - req, struct rpccli_PNP_ReportLogOn_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_PNP_ReportLogOn_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_ReportLogOn_state *state = tevent_req_data( - req, struct rpccli_PNP_ReportLogOn_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_PNP_ReportLogOn(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_ReportLogOn r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_REPORTLOGON, - &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_PNP_ValidateDeviceInstance_state { - struct PNP_ValidateDeviceInstance orig; - struct PNP_ValidateDeviceInstance tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_ValidateDeviceInstance_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_ValidateDeviceInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_PNP_ValidateDeviceInstance_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_ValidateDeviceInstance_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.devicepath = _devicepath; - state->orig.in.flags = _flags; - - /* 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_ntsvcs, - NDR_PNP_VALIDATEDEVICEINSTANCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_ValidateDeviceInstance_done, req); - return req; -} - -static void rpccli_PNP_ValidateDeviceInstance_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_ValidateDeviceInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_ValidateDeviceInstance_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_PNP_ValidateDeviceInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_ValidateDeviceInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_ValidateDeviceInstance_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_PNP_ValidateDeviceInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct PNP_ValidateDeviceInstance r; - NTSTATUS status; - - /* In parameters */ - r.in.devicepath = devicepath; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_VALIDATEDEVICEINSTANCE, - &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_PNP_GetRootDeviceInstance_state { - struct PNP_GetRootDeviceInstance orig; - struct PNP_GetRootDeviceInstance tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetRootDeviceInstance_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetRootDeviceInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetRootDeviceInstance_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetRootDeviceInstance_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_ntsvcs, - NDR_PNP_GETROOTDEVICEINSTANCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetRootDeviceInstance_done, req); - return req; -} - -static void rpccli_PNP_GetRootDeviceInstance_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetRootDeviceInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_GetRootDeviceInstance_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_PNP_GetRootDeviceInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetRootDeviceInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_GetRootDeviceInstance_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_PNP_GetRootDeviceInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetRootDeviceInstance r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETROOTDEVICEINSTANCE, - &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_PNP_GetRelatedDeviceInstance_state { - struct PNP_GetRelatedDeviceInstance orig; - struct PNP_GetRelatedDeviceInstance tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetRelatedDeviceInstance_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetRelatedDeviceInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetRelatedDeviceInstance_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetRelatedDeviceInstance_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_ntsvcs, - NDR_PNP_GETRELATEDDEVICEINSTANCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetRelatedDeviceInstance_done, req); - return req; -} - -static void rpccli_PNP_GetRelatedDeviceInstance_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetRelatedDeviceInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_GetRelatedDeviceInstance_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_PNP_GetRelatedDeviceInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetRelatedDeviceInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_GetRelatedDeviceInstance_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_PNP_GetRelatedDeviceInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetRelatedDeviceInstance r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETRELATEDDEVICEINSTANCE, - &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_PNP_EnumerateSubKeys_state { - struct PNP_EnumerateSubKeys orig; - struct PNP_EnumerateSubKeys tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_EnumerateSubKeys_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_EnumerateSubKeys_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_EnumerateSubKeys_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_EnumerateSubKeys_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_ntsvcs, - NDR_PNP_ENUMERATESUBKEYS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_EnumerateSubKeys_done, req); - return req; -} - -static void rpccli_PNP_EnumerateSubKeys_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_EnumerateSubKeys_state *state = tevent_req_data( - req, struct rpccli_PNP_EnumerateSubKeys_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_PNP_EnumerateSubKeys_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_EnumerateSubKeys_state *state = tevent_req_data( - req, struct rpccli_PNP_EnumerateSubKeys_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_PNP_EnumerateSubKeys(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_EnumerateSubKeys r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_ENUMERATESUBKEYS, - &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_PNP_GetDeviceList_state { - struct PNP_GetDeviceList orig; - struct PNP_GetDeviceList tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetDeviceList_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetDeviceList_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_filter /* [in] [unique,charset(UTF16)] */, - uint16_t *_buffer /* [out] [ref,length_is(*length),size_is(*length)] */, - uint32_t *_length /* [in,out] [ref] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_PNP_GetDeviceList_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetDeviceList_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.filter = _filter; - state->orig.in.length = _length; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.length = _length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_PNP_GetDeviceList_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_ntsvcs, - NDR_PNP_GETDEVICELIST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetDeviceList_done, req); - return req; -} - -static void rpccli_PNP_GetDeviceList_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetDeviceList_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceList_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (*state->tmp.in.length) * sizeof(*state->orig.out.buffer)); - *state->orig.out.length = *state->tmp.out.length; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_PNP_GetDeviceList_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetDeviceList_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceList_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_PNP_GetDeviceList(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *filter /* [in] [unique,charset(UTF16)] */, - uint16_t *buffer /* [out] [ref,length_is(*length),size_is(*length)] */, - uint32_t *length /* [in,out] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct PNP_GetDeviceList r; - NTSTATUS status; - - /* In parameters */ - r.in.filter = filter; - r.in.length = length; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETDEVICELIST, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(buffer, r.out.buffer, (*r.in.length) * sizeof(*buffer)); - *length = *r.out.length; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_PNP_GetDeviceListSize_state { - struct PNP_GetDeviceListSize orig; - struct PNP_GetDeviceListSize tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetDeviceListSize_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetDeviceListSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_devicename /* [in] [unique,charset(UTF16)] */, - uint32_t *_size /* [out] [ref] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_PNP_GetDeviceListSize_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetDeviceListSize_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.devicename = _devicename; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.size = _size; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_PNP_GetDeviceListSize_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_ntsvcs, - NDR_PNP_GETDEVICELISTSIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetDeviceListSize_done, req); - return req; -} - -static void rpccli_PNP_GetDeviceListSize_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetDeviceListSize_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceListSize_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.size = *state->tmp.out.size; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_PNP_GetDeviceListSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetDeviceListSize_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceListSize_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_PNP_GetDeviceListSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *devicename /* [in] [unique,charset(UTF16)] */, - uint32_t *size /* [out] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct PNP_GetDeviceListSize r; - NTSTATUS status; - - /* In parameters */ - r.in.devicename = devicename; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETDEVICELISTSIZE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *size = *r.out.size; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_PNP_GetDepth_state { - struct PNP_GetDepth orig; - struct PNP_GetDepth tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetDepth_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetDepth_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetDepth_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetDepth_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_ntsvcs, - NDR_PNP_GETDEPTH, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetDepth_done, req); - return req; -} - -static void rpccli_PNP_GetDepth_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetDepth_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDepth_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_PNP_GetDepth_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetDepth_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDepth_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_PNP_GetDepth(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetDepth r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETDEPTH, - &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_PNP_GetDeviceRegProp_state { - struct PNP_GetDeviceRegProp orig; - struct PNP_GetDeviceRegProp tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetDeviceRegProp_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetDeviceRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t _property /* [in] */, - enum winreg_Type *_reg_data_type /* [in,out] [ref] */, - uint8_t *_buffer /* [out] [ref,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *_buffer_size /* [in,out] [ref] */, - uint32_t *_needed /* [in,out] [ref] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_PNP_GetDeviceRegProp_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetDeviceRegProp_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.devicepath = _devicepath; - state->orig.in.property = _property; - state->orig.in.reg_data_type = _reg_data_type; - state->orig.in.buffer_size = _buffer_size; - state->orig.in.needed = _needed; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.reg_data_type = _reg_data_type; - state->orig.out.buffer = _buffer; - state->orig.out.buffer_size = _buffer_size; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_PNP_GetDeviceRegProp_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_ntsvcs, - NDR_PNP_GETDEVICEREGPROP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetDeviceRegProp_done, req); - return req; -} - -static void rpccli_PNP_GetDeviceRegProp_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetDeviceRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceRegProp_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.reg_data_type = *state->tmp.out.reg_data_type; - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (*state->tmp.in.buffer_size) * sizeof(*state->orig.out.buffer)); - *state->orig.out.buffer_size = *state->tmp.out.buffer_size; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_PNP_GetDeviceRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetDeviceRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceRegProp_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_PNP_GetDeviceRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t property /* [in] */, - enum winreg_Type *reg_data_type /* [in,out] [ref] */, - uint8_t *buffer /* [out] [ref,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *buffer_size /* [in,out] [ref] */, - uint32_t *needed /* [in,out] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct PNP_GetDeviceRegProp r; - NTSTATUS status; - - /* In parameters */ - r.in.devicepath = devicepath; - r.in.property = property; - r.in.reg_data_type = reg_data_type; - r.in.buffer_size = buffer_size; - r.in.needed = needed; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETDEVICEREGPROP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *reg_data_type = *r.out.reg_data_type; - memcpy(buffer, r.out.buffer, (*r.in.buffer_size) * sizeof(*buffer)); - *buffer_size = *r.out.buffer_size; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_PNP_SetDeviceRegProp_state { - struct PNP_SetDeviceRegProp orig; - struct PNP_SetDeviceRegProp tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_SetDeviceRegProp_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_SetDeviceRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_SetDeviceRegProp_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_SetDeviceRegProp_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_ntsvcs, - NDR_PNP_SETDEVICEREGPROP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_SetDeviceRegProp_done, req); - return req; -} - -static void rpccli_PNP_SetDeviceRegProp_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_SetDeviceRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_SetDeviceRegProp_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_PNP_SetDeviceRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_SetDeviceRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_SetDeviceRegProp_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_PNP_SetDeviceRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_SetDeviceRegProp r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_SETDEVICEREGPROP, - &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_PNP_GetClassInstance_state { - struct PNP_GetClassInstance orig; - struct PNP_GetClassInstance tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetClassInstance_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetClassInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetClassInstance_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetClassInstance_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_ntsvcs, - NDR_PNP_GETCLASSINSTANCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetClassInstance_done, req); - return req; -} - -static void rpccli_PNP_GetClassInstance_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetClassInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassInstance_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_PNP_GetClassInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetClassInstance_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassInstance_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_PNP_GetClassInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetClassInstance r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETCLASSINSTANCE, - &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_PNP_CreateKey_state { - struct PNP_CreateKey orig; - struct PNP_CreateKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_CreateKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_CreateKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_CreateKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_CreateKey_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_ntsvcs, - NDR_PNP_CREATEKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_CreateKey_done, req); - return req; -} - -static void rpccli_PNP_CreateKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_CreateKey_state *state = tevent_req_data( - req, struct rpccli_PNP_CreateKey_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_PNP_CreateKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_CreateKey_state *state = tevent_req_data( - req, struct rpccli_PNP_CreateKey_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_PNP_CreateKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_CreateKey r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_CREATEKEY, - &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_PNP_DeleteRegistryKey_state { - struct PNP_DeleteRegistryKey orig; - struct PNP_DeleteRegistryKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_DeleteRegistryKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_DeleteRegistryKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_DeleteRegistryKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_DeleteRegistryKey_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_ntsvcs, - NDR_PNP_DELETEREGISTRYKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_DeleteRegistryKey_done, req); - return req; -} - -static void rpccli_PNP_DeleteRegistryKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_DeleteRegistryKey_state *state = tevent_req_data( - req, struct rpccli_PNP_DeleteRegistryKey_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_PNP_DeleteRegistryKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_DeleteRegistryKey_state *state = tevent_req_data( - req, struct rpccli_PNP_DeleteRegistryKey_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_PNP_DeleteRegistryKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_DeleteRegistryKey r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_DELETEREGISTRYKEY, - &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_PNP_GetClassCount_state { - struct PNP_GetClassCount orig; - struct PNP_GetClassCount tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetClassCount_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetClassCount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetClassCount_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetClassCount_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_ntsvcs, - NDR_PNP_GETCLASSCOUNT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetClassCount_done, req); - return req; -} - -static void rpccli_PNP_GetClassCount_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetClassCount_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassCount_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_PNP_GetClassCount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetClassCount_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassCount_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_PNP_GetClassCount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetClassCount r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETCLASSCOUNT, - &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_PNP_GetClassName_state { - struct PNP_GetClassName orig; - struct PNP_GetClassName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetClassName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetClassName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetClassName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetClassName_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_ntsvcs, - NDR_PNP_GETCLASSNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetClassName_done, req); - return req; -} - -static void rpccli_PNP_GetClassName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetClassName_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassName_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_PNP_GetClassName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetClassName_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassName_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_PNP_GetClassName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetClassName r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETCLASSNAME, - &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_PNP_DeleteClassKey_state { - struct PNP_DeleteClassKey orig; - struct PNP_DeleteClassKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_DeleteClassKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_DeleteClassKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_DeleteClassKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_DeleteClassKey_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_ntsvcs, - NDR_PNP_DELETECLASSKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_DeleteClassKey_done, req); - return req; -} - -static void rpccli_PNP_DeleteClassKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_DeleteClassKey_state *state = tevent_req_data( - req, struct rpccli_PNP_DeleteClassKey_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_PNP_DeleteClassKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_DeleteClassKey_state *state = tevent_req_data( - req, struct rpccli_PNP_DeleteClassKey_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_PNP_DeleteClassKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_DeleteClassKey r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_DELETECLASSKEY, - &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_PNP_GetInterfaceDeviceAlias_state { - struct PNP_GetInterfaceDeviceAlias orig; - struct PNP_GetInterfaceDeviceAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetInterfaceDeviceAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetInterfaceDeviceAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetInterfaceDeviceAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetInterfaceDeviceAlias_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_ntsvcs, - NDR_PNP_GETINTERFACEDEVICEALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetInterfaceDeviceAlias_done, req); - return req; -} - -static void rpccli_PNP_GetInterfaceDeviceAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetInterfaceDeviceAlias_state *state = tevent_req_data( - req, struct rpccli_PNP_GetInterfaceDeviceAlias_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_PNP_GetInterfaceDeviceAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetInterfaceDeviceAlias_state *state = tevent_req_data( - req, struct rpccli_PNP_GetInterfaceDeviceAlias_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_PNP_GetInterfaceDeviceAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetInterfaceDeviceAlias r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETINTERFACEDEVICEALIAS, - &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_PNP_GetInterfaceDeviceList_state { - struct PNP_GetInterfaceDeviceList orig; - struct PNP_GetInterfaceDeviceList tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetInterfaceDeviceList_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetInterfaceDeviceList_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetInterfaceDeviceList_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetInterfaceDeviceList_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_ntsvcs, - NDR_PNP_GETINTERFACEDEVICELIST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetInterfaceDeviceList_done, req); - return req; -} - -static void rpccli_PNP_GetInterfaceDeviceList_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetInterfaceDeviceList_state *state = tevent_req_data( - req, struct rpccli_PNP_GetInterfaceDeviceList_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_PNP_GetInterfaceDeviceList_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetInterfaceDeviceList_state *state = tevent_req_data( - req, struct rpccli_PNP_GetInterfaceDeviceList_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_PNP_GetInterfaceDeviceList(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetInterfaceDeviceList r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETINTERFACEDEVICELIST, - &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_PNP_GetInterfaceDeviceListSize_state { - struct PNP_GetInterfaceDeviceListSize orig; - struct PNP_GetInterfaceDeviceListSize tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetInterfaceDeviceListSize_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetInterfaceDeviceListSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetInterfaceDeviceListSize_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetInterfaceDeviceListSize_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_ntsvcs, - NDR_PNP_GETINTERFACEDEVICELISTSIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetInterfaceDeviceListSize_done, req); - return req; -} - -static void rpccli_PNP_GetInterfaceDeviceListSize_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetInterfaceDeviceListSize_state *state = tevent_req_data( - req, struct rpccli_PNP_GetInterfaceDeviceListSize_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_PNP_GetInterfaceDeviceListSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetInterfaceDeviceListSize_state *state = tevent_req_data( - req, struct rpccli_PNP_GetInterfaceDeviceListSize_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_PNP_GetInterfaceDeviceListSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetInterfaceDeviceListSize r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETINTERFACEDEVICELISTSIZE, - &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_PNP_RegisterDeviceClassAssociation_state { - struct PNP_RegisterDeviceClassAssociation orig; - struct PNP_RegisterDeviceClassAssociation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_RegisterDeviceClassAssociation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_RegisterDeviceClassAssociation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_RegisterDeviceClassAssociation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_RegisterDeviceClassAssociation_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_ntsvcs, - NDR_PNP_REGISTERDEVICECLASSASSOCIATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_RegisterDeviceClassAssociation_done, req); - return req; -} - -static void rpccli_PNP_RegisterDeviceClassAssociation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_RegisterDeviceClassAssociation_state *state = tevent_req_data( - req, struct rpccli_PNP_RegisterDeviceClassAssociation_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_PNP_RegisterDeviceClassAssociation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_RegisterDeviceClassAssociation_state *state = tevent_req_data( - req, struct rpccli_PNP_RegisterDeviceClassAssociation_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_PNP_RegisterDeviceClassAssociation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_RegisterDeviceClassAssociation r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_REGISTERDEVICECLASSASSOCIATION, - &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_PNP_UnregisterDeviceClassAssociation_state { - struct PNP_UnregisterDeviceClassAssociation orig; - struct PNP_UnregisterDeviceClassAssociation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_UnregisterDeviceClassAssociation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_UnregisterDeviceClassAssociation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_UnregisterDeviceClassAssociation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_UnregisterDeviceClassAssociation_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_ntsvcs, - NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_UnregisterDeviceClassAssociation_done, req); - return req; -} - -static void rpccli_PNP_UnregisterDeviceClassAssociation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_UnregisterDeviceClassAssociation_state *state = tevent_req_data( - req, struct rpccli_PNP_UnregisterDeviceClassAssociation_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_PNP_UnregisterDeviceClassAssociation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_UnregisterDeviceClassAssociation_state *state = tevent_req_data( - req, struct rpccli_PNP_UnregisterDeviceClassAssociation_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_PNP_UnregisterDeviceClassAssociation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_UnregisterDeviceClassAssociation r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION, - &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_PNP_GetClassRegProp_state { - struct PNP_GetClassRegProp orig; - struct PNP_GetClassRegProp tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetClassRegProp_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetClassRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetClassRegProp_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetClassRegProp_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_ntsvcs, - NDR_PNP_GETCLASSREGPROP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetClassRegProp_done, req); - return req; -} - -static void rpccli_PNP_GetClassRegProp_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetClassRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassRegProp_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_PNP_GetClassRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetClassRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_GetClassRegProp_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_PNP_GetClassRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetClassRegProp r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETCLASSREGPROP, - &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_PNP_SetClassRegProp_state { - struct PNP_SetClassRegProp orig; - struct PNP_SetClassRegProp tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_SetClassRegProp_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_SetClassRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_SetClassRegProp_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_SetClassRegProp_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_ntsvcs, - NDR_PNP_SETCLASSREGPROP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_SetClassRegProp_done, req); - return req; -} - -static void rpccli_PNP_SetClassRegProp_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_SetClassRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_SetClassRegProp_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_PNP_SetClassRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_SetClassRegProp_state *state = tevent_req_data( - req, struct rpccli_PNP_SetClassRegProp_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_PNP_SetClassRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_SetClassRegProp r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_SETCLASSREGPROP, - &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_PNP_CreateDevInst_state { - struct PNP_CreateDevInst orig; - struct PNP_CreateDevInst tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_CreateDevInst_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_CreateDevInst_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_CreateDevInst_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_CreateDevInst_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_ntsvcs, - NDR_PNP_CREATEDEVINST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_CreateDevInst_done, req); - return req; -} - -static void rpccli_PNP_CreateDevInst_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_CreateDevInst_state *state = tevent_req_data( - req, struct rpccli_PNP_CreateDevInst_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_PNP_CreateDevInst_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_CreateDevInst_state *state = tevent_req_data( - req, struct rpccli_PNP_CreateDevInst_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_PNP_CreateDevInst(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_CreateDevInst r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_CREATEDEVINST, - &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_PNP_DeviceInstanceAction_state { - struct PNP_DeviceInstanceAction orig; - struct PNP_DeviceInstanceAction tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_DeviceInstanceAction_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_DeviceInstanceAction_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_DeviceInstanceAction_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_DeviceInstanceAction_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_ntsvcs, - NDR_PNP_DEVICEINSTANCEACTION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_DeviceInstanceAction_done, req); - return req; -} - -static void rpccli_PNP_DeviceInstanceAction_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_DeviceInstanceAction_state *state = tevent_req_data( - req, struct rpccli_PNP_DeviceInstanceAction_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_PNP_DeviceInstanceAction_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_DeviceInstanceAction_state *state = tevent_req_data( - req, struct rpccli_PNP_DeviceInstanceAction_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_PNP_DeviceInstanceAction(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_DeviceInstanceAction r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_DEVICEINSTANCEACTION, - &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_PNP_GetDeviceStatus_state { - struct PNP_GetDeviceStatus orig; - struct PNP_GetDeviceStatus tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetDeviceStatus_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetDeviceStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetDeviceStatus_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetDeviceStatus_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_ntsvcs, - NDR_PNP_GETDEVICESTATUS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetDeviceStatus_done, req); - return req; -} - -static void rpccli_PNP_GetDeviceStatus_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetDeviceStatus_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceStatus_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_PNP_GetDeviceStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetDeviceStatus_state *state = tevent_req_data( - req, struct rpccli_PNP_GetDeviceStatus_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_PNP_GetDeviceStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetDeviceStatus r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETDEVICESTATUS, - &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_PNP_SetDeviceProblem_state { - struct PNP_SetDeviceProblem orig; - struct PNP_SetDeviceProblem tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_SetDeviceProblem_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_SetDeviceProblem_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_SetDeviceProblem_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_SetDeviceProblem_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_ntsvcs, - NDR_PNP_SETDEVICEPROBLEM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_SetDeviceProblem_done, req); - return req; -} - -static void rpccli_PNP_SetDeviceProblem_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_SetDeviceProblem_state *state = tevent_req_data( - req, struct rpccli_PNP_SetDeviceProblem_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_PNP_SetDeviceProblem_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_SetDeviceProblem_state *state = tevent_req_data( - req, struct rpccli_PNP_SetDeviceProblem_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_PNP_SetDeviceProblem(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_SetDeviceProblem r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_SETDEVICEPROBLEM, - &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_PNP_DisableDevInst_state { - struct PNP_DisableDevInst orig; - struct PNP_DisableDevInst tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_DisableDevInst_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_DisableDevInst_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_DisableDevInst_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_DisableDevInst_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_ntsvcs, - NDR_PNP_DISABLEDEVINST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_DisableDevInst_done, req); - return req; -} - -static void rpccli_PNP_DisableDevInst_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_DisableDevInst_state *state = tevent_req_data( - req, struct rpccli_PNP_DisableDevInst_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_PNP_DisableDevInst_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_DisableDevInst_state *state = tevent_req_data( - req, struct rpccli_PNP_DisableDevInst_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_PNP_DisableDevInst(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_DisableDevInst r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_DISABLEDEVINST, - &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_PNP_UninstallDevInst_state { - struct PNP_UninstallDevInst orig; - struct PNP_UninstallDevInst tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_UninstallDevInst_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_UninstallDevInst_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_UninstallDevInst_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_UninstallDevInst_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_ntsvcs, - NDR_PNP_UNINSTALLDEVINST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_UninstallDevInst_done, req); - return req; -} - -static void rpccli_PNP_UninstallDevInst_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_UninstallDevInst_state *state = tevent_req_data( - req, struct rpccli_PNP_UninstallDevInst_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_PNP_UninstallDevInst_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_UninstallDevInst_state *state = tevent_req_data( - req, struct rpccli_PNP_UninstallDevInst_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_PNP_UninstallDevInst(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_UninstallDevInst r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_UNINSTALLDEVINST, - &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_PNP_AddID_state { - struct PNP_AddID orig; - struct PNP_AddID tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_AddID_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_AddID_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_AddID_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_AddID_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_ntsvcs, - NDR_PNP_ADDID, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_AddID_done, req); - return req; -} - -static void rpccli_PNP_AddID_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_AddID_state *state = tevent_req_data( - req, struct rpccli_PNP_AddID_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_PNP_AddID_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_AddID_state *state = tevent_req_data( - req, struct rpccli_PNP_AddID_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_PNP_AddID(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_AddID r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_ADDID, - &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_PNP_RegisterDriver_state { - struct PNP_RegisterDriver orig; - struct PNP_RegisterDriver tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_RegisterDriver_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_RegisterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_RegisterDriver_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_RegisterDriver_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_ntsvcs, - NDR_PNP_REGISTERDRIVER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_RegisterDriver_done, req); - return req; -} - -static void rpccli_PNP_RegisterDriver_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_RegisterDriver_state *state = tevent_req_data( - req, struct rpccli_PNP_RegisterDriver_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_PNP_RegisterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_RegisterDriver_state *state = tevent_req_data( - req, struct rpccli_PNP_RegisterDriver_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_PNP_RegisterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_RegisterDriver r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_REGISTERDRIVER, - &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_PNP_QueryRemove_state { - struct PNP_QueryRemove orig; - struct PNP_QueryRemove tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_QueryRemove_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_QueryRemove_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_QueryRemove_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_QueryRemove_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_ntsvcs, - NDR_PNP_QUERYREMOVE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_QueryRemove_done, req); - return req; -} - -static void rpccli_PNP_QueryRemove_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_QueryRemove_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryRemove_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_PNP_QueryRemove_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_QueryRemove_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryRemove_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_PNP_QueryRemove(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_QueryRemove r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_QUERYREMOVE, - &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_PNP_RequestDeviceEject_state { - struct PNP_RequestDeviceEject orig; - struct PNP_RequestDeviceEject tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_RequestDeviceEject_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_RequestDeviceEject_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_RequestDeviceEject_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_RequestDeviceEject_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_ntsvcs, - NDR_PNP_REQUESTDEVICEEJECT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_RequestDeviceEject_done, req); - return req; -} - -static void rpccli_PNP_RequestDeviceEject_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_RequestDeviceEject_state *state = tevent_req_data( - req, struct rpccli_PNP_RequestDeviceEject_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_PNP_RequestDeviceEject_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_RequestDeviceEject_state *state = tevent_req_data( - req, struct rpccli_PNP_RequestDeviceEject_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_PNP_RequestDeviceEject(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_RequestDeviceEject r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_REQUESTDEVICEEJECT, - &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_PNP_IsDockStationPresent_state { - struct PNP_IsDockStationPresent orig; - struct PNP_IsDockStationPresent tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_IsDockStationPresent_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_IsDockStationPresent_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_IsDockStationPresent_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_IsDockStationPresent_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_ntsvcs, - NDR_PNP_ISDOCKSTATIONPRESENT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_IsDockStationPresent_done, req); - return req; -} - -static void rpccli_PNP_IsDockStationPresent_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_IsDockStationPresent_state *state = tevent_req_data( - req, struct rpccli_PNP_IsDockStationPresent_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_PNP_IsDockStationPresent_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_IsDockStationPresent_state *state = tevent_req_data( - req, struct rpccli_PNP_IsDockStationPresent_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_PNP_IsDockStationPresent(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_IsDockStationPresent r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_ISDOCKSTATIONPRESENT, - &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_PNP_RequestEjectPC_state { - struct PNP_RequestEjectPC orig; - struct PNP_RequestEjectPC tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_RequestEjectPC_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_RequestEjectPC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_RequestEjectPC_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_RequestEjectPC_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_ntsvcs, - NDR_PNP_REQUESTEJECTPC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_RequestEjectPC_done, req); - return req; -} - -static void rpccli_PNP_RequestEjectPC_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_RequestEjectPC_state *state = tevent_req_data( - req, struct rpccli_PNP_RequestEjectPC_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_PNP_RequestEjectPC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_RequestEjectPC_state *state = tevent_req_data( - req, struct rpccli_PNP_RequestEjectPC_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_PNP_RequestEjectPC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_RequestEjectPC r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_REQUESTEJECTPC, - &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_PNP_HwProfFlags_state { - struct PNP_HwProfFlags orig; - struct PNP_HwProfFlags tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_HwProfFlags_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_HwProfFlags_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _action /* [in] */, - const char *_devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t _config /* [in] */, - uint32_t *_profile_flags /* [in,out] [ref] */, - uint16_t *_veto_type /* [in,out] [unique] */, - const char *_unknown5 /* [in] [unique,charset(UTF16)] */, - const char **_unknown5a /* [out] [unique,charset(UTF16)] */, - uint32_t _name_length /* [in] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_PNP_HwProfFlags_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_HwProfFlags_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.action = _action; - state->orig.in.devicepath = _devicepath; - state->orig.in.config = _config; - state->orig.in.profile_flags = _profile_flags; - state->orig.in.veto_type = _veto_type; - state->orig.in.unknown5 = _unknown5; - state->orig.in.name_length = _name_length; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.profile_flags = _profile_flags; - state->orig.out.veto_type = _veto_type; - state->orig.out.unknown5a = _unknown5a; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_PNP_HwProfFlags_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_ntsvcs, - NDR_PNP_HWPROFFLAGS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_HwProfFlags_done, req); - return req; -} - -static void rpccli_PNP_HwProfFlags_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_HwProfFlags_state *state = tevent_req_data( - req, struct rpccli_PNP_HwProfFlags_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.profile_flags = *state->tmp.out.profile_flags; - if (state->orig.out.veto_type && state->tmp.out.veto_type) { - *state->orig.out.veto_type = *state->tmp.out.veto_type; - } - if (state->orig.out.unknown5a && state->tmp.out.unknown5a) { - *state->orig.out.unknown5a = *state->tmp.out.unknown5a; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_PNP_HwProfFlags_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_HwProfFlags_state *state = tevent_req_data( - req, struct rpccli_PNP_HwProfFlags_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_PNP_HwProfFlags(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t action /* [in] */, - const char *devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t config /* [in] */, - uint32_t *profile_flags /* [in,out] [ref] */, - uint16_t *veto_type /* [in,out] [unique] */, - const char *unknown5 /* [in] [unique,charset(UTF16)] */, - const char **unknown5a /* [out] [unique,charset(UTF16)] */, - uint32_t name_length /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct PNP_HwProfFlags r; - NTSTATUS status; - - /* In parameters */ - r.in.action = action; - r.in.devicepath = devicepath; - r.in.config = config; - r.in.profile_flags = profile_flags; - r.in.veto_type = veto_type; - r.in.unknown5 = unknown5; - r.in.name_length = name_length; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_HWPROFFLAGS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *profile_flags = *r.out.profile_flags; - if (veto_type && r.out.veto_type) { - *veto_type = *r.out.veto_type; - } - if (unknown5a && r.out.unknown5a) { - *unknown5a = *r.out.unknown5a; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_PNP_GetHwProfInfo_state { - struct PNP_GetHwProfInfo orig; - struct PNP_GetHwProfInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetHwProfInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetHwProfInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _idx /* [in] */, - struct PNP_HwProfInfo *_info /* [in,out] [ref] */, - uint32_t _size /* [in] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_PNP_GetHwProfInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetHwProfInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.idx = _idx; - state->orig.in.info = _info; - state->orig.in.size = _size; - state->orig.in.flags = _flags; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_PNP_GetHwProfInfo_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_ntsvcs, - NDR_PNP_GETHWPROFINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetHwProfInfo_done, req); - return req; -} - -static void rpccli_PNP_GetHwProfInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetHwProfInfo_state *state = tevent_req_data( - req, struct rpccli_PNP_GetHwProfInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_PNP_GetHwProfInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetHwProfInfo_state *state = tevent_req_data( - req, struct rpccli_PNP_GetHwProfInfo_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_PNP_GetHwProfInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t idx /* [in] */, - struct PNP_HwProfInfo *info /* [in,out] [ref] */, - uint32_t size /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct PNP_GetHwProfInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.idx = idx; - r.in.info = info; - r.in.size = size; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETHWPROFINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_PNP_AddEmptyLogConf_state { - struct PNP_AddEmptyLogConf orig; - struct PNP_AddEmptyLogConf tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_AddEmptyLogConf_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_AddEmptyLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_AddEmptyLogConf_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_AddEmptyLogConf_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_ntsvcs, - NDR_PNP_ADDEMPTYLOGCONF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_AddEmptyLogConf_done, req); - return req; -} - -static void rpccli_PNP_AddEmptyLogConf_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_AddEmptyLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_AddEmptyLogConf_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_PNP_AddEmptyLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_AddEmptyLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_AddEmptyLogConf_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_PNP_AddEmptyLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_AddEmptyLogConf r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_ADDEMPTYLOGCONF, - &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_PNP_FreeLogConf_state { - struct PNP_FreeLogConf orig; - struct PNP_FreeLogConf tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_FreeLogConf_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_FreeLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_FreeLogConf_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_FreeLogConf_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_ntsvcs, - NDR_PNP_FREELOGCONF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_FreeLogConf_done, req); - return req; -} - -static void rpccli_PNP_FreeLogConf_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_FreeLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_FreeLogConf_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_PNP_FreeLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_FreeLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_FreeLogConf_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_PNP_FreeLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_FreeLogConf r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_FREELOGCONF, - &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_PNP_GetFirstLogConf_state { - struct PNP_GetFirstLogConf orig; - struct PNP_GetFirstLogConf tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetFirstLogConf_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetFirstLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetFirstLogConf_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetFirstLogConf_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_ntsvcs, - NDR_PNP_GETFIRSTLOGCONF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetFirstLogConf_done, req); - return req; -} - -static void rpccli_PNP_GetFirstLogConf_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetFirstLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_GetFirstLogConf_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_PNP_GetFirstLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetFirstLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_GetFirstLogConf_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_PNP_GetFirstLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetFirstLogConf r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETFIRSTLOGCONF, - &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_PNP_GetNextLogConf_state { - struct PNP_GetNextLogConf orig; - struct PNP_GetNextLogConf tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetNextLogConf_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetNextLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetNextLogConf_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetNextLogConf_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_ntsvcs, - NDR_PNP_GETNEXTLOGCONF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetNextLogConf_done, req); - return req; -} - -static void rpccli_PNP_GetNextLogConf_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetNextLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_GetNextLogConf_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_PNP_GetNextLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetNextLogConf_state *state = tevent_req_data( - req, struct rpccli_PNP_GetNextLogConf_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_PNP_GetNextLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetNextLogConf r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETNEXTLOGCONF, - &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_PNP_GetLogConfPriority_state { - struct PNP_GetLogConfPriority orig; - struct PNP_GetLogConfPriority tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetLogConfPriority_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetLogConfPriority_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetLogConfPriority_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetLogConfPriority_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_ntsvcs, - NDR_PNP_GETLOGCONFPRIORITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetLogConfPriority_done, req); - return req; -} - -static void rpccli_PNP_GetLogConfPriority_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetLogConfPriority_state *state = tevent_req_data( - req, struct rpccli_PNP_GetLogConfPriority_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_PNP_GetLogConfPriority_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetLogConfPriority_state *state = tevent_req_data( - req, struct rpccli_PNP_GetLogConfPriority_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_PNP_GetLogConfPriority(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetLogConfPriority r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETLOGCONFPRIORITY, - &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_PNP_AddResDes_state { - struct PNP_AddResDes orig; - struct PNP_AddResDes tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_AddResDes_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_AddResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_AddResDes_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_AddResDes_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_ntsvcs, - NDR_PNP_ADDRESDES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_AddResDes_done, req); - return req; -} - -static void rpccli_PNP_AddResDes_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_AddResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_AddResDes_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_PNP_AddResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_AddResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_AddResDes_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_PNP_AddResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_AddResDes r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_ADDRESDES, - &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_PNP_FreeResDes_state { - struct PNP_FreeResDes orig; - struct PNP_FreeResDes tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_FreeResDes_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_FreeResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_FreeResDes_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_FreeResDes_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_ntsvcs, - NDR_PNP_FREERESDES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_FreeResDes_done, req); - return req; -} - -static void rpccli_PNP_FreeResDes_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_FreeResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_FreeResDes_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_PNP_FreeResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_FreeResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_FreeResDes_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_PNP_FreeResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_FreeResDes r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_FREERESDES, - &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_PNP_GetNextResDes_state { - struct PNP_GetNextResDes orig; - struct PNP_GetNextResDes tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetNextResDes_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetNextResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetNextResDes_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetNextResDes_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_ntsvcs, - NDR_PNP_GETNEXTRESDES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetNextResDes_done, req); - return req; -} - -static void rpccli_PNP_GetNextResDes_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetNextResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_GetNextResDes_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_PNP_GetNextResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetNextResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_GetNextResDes_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_PNP_GetNextResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetNextResDes r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETNEXTRESDES, - &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_PNP_GetResDesData_state { - struct PNP_GetResDesData orig; - struct PNP_GetResDesData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetResDesData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetResDesData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetResDesData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetResDesData_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_ntsvcs, - NDR_PNP_GETRESDESDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetResDesData_done, req); - return req; -} - -static void rpccli_PNP_GetResDesData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetResDesData_state *state = tevent_req_data( - req, struct rpccli_PNP_GetResDesData_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_PNP_GetResDesData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetResDesData_state *state = tevent_req_data( - req, struct rpccli_PNP_GetResDesData_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_PNP_GetResDesData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetResDesData r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETRESDESDATA, - &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_PNP_GetResDesDataSize_state { - struct PNP_GetResDesDataSize orig; - struct PNP_GetResDesDataSize tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetResDesDataSize_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetResDesDataSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetResDesDataSize_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetResDesDataSize_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_ntsvcs, - NDR_PNP_GETRESDESDATASIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetResDesDataSize_done, req); - return req; -} - -static void rpccli_PNP_GetResDesDataSize_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetResDesDataSize_state *state = tevent_req_data( - req, struct rpccli_PNP_GetResDesDataSize_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_PNP_GetResDesDataSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetResDesDataSize_state *state = tevent_req_data( - req, struct rpccli_PNP_GetResDesDataSize_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_PNP_GetResDesDataSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetResDesDataSize r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETRESDESDATASIZE, - &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_PNP_ModifyResDes_state { - struct PNP_ModifyResDes orig; - struct PNP_ModifyResDes tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_ModifyResDes_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_ModifyResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_ModifyResDes_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_ModifyResDes_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_ntsvcs, - NDR_PNP_MODIFYRESDES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_ModifyResDes_done, req); - return req; -} - -static void rpccli_PNP_ModifyResDes_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_ModifyResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_ModifyResDes_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_PNP_ModifyResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_ModifyResDes_state *state = tevent_req_data( - req, struct rpccli_PNP_ModifyResDes_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_PNP_ModifyResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_ModifyResDes r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_MODIFYRESDES, - &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_PNP_DetectResourceLimit_state { - struct PNP_DetectResourceLimit orig; - struct PNP_DetectResourceLimit tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_DetectResourceLimit_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_DetectResourceLimit_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_DetectResourceLimit_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_DetectResourceLimit_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_ntsvcs, - NDR_PNP_DETECTRESOURCELIMIT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_DetectResourceLimit_done, req); - return req; -} - -static void rpccli_PNP_DetectResourceLimit_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_DetectResourceLimit_state *state = tevent_req_data( - req, struct rpccli_PNP_DetectResourceLimit_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_PNP_DetectResourceLimit_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_DetectResourceLimit_state *state = tevent_req_data( - req, struct rpccli_PNP_DetectResourceLimit_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_PNP_DetectResourceLimit(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_DetectResourceLimit r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_DETECTRESOURCELIMIT, - &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_PNP_QueryResConfList_state { - struct PNP_QueryResConfList orig; - struct PNP_QueryResConfList tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_QueryResConfList_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_QueryResConfList_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_QueryResConfList_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_QueryResConfList_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_ntsvcs, - NDR_PNP_QUERYRESCONFLIST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_QueryResConfList_done, req); - return req; -} - -static void rpccli_PNP_QueryResConfList_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_QueryResConfList_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryResConfList_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_PNP_QueryResConfList_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_QueryResConfList_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryResConfList_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_PNP_QueryResConfList(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_QueryResConfList r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_QUERYRESCONFLIST, - &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_PNP_SetHwProf_state { - struct PNP_SetHwProf orig; - struct PNP_SetHwProf tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_SetHwProf_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_SetHwProf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_SetHwProf_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_SetHwProf_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_ntsvcs, - NDR_PNP_SETHWPROF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_SetHwProf_done, req); - return req; -} - -static void rpccli_PNP_SetHwProf_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_SetHwProf_state *state = tevent_req_data( - req, struct rpccli_PNP_SetHwProf_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_PNP_SetHwProf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_SetHwProf_state *state = tevent_req_data( - req, struct rpccli_PNP_SetHwProf_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_PNP_SetHwProf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_SetHwProf r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_SETHWPROF, - &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_PNP_QueryArbitratorFreeData_state { - struct PNP_QueryArbitratorFreeData orig; - struct PNP_QueryArbitratorFreeData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_QueryArbitratorFreeData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_QueryArbitratorFreeData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_QueryArbitratorFreeData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_QueryArbitratorFreeData_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_ntsvcs, - NDR_PNP_QUERYARBITRATORFREEDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_QueryArbitratorFreeData_done, req); - return req; -} - -static void rpccli_PNP_QueryArbitratorFreeData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_QueryArbitratorFreeData_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryArbitratorFreeData_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_PNP_QueryArbitratorFreeData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_QueryArbitratorFreeData_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryArbitratorFreeData_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_PNP_QueryArbitratorFreeData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_QueryArbitratorFreeData r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_QUERYARBITRATORFREEDATA, - &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_PNP_QueryArbitratorFreeSize_state { - struct PNP_QueryArbitratorFreeSize orig; - struct PNP_QueryArbitratorFreeSize tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_QueryArbitratorFreeSize_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_QueryArbitratorFreeSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_QueryArbitratorFreeSize_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_QueryArbitratorFreeSize_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_ntsvcs, - NDR_PNP_QUERYARBITRATORFREESIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_QueryArbitratorFreeSize_done, req); - return req; -} - -static void rpccli_PNP_QueryArbitratorFreeSize_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_QueryArbitratorFreeSize_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryArbitratorFreeSize_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_PNP_QueryArbitratorFreeSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_QueryArbitratorFreeSize_state *state = tevent_req_data( - req, struct rpccli_PNP_QueryArbitratorFreeSize_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_PNP_QueryArbitratorFreeSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_QueryArbitratorFreeSize r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_QUERYARBITRATORFREESIZE, - &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_PNP_RunDetection_state { - struct PNP_RunDetection orig; - struct PNP_RunDetection tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_RunDetection_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_RunDetection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_RunDetection_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_RunDetection_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_ntsvcs, - NDR_PNP_RUNDETECTION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_RunDetection_done, req); - return req; -} - -static void rpccli_PNP_RunDetection_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_RunDetection_state *state = tevent_req_data( - req, struct rpccli_PNP_RunDetection_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_PNP_RunDetection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_RunDetection_state *state = tevent_req_data( - req, struct rpccli_PNP_RunDetection_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_PNP_RunDetection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_RunDetection r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_RUNDETECTION, - &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_PNP_RegisterNotification_state { - struct PNP_RegisterNotification orig; - struct PNP_RegisterNotification tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_RegisterNotification_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_RegisterNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_RegisterNotification_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_RegisterNotification_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_ntsvcs, - NDR_PNP_REGISTERNOTIFICATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_RegisterNotification_done, req); - return req; -} - -static void rpccli_PNP_RegisterNotification_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_RegisterNotification_state *state = tevent_req_data( - req, struct rpccli_PNP_RegisterNotification_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_PNP_RegisterNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_RegisterNotification_state *state = tevent_req_data( - req, struct rpccli_PNP_RegisterNotification_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_PNP_RegisterNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_RegisterNotification r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_REGISTERNOTIFICATION, - &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_PNP_UnregisterNotification_state { - struct PNP_UnregisterNotification orig; - struct PNP_UnregisterNotification tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_UnregisterNotification_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_UnregisterNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_UnregisterNotification_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_UnregisterNotification_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_ntsvcs, - NDR_PNP_UNREGISTERNOTIFICATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_UnregisterNotification_done, req); - return req; -} - -static void rpccli_PNP_UnregisterNotification_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_UnregisterNotification_state *state = tevent_req_data( - req, struct rpccli_PNP_UnregisterNotification_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_PNP_UnregisterNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_UnregisterNotification_state *state = tevent_req_data( - req, struct rpccli_PNP_UnregisterNotification_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_PNP_UnregisterNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_UnregisterNotification r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_UNREGISTERNOTIFICATION, - &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_PNP_GetCustomDevProp_state { - struct PNP_GetCustomDevProp orig; - struct PNP_GetCustomDevProp tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetCustomDevProp_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetCustomDevProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetCustomDevProp_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetCustomDevProp_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_ntsvcs, - NDR_PNP_GETCUSTOMDEVPROP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetCustomDevProp_done, req); - return req; -} - -static void rpccli_PNP_GetCustomDevProp_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetCustomDevProp_state *state = tevent_req_data( - req, struct rpccli_PNP_GetCustomDevProp_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_PNP_GetCustomDevProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetCustomDevProp_state *state = tevent_req_data( - req, struct rpccli_PNP_GetCustomDevProp_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_PNP_GetCustomDevProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetCustomDevProp r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETCUSTOMDEVPROP, - &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_PNP_GetVersionInternal_state { - struct PNP_GetVersionInternal orig; - struct PNP_GetVersionInternal tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetVersionInternal_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetVersionInternal_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetVersionInternal_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetVersionInternal_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_ntsvcs, - NDR_PNP_GETVERSIONINTERNAL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetVersionInternal_done, req); - return req; -} - -static void rpccli_PNP_GetVersionInternal_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetVersionInternal_state *state = tevent_req_data( - req, struct rpccli_PNP_GetVersionInternal_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_PNP_GetVersionInternal_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetVersionInternal_state *state = tevent_req_data( - req, struct rpccli_PNP_GetVersionInternal_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_PNP_GetVersionInternal(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetVersionInternal r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETVERSIONINTERNAL, - &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_PNP_GetBlockedDriverInfo_state { - struct PNP_GetBlockedDriverInfo orig; - struct PNP_GetBlockedDriverInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetBlockedDriverInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetBlockedDriverInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetBlockedDriverInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetBlockedDriverInfo_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_ntsvcs, - NDR_PNP_GETBLOCKEDDRIVERINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetBlockedDriverInfo_done, req); - return req; -} - -static void rpccli_PNP_GetBlockedDriverInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetBlockedDriverInfo_state *state = tevent_req_data( - req, struct rpccli_PNP_GetBlockedDriverInfo_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_PNP_GetBlockedDriverInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetBlockedDriverInfo_state *state = tevent_req_data( - req, struct rpccli_PNP_GetBlockedDriverInfo_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_PNP_GetBlockedDriverInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetBlockedDriverInfo r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETBLOCKEDDRIVERINFO, - &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_PNP_GetServerSideDeviceInstallFlags_state { - struct PNP_GetServerSideDeviceInstallFlags orig; - struct PNP_GetServerSideDeviceInstallFlags tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_PNP_GetServerSideDeviceInstallFlags_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_PNP_GetServerSideDeviceInstallFlags_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_PNP_GetServerSideDeviceInstallFlags_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_PNP_GetServerSideDeviceInstallFlags_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_ntsvcs, - NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_PNP_GetServerSideDeviceInstallFlags_done, req); - return req; -} - -static void rpccli_PNP_GetServerSideDeviceInstallFlags_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_PNP_GetServerSideDeviceInstallFlags_state *state = tevent_req_data( - req, struct rpccli_PNP_GetServerSideDeviceInstallFlags_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_PNP_GetServerSideDeviceInstallFlags_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_PNP_GetServerSideDeviceInstallFlags_state *state = tevent_req_data( - req, struct rpccli_PNP_GetServerSideDeviceInstallFlags_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_PNP_GetServerSideDeviceInstallFlags(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct PNP_GetServerSideDeviceInstallFlags r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_ntsvcs, - NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS, - &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); -} - diff --git a/librpc/gen_ndr/cli_ntsvcs.h b/librpc/gen_ndr/cli_ntsvcs.h deleted file mode 100644 index 90a037d79d5..00000000000 --- a/librpc/gen_ndr/cli_ntsvcs.h +++ /dev/null @@ -1,649 +0,0 @@ -#include "../librpc/gen_ndr/ndr_ntsvcs.h" -#ifndef __CLI_NTSVCS__ -#define __CLI_NTSVCS__ -struct tevent_req *rpccli_PNP_Disconnect_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_Disconnect_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_Disconnect(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_Connect_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_Connect_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_Connect(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetVersion_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_version /* [out] [ref] */); -NTSTATUS rpccli_PNP_GetVersion_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetVersion(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *version /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetGlobalState_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetGlobalState_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetGlobalState(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_InitDetection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_InitDetection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_InitDetection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_ReportLogOn_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_ReportLogOn_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_ReportLogOn(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_ValidateDeviceInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_PNP_ValidateDeviceInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_ValidateDeviceInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetRootDeviceInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetRootDeviceInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetRootDeviceInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetRelatedDeviceInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetRelatedDeviceInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetRelatedDeviceInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_EnumerateSubKeys_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_EnumerateSubKeys_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_EnumerateSubKeys(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetDeviceList_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_filter /* [in] [unique,charset(UTF16)] */, - uint16_t *_buffer /* [out] [ref,length_is(*length),size_is(*length)] */, - uint32_t *_length /* [in,out] [ref] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_PNP_GetDeviceList_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetDeviceList(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *filter /* [in] [unique,charset(UTF16)] */, - uint16_t *buffer /* [out] [ref,length_is(*length),size_is(*length)] */, - uint32_t *length /* [in,out] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetDeviceListSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_devicename /* [in] [unique,charset(UTF16)] */, - uint32_t *_size /* [out] [ref] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_PNP_GetDeviceListSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetDeviceListSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *devicename /* [in] [unique,charset(UTF16)] */, - uint32_t *size /* [out] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetDepth_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetDepth_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetDepth(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetDeviceRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t _property /* [in] */, - enum winreg_Type *_reg_data_type /* [in,out] [ref] */, - uint8_t *_buffer /* [out] [ref,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *_buffer_size /* [in,out] [ref] */, - uint32_t *_needed /* [in,out] [ref] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_PNP_GetDeviceRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetDeviceRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t property /* [in] */, - enum winreg_Type *reg_data_type /* [in,out] [ref] */, - uint8_t *buffer /* [out] [ref,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *buffer_size /* [in,out] [ref] */, - uint32_t *needed /* [in,out] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_SetDeviceRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_SetDeviceRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_SetDeviceRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetClassInstance_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetClassInstance_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetClassInstance(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_CreateKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_CreateKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_CreateKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_DeleteRegistryKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_DeleteRegistryKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_DeleteRegistryKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetClassCount_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetClassCount_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetClassCount(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetClassName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetClassName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetClassName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_DeleteClassKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_DeleteClassKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_DeleteClassKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetInterfaceDeviceAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetInterfaceDeviceAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetInterfaceDeviceAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetInterfaceDeviceList_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetInterfaceDeviceList_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetInterfaceDeviceList(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetInterfaceDeviceListSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetInterfaceDeviceListSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetInterfaceDeviceListSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_RegisterDeviceClassAssociation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_RegisterDeviceClassAssociation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_RegisterDeviceClassAssociation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_UnregisterDeviceClassAssociation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_UnregisterDeviceClassAssociation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_UnregisterDeviceClassAssociation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetClassRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetClassRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetClassRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_SetClassRegProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_SetClassRegProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_SetClassRegProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_CreateDevInst_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_CreateDevInst_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_CreateDevInst(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_DeviceInstanceAction_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_DeviceInstanceAction_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_DeviceInstanceAction(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetDeviceStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetDeviceStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetDeviceStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_SetDeviceProblem_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_SetDeviceProblem_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_SetDeviceProblem(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_DisableDevInst_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_DisableDevInst_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_DisableDevInst(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_UninstallDevInst_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_UninstallDevInst_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_UninstallDevInst(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_AddID_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_AddID_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_AddID(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_RegisterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_RegisterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_RegisterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_QueryRemove_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_QueryRemove_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_QueryRemove(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_RequestDeviceEject_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_RequestDeviceEject_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_RequestDeviceEject(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_IsDockStationPresent_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_IsDockStationPresent_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_IsDockStationPresent(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_RequestEjectPC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_RequestEjectPC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_RequestEjectPC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_HwProfFlags_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _action /* [in] */, - const char *_devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t _config /* [in] */, - uint32_t *_profile_flags /* [in,out] [ref] */, - uint16_t *_veto_type /* [in,out] [unique] */, - const char *_unknown5 /* [in] [unique,charset(UTF16)] */, - const char **_unknown5a /* [out] [unique,charset(UTF16)] */, - uint32_t _name_length /* [in] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_PNP_HwProfFlags_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_HwProfFlags(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t action /* [in] */, - const char *devicepath /* [in] [ref,charset(UTF16)] */, - uint32_t config /* [in] */, - uint32_t *profile_flags /* [in,out] [ref] */, - uint16_t *veto_type /* [in,out] [unique] */, - const char *unknown5 /* [in] [unique,charset(UTF16)] */, - const char **unknown5a /* [out] [unique,charset(UTF16)] */, - uint32_t name_length /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetHwProfInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _idx /* [in] */, - struct PNP_HwProfInfo *_info /* [in,out] [ref] */, - uint32_t _size /* [in] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_PNP_GetHwProfInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetHwProfInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t idx /* [in] */, - struct PNP_HwProfInfo *info /* [in,out] [ref] */, - uint32_t size /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_PNP_AddEmptyLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_AddEmptyLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_AddEmptyLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_FreeLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_FreeLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_FreeLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetFirstLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetFirstLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetFirstLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetNextLogConf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetNextLogConf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetNextLogConf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetLogConfPriority_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetLogConfPriority_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetLogConfPriority(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_AddResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_AddResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_AddResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_FreeResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_FreeResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_FreeResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetNextResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetNextResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetNextResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetResDesData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetResDesData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetResDesData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetResDesDataSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetResDesDataSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetResDesDataSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_ModifyResDes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_ModifyResDes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_ModifyResDes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_DetectResourceLimit_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_DetectResourceLimit_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_DetectResourceLimit(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_QueryResConfList_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_QueryResConfList_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_QueryResConfList(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_SetHwProf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_SetHwProf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_SetHwProf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_QueryArbitratorFreeData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_QueryArbitratorFreeData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_QueryArbitratorFreeData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_QueryArbitratorFreeSize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_QueryArbitratorFreeSize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_QueryArbitratorFreeSize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_RunDetection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_RunDetection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_RunDetection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_RegisterNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_RegisterNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_RegisterNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_UnregisterNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_UnregisterNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_UnregisterNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetCustomDevProp_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetCustomDevProp_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetCustomDevProp(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetVersionInternal_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetVersionInternal_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetVersionInternal(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetBlockedDriverInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetBlockedDriverInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetBlockedDriverInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_PNP_GetServerSideDeviceInstallFlags_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_PNP_GetServerSideDeviceInstallFlags_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_PNP_GetServerSideDeviceInstallFlags(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -#endif /* __CLI_NTSVCS__ */ diff --git a/librpc/gen_ndr/cli_samr.c b/librpc/gen_ndr/cli_samr.c deleted file mode 100644 index df266e85089..00000000000 --- a/librpc/gen_ndr/cli_samr.c +++ /dev/null @@ -1,10206 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_samr.h" - -struct rpccli_samr_Connect_state { - struct samr_Connect orig; - struct samr_Connect tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Connect_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Connect_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Connect_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Connect_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.connect_handle = _connect_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_Connect_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_samr, - NDR_SAMR_CONNECT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Connect_done, req); - return req; -} - -static void rpccli_samr_Connect_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Connect_state *state = tevent_req_data( - req, struct rpccli_samr_Connect_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.connect_handle = *state->tmp.out.connect_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_Connect_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Connect_state *state = tevent_req_data( - req, struct rpccli_samr_Connect_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_samr_Connect(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */) -{ - struct samr_Connect r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CONNECT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *connect_handle = *r.out.connect_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_Close_state { - struct samr_Close orig; - struct samr_Close tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Close_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Close_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Close_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Close_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_Close_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_samr, - NDR_SAMR_CLOSE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Close_done, req); - return req; -} - -static void rpccli_samr_Close_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Close_state *state = tevent_req_data( - req, struct rpccli_samr_Close_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_Close_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Close_state *state = tevent_req_data( - req, struct rpccli_samr_Close_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_samr_Close(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */) -{ - struct samr_Close r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CLOSE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetSecurity_state { - struct samr_SetSecurity orig; - struct samr_SetSecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetSecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf *_sdbuf /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetSecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetSecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sec_info = _sec_info; - state->orig.in.sdbuf = _sdbuf; - - /* 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_samr, - NDR_SAMR_SETSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetSecurity_done, req); - return req; -} - -static void rpccli_samr_SetSecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetSecurity_state *state = tevent_req_data( - req, struct rpccli_samr_SetSecurity_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_samr_SetSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetSecurity_state *state = tevent_req_data( - req, struct rpccli_samr_SetSecurity_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_samr_SetSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf *sdbuf /* [in] [ref] */) -{ - struct samr_SetSecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sec_info = sec_info; - r.in.sdbuf = sdbuf; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETSECURITY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QuerySecurity_state { - struct samr_QuerySecurity orig; - struct samr_QuerySecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QuerySecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QuerySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf **_sdbuf /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_QuerySecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QuerySecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sec_info = _sec_info; - - /* Out parameters */ - state->orig.out.sdbuf = _sdbuf; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QuerySecurity_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_samr, - NDR_SAMR_QUERYSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QuerySecurity_done, req); - return req; -} - -static void rpccli_samr_QuerySecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QuerySecurity_state *state = tevent_req_data( - req, struct rpccli_samr_QuerySecurity_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.sdbuf = *state->tmp.out.sdbuf; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QuerySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QuerySecurity_state *state = tevent_req_data( - req, struct rpccli_samr_QuerySecurity_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_samr_QuerySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf **sdbuf /* [out] [ref] */) -{ - struct samr_QuerySecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sec_info = sec_info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYSECURITY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sdbuf = *r.out.sdbuf; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_Shutdown_state { - struct samr_Shutdown orig; - struct samr_Shutdown tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Shutdown_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Shutdown_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Shutdown_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Shutdown_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.connect_handle = _connect_handle; - - /* 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_samr, - NDR_SAMR_SHUTDOWN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Shutdown_done, req); - return req; -} - -static void rpccli_samr_Shutdown_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Shutdown_state *state = tevent_req_data( - req, struct rpccli_samr_Shutdown_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_samr_Shutdown_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Shutdown_state *state = tevent_req_data( - req, struct rpccli_samr_Shutdown_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_samr_Shutdown(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */) -{ - struct samr_Shutdown r; - NTSTATUS status; - - /* In parameters */ - r.in.connect_handle = connect_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SHUTDOWN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_LookupDomain_state { - struct samr_LookupDomain orig; - struct samr_LookupDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_LookupDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_LookupDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - struct lsa_String *_domain_name /* [in] [ref] */, - struct dom_sid2 **_sid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_LookupDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_LookupDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.connect_handle = _connect_handle; - state->orig.in.domain_name = _domain_name; - - /* Out parameters */ - state->orig.out.sid = _sid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_LookupDomain_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_samr, - NDR_SAMR_LOOKUPDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_LookupDomain_done, req); - return req; -} - -static void rpccli_samr_LookupDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_LookupDomain_state *state = tevent_req_data( - req, struct rpccli_samr_LookupDomain_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.sid = *state->tmp.out.sid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_LookupDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_LookupDomain_state *state = tevent_req_data( - req, struct rpccli_samr_LookupDomain_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_samr_LookupDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - struct lsa_String *domain_name /* [in] [ref] */, - struct dom_sid2 **sid /* [out] [ref] */) -{ - struct samr_LookupDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.connect_handle = connect_handle; - r.in.domain_name = domain_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_LOOKUPDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sid = *r.out.sid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_EnumDomains_state { - struct samr_EnumDomains orig; - struct samr_EnumDomains tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_EnumDomains_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_EnumDomains_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _buf_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_EnumDomains_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_EnumDomains_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.connect_handle = _connect_handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.buf_size = _buf_size; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.sam = _sam; - state->orig.out.num_entries = _num_entries; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_EnumDomains_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_samr, - NDR_SAMR_ENUMDOMAINS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_EnumDomains_done, req); - return req; -} - -static void rpccli_samr_EnumDomains_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_EnumDomains_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomains_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.sam = *state->tmp.out.sam; - *state->orig.out.num_entries = *state->tmp.out.num_entries; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_EnumDomains_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_EnumDomains_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomains_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_samr_EnumDomains(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t buf_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */) -{ - struct samr_EnumDomains r; - NTSTATUS status; - - /* In parameters */ - r.in.connect_handle = connect_handle; - r.in.resume_handle = resume_handle; - r.in.buf_size = buf_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ENUMDOMAINS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *sam = *r.out.sam; - *num_entries = *r.out.num_entries; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_OpenDomain_state { - struct samr_OpenDomain orig; - struct samr_OpenDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_OpenDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_OpenDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct dom_sid2 *_sid /* [in] [ref] */, - struct policy_handle *_domain_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_OpenDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_OpenDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.connect_handle = _connect_handle; - state->orig.in.access_mask = _access_mask; - state->orig.in.sid = _sid; - - /* Out parameters */ - state->orig.out.domain_handle = _domain_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_OpenDomain_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_samr, - NDR_SAMR_OPENDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_OpenDomain_done, req); - return req; -} - -static void rpccli_samr_OpenDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_OpenDomain_state *state = tevent_req_data( - req, struct rpccli_samr_OpenDomain_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.domain_handle = *state->tmp.out.domain_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_OpenDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_OpenDomain_state *state = tevent_req_data( - req, struct rpccli_samr_OpenDomain_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_samr_OpenDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct dom_sid2 *sid /* [in] [ref] */, - struct policy_handle *domain_handle /* [out] [ref] */) -{ - struct samr_OpenDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.connect_handle = connect_handle; - r.in.access_mask = access_mask; - r.in.sid = sid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_OPENDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *domain_handle = *r.out.domain_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryDomainInfo_state { - struct samr_QueryDomainInfo orig; - struct samr_QueryDomainInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryDomainInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass _level /* [in] */, - union samr_DomainInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryDomainInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryDomainInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryDomainInfo_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_samr, - NDR_SAMR_QUERYDOMAININFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryDomainInfo_done, req); - return req; -} - -static void rpccli_samr_QueryDomainInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryDomainInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDomainInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryDomainInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDomainInfo_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_samr_QueryDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass level /* [in] */, - union samr_DomainInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryDomainInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYDOMAININFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetDomainInfo_state { - struct samr_SetDomainInfo orig; - struct samr_SetDomainInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetDomainInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass _level /* [in] */, - union samr_DomainInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetDomainInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetDomainInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_samr, - NDR_SAMR_SETDOMAININFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetDomainInfo_done, req); - return req; -} - -static void rpccli_samr_SetDomainInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetDomainInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetDomainInfo_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_samr_SetDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetDomainInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetDomainInfo_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_samr_SetDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass level /* [in] */, - union samr_DomainInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct samr_SetDomainInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETDOMAININFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_CreateDomainGroup_state { - struct samr_CreateDomainGroup orig; - struct samr_CreateDomainGroup tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_CreateDomainGroup_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_CreateDomainGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_group_handle /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_CreateDomainGroup_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_CreateDomainGroup_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.name = _name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.group_handle = _group_handle; - state->orig.out.rid = _rid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_CreateDomainGroup_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_samr, - NDR_SAMR_CREATEDOMAINGROUP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_CreateDomainGroup_done, req); - return req; -} - -static void rpccli_samr_CreateDomainGroup_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_CreateDomainGroup_state *state = tevent_req_data( - req, struct rpccli_samr_CreateDomainGroup_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.group_handle = *state->tmp.out.group_handle; - *state->orig.out.rid = *state->tmp.out.rid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_CreateDomainGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_CreateDomainGroup_state *state = tevent_req_data( - req, struct rpccli_samr_CreateDomainGroup_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_samr_CreateDomainGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *group_handle /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */) -{ - struct samr_CreateDomainGroup r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.name = name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CREATEDOMAINGROUP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *group_handle = *r.out.group_handle; - *rid = *r.out.rid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_EnumDomainGroups_state { - struct samr_EnumDomainGroups orig; - struct samr_EnumDomainGroups tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_EnumDomainGroups_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_EnumDomainGroups_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _max_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_EnumDomainGroups_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_EnumDomainGroups_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.max_size = _max_size; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.sam = _sam; - state->orig.out.num_entries = _num_entries; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_EnumDomainGroups_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_samr, - NDR_SAMR_ENUMDOMAINGROUPS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_EnumDomainGroups_done, req); - return req; -} - -static void rpccli_samr_EnumDomainGroups_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_EnumDomainGroups_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomainGroups_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.sam = *state->tmp.out.sam; - *state->orig.out.num_entries = *state->tmp.out.num_entries; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_EnumDomainGroups_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_EnumDomainGroups_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomainGroups_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_samr_EnumDomainGroups(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t max_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */) -{ - struct samr_EnumDomainGroups r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.resume_handle = resume_handle; - r.in.max_size = max_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ENUMDOMAINGROUPS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *sam = *r.out.sam; - *num_entries = *r.out.num_entries; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_CreateUser_state { - struct samr_CreateUser orig; - struct samr_CreateUser tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_CreateUser_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_CreateUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_account_name /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_user_handle /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_CreateUser_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_CreateUser_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.account_name = _account_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.user_handle = _user_handle; - state->orig.out.rid = _rid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_CreateUser_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_samr, - NDR_SAMR_CREATEUSER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_CreateUser_done, req); - return req; -} - -static void rpccli_samr_CreateUser_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_CreateUser_state *state = tevent_req_data( - req, struct rpccli_samr_CreateUser_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.user_handle = *state->tmp.out.user_handle; - *state->orig.out.rid = *state->tmp.out.rid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_CreateUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_CreateUser_state *state = tevent_req_data( - req, struct rpccli_samr_CreateUser_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_samr_CreateUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *account_name /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *user_handle /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */) -{ - struct samr_CreateUser r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.account_name = account_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CREATEUSER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *user_handle = *r.out.user_handle; - *rid = *r.out.rid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_EnumDomainUsers_state { - struct samr_EnumDomainUsers orig; - struct samr_EnumDomainUsers tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_EnumDomainUsers_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_EnumDomainUsers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - uint32_t _acct_flags /* [in] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _max_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_EnumDomainUsers_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_EnumDomainUsers_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.acct_flags = _acct_flags; - state->orig.in.max_size = _max_size; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.sam = _sam; - state->orig.out.num_entries = _num_entries; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_EnumDomainUsers_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_samr, - NDR_SAMR_ENUMDOMAINUSERS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_EnumDomainUsers_done, req); - return req; -} - -static void rpccli_samr_EnumDomainUsers_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_EnumDomainUsers_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomainUsers_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.sam = *state->tmp.out.sam; - *state->orig.out.num_entries = *state->tmp.out.num_entries; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_EnumDomainUsers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_EnumDomainUsers_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomainUsers_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_samr_EnumDomainUsers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - uint32_t acct_flags /* [in] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t max_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */) -{ - struct samr_EnumDomainUsers r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.resume_handle = resume_handle; - r.in.acct_flags = acct_flags; - r.in.max_size = max_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ENUMDOMAINUSERS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *sam = *r.out.sam; - *num_entries = *r.out.num_entries; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_CreateDomAlias_state { - struct samr_CreateDomAlias orig; - struct samr_CreateDomAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_CreateDomAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_CreateDomAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_alias_name /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_alias_handle /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_CreateDomAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_CreateDomAlias_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.alias_name = _alias_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.alias_handle = _alias_handle; - state->orig.out.rid = _rid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_CreateDomAlias_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_samr, - NDR_SAMR_CREATEDOMALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_CreateDomAlias_done, req); - return req; -} - -static void rpccli_samr_CreateDomAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_CreateDomAlias_state *state = tevent_req_data( - req, struct rpccli_samr_CreateDomAlias_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.alias_handle = *state->tmp.out.alias_handle; - *state->orig.out.rid = *state->tmp.out.rid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_CreateDomAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_CreateDomAlias_state *state = tevent_req_data( - req, struct rpccli_samr_CreateDomAlias_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_samr_CreateDomAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *alias_name /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *alias_handle /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */) -{ - struct samr_CreateDomAlias r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.alias_name = alias_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CREATEDOMALIAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *alias_handle = *r.out.alias_handle; - *rid = *r.out.rid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_EnumDomainAliases_state { - struct samr_EnumDomainAliases orig; - struct samr_EnumDomainAliases tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_EnumDomainAliases_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_EnumDomainAliases_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _max_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_EnumDomainAliases_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_EnumDomainAliases_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.max_size = _max_size; - - /* Out parameters */ - state->orig.out.resume_handle = _resume_handle; - state->orig.out.sam = _sam; - state->orig.out.num_entries = _num_entries; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_EnumDomainAliases_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_samr, - NDR_SAMR_ENUMDOMAINALIASES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_EnumDomainAliases_done, req); - return req; -} - -static void rpccli_samr_EnumDomainAliases_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_EnumDomainAliases_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomainAliases_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.resume_handle = *state->tmp.out.resume_handle; - *state->orig.out.sam = *state->tmp.out.sam; - *state->orig.out.num_entries = *state->tmp.out.num_entries; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_EnumDomainAliases_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_EnumDomainAliases_state *state = tevent_req_data( - req, struct rpccli_samr_EnumDomainAliases_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_samr_EnumDomainAliases(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t max_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */) -{ - struct samr_EnumDomainAliases r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.resume_handle = resume_handle; - r.in.max_size = max_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ENUMDOMAINALIASES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *resume_handle = *r.out.resume_handle; - *sam = *r.out.sam; - *num_entries = *r.out.num_entries; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetAliasMembership_state { - struct samr_GetAliasMembership orig; - struct samr_GetAliasMembership tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetAliasMembership_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetAliasMembership_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct samr_Ids *_rids /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetAliasMembership_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetAliasMembership_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.sids = _sids; - - /* Out parameters */ - state->orig.out.rids = _rids; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetAliasMembership_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_samr, - NDR_SAMR_GETALIASMEMBERSHIP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetAliasMembership_done, req); - return req; -} - -static void rpccli_samr_GetAliasMembership_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetAliasMembership_state *state = tevent_req_data( - req, struct rpccli_samr_GetAliasMembership_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.rids = *state->tmp.out.rids; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetAliasMembership_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetAliasMembership_state *state = tevent_req_data( - req, struct rpccli_samr_GetAliasMembership_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_samr_GetAliasMembership(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */, - struct samr_Ids *rids /* [out] [ref] */) -{ - struct samr_GetAliasMembership r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.sids = sids; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETALIASMEMBERSHIP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rids = *r.out.rids; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_LookupNames_state { - struct samr_LookupNames orig; - struct samr_LookupNames tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_LookupNames_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_LookupNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [length_is(num_names),size_is(1000)] */, - struct samr_Ids *_rids /* [out] [ref] */, - struct samr_Ids *_types /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_LookupNames_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_LookupNames_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.num_names = _num_names; - state->orig.in.names = _names; - - /* Out parameters */ - state->orig.out.rids = _rids; - state->orig.out.types = _types; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_LookupNames_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_samr, - NDR_SAMR_LOOKUPNAMES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_LookupNames_done, req); - return req; -} - -static void rpccli_samr_LookupNames_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_LookupNames_state *state = tevent_req_data( - req, struct rpccli_samr_LookupNames_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.rids = *state->tmp.out.rids; - *state->orig.out.types = *state->tmp.out.types; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_LookupNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_LookupNames_state *state = tevent_req_data( - req, struct rpccli_samr_LookupNames_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_samr_LookupNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [length_is(num_names),size_is(1000)] */, - struct samr_Ids *rids /* [out] [ref] */, - struct samr_Ids *types /* [out] [ref] */) -{ - struct samr_LookupNames r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.num_names = num_names; - r.in.names = names; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_LOOKUPNAMES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rids = *r.out.rids; - *types = *r.out.types; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_LookupRids_state { - struct samr_LookupRids orig; - struct samr_LookupRids tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_LookupRids_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_LookupRids_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _num_rids /* [in] [range(0,1000)] */, - uint32_t *_rids /* [in] [length_is(num_rids),size_is(1000)] */, - struct lsa_Strings *_names /* [out] [ref] */, - struct samr_Ids *_types /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_LookupRids_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_LookupRids_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.num_rids = _num_rids; - state->orig.in.rids = _rids; - - /* Out parameters */ - state->orig.out.names = _names; - state->orig.out.types = _types; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_LookupRids_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_samr, - NDR_SAMR_LOOKUPRIDS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_LookupRids_done, req); - return req; -} - -static void rpccli_samr_LookupRids_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_LookupRids_state *state = tevent_req_data( - req, struct rpccli_samr_LookupRids_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.names = *state->tmp.out.names; - *state->orig.out.types = *state->tmp.out.types; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_LookupRids_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_LookupRids_state *state = tevent_req_data( - req, struct rpccli_samr_LookupRids_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_samr_LookupRids(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t num_rids /* [in] [range(0,1000)] */, - uint32_t *rids /* [in] [length_is(num_rids),size_is(1000)] */, - struct lsa_Strings *names /* [out] [ref] */, - struct samr_Ids *types /* [out] [ref] */) -{ - struct samr_LookupRids r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.num_rids = num_rids; - r.in.rids = rids; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_LOOKUPRIDS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *names = *r.out.names; - *types = *r.out.types; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_OpenGroup_state { - struct samr_OpenGroup orig; - struct samr_OpenGroup tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_OpenGroup_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_OpenGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _rid /* [in] */, - struct policy_handle *_group_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_OpenGroup_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_OpenGroup_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.access_mask = _access_mask; - state->orig.in.rid = _rid; - - /* Out parameters */ - state->orig.out.group_handle = _group_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_OpenGroup_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_samr, - NDR_SAMR_OPENGROUP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_OpenGroup_done, req); - return req; -} - -static void rpccli_samr_OpenGroup_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_OpenGroup_state *state = tevent_req_data( - req, struct rpccli_samr_OpenGroup_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.group_handle = *state->tmp.out.group_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_OpenGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_OpenGroup_state *state = tevent_req_data( - req, struct rpccli_samr_OpenGroup_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_samr_OpenGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t rid /* [in] */, - struct policy_handle *group_handle /* [out] [ref] */) -{ - struct samr_OpenGroup r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.access_mask = access_mask; - r.in.rid = rid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_OPENGROUP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *group_handle = *r.out.group_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryGroupInfo_state { - struct samr_QueryGroupInfo orig; - struct samr_QueryGroupInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryGroupInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryGroupInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum _level /* [in] */, - union samr_GroupInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryGroupInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryGroupInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryGroupInfo_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_samr, - NDR_SAMR_QUERYGROUPINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryGroupInfo_done, req); - return req; -} - -static void rpccli_samr_QueryGroupInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryGroupInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryGroupInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryGroupInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryGroupInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryGroupInfo_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_samr_QueryGroupInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum level /* [in] */, - union samr_GroupInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryGroupInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYGROUPINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetGroupInfo_state { - struct samr_SetGroupInfo orig; - struct samr_SetGroupInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetGroupInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetGroupInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum _level /* [in] */, - union samr_GroupInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetGroupInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetGroupInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_samr, - NDR_SAMR_SETGROUPINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetGroupInfo_done, req); - return req; -} - -static void rpccli_samr_SetGroupInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetGroupInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetGroupInfo_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_samr_SetGroupInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetGroupInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetGroupInfo_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_samr_SetGroupInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum level /* [in] */, - union samr_GroupInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct samr_SetGroupInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETGROUPINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_AddGroupMember_state { - struct samr_AddGroupMember orig; - struct samr_AddGroupMember tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_AddGroupMember_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_AddGroupMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - uint32_t _rid /* [in] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_samr_AddGroupMember_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_AddGroupMember_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - state->orig.in.rid = _rid; - state->orig.in.flags = _flags; - - /* 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_samr, - NDR_SAMR_ADDGROUPMEMBER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_AddGroupMember_done, req); - return req; -} - -static void rpccli_samr_AddGroupMember_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_AddGroupMember_state *state = tevent_req_data( - req, struct rpccli_samr_AddGroupMember_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_samr_AddGroupMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_AddGroupMember_state *state = tevent_req_data( - req, struct rpccli_samr_AddGroupMember_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_samr_AddGroupMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - uint32_t rid /* [in] */, - uint32_t flags /* [in] */) -{ - struct samr_AddGroupMember r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - r.in.rid = rid; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ADDGROUPMEMBER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_DeleteDomainGroup_state { - struct samr_DeleteDomainGroup orig; - struct samr_DeleteDomainGroup tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_DeleteDomainGroup_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_DeleteDomainGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_DeleteDomainGroup_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_DeleteDomainGroup_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - - /* Out parameters */ - state->orig.out.group_handle = _group_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_DeleteDomainGroup_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_samr, - NDR_SAMR_DELETEDOMAINGROUP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_DeleteDomainGroup_done, req); - return req; -} - -static void rpccli_samr_DeleteDomainGroup_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_DeleteDomainGroup_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteDomainGroup_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.group_handle = *state->tmp.out.group_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_DeleteDomainGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_DeleteDomainGroup_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteDomainGroup_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_samr_DeleteDomainGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in,out] [ref] */) -{ - struct samr_DeleteDomainGroup r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_DELETEDOMAINGROUP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *group_handle = *r.out.group_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_DeleteGroupMember_state { - struct samr_DeleteGroupMember orig; - struct samr_DeleteGroupMember tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_DeleteGroupMember_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_DeleteGroupMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - uint32_t _rid /* [in] */) -{ - struct tevent_req *req; - struct rpccli_samr_DeleteGroupMember_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_DeleteGroupMember_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - state->orig.in.rid = _rid; - - /* 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_samr, - NDR_SAMR_DELETEGROUPMEMBER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_DeleteGroupMember_done, req); - return req; -} - -static void rpccli_samr_DeleteGroupMember_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_DeleteGroupMember_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteGroupMember_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_samr_DeleteGroupMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_DeleteGroupMember_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteGroupMember_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_samr_DeleteGroupMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - uint32_t rid /* [in] */) -{ - struct samr_DeleteGroupMember r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - r.in.rid = rid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_DELETEGROUPMEMBER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryGroupMember_state { - struct samr_QueryGroupMember orig; - struct samr_QueryGroupMember tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryGroupMember_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryGroupMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - struct samr_RidTypeArray **_rids /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryGroupMember_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryGroupMember_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - - /* Out parameters */ - state->orig.out.rids = _rids; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryGroupMember_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_samr, - NDR_SAMR_QUERYGROUPMEMBER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryGroupMember_done, req); - return req; -} - -static void rpccli_samr_QueryGroupMember_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryGroupMember_state *state = tevent_req_data( - req, struct rpccli_samr_QueryGroupMember_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.rids = *state->tmp.out.rids; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryGroupMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryGroupMember_state *state = tevent_req_data( - req, struct rpccli_samr_QueryGroupMember_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_samr_QueryGroupMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - struct samr_RidTypeArray **rids /* [out] [ref] */) -{ - struct samr_QueryGroupMember r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYGROUPMEMBER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rids = *r.out.rids; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetMemberAttributesOfGroup_state { - struct samr_SetMemberAttributesOfGroup orig; - struct samr_SetMemberAttributesOfGroup tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetMemberAttributesOfGroup_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetMemberAttributesOfGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - uint32_t _unknown1 /* [in] */, - uint32_t _unknown2 /* [in] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetMemberAttributesOfGroup_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetMemberAttributesOfGroup_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.group_handle = _group_handle; - state->orig.in.unknown1 = _unknown1; - state->orig.in.unknown2 = _unknown2; - - /* 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_samr, - NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetMemberAttributesOfGroup_done, req); - return req; -} - -static void rpccli_samr_SetMemberAttributesOfGroup_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetMemberAttributesOfGroup_state *state = tevent_req_data( - req, struct rpccli_samr_SetMemberAttributesOfGroup_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_samr_SetMemberAttributesOfGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetMemberAttributesOfGroup_state *state = tevent_req_data( - req, struct rpccli_samr_SetMemberAttributesOfGroup_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_samr_SetMemberAttributesOfGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - uint32_t unknown1 /* [in] */, - uint32_t unknown2 /* [in] */) -{ - struct samr_SetMemberAttributesOfGroup r; - NTSTATUS status; - - /* In parameters */ - r.in.group_handle = group_handle; - r.in.unknown1 = unknown1; - r.in.unknown2 = unknown2; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_OpenAlias_state { - struct samr_OpenAlias orig; - struct samr_OpenAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_OpenAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_OpenAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _rid /* [in] */, - struct policy_handle *_alias_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_OpenAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_OpenAlias_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.access_mask = _access_mask; - state->orig.in.rid = _rid; - - /* Out parameters */ - state->orig.out.alias_handle = _alias_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_OpenAlias_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_samr, - NDR_SAMR_OPENALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_OpenAlias_done, req); - return req; -} - -static void rpccli_samr_OpenAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_OpenAlias_state *state = tevent_req_data( - req, struct rpccli_samr_OpenAlias_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.alias_handle = *state->tmp.out.alias_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_OpenAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_OpenAlias_state *state = tevent_req_data( - req, struct rpccli_samr_OpenAlias_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_samr_OpenAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t rid /* [in] */, - struct policy_handle *alias_handle /* [out] [ref] */) -{ - struct samr_OpenAlias r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.access_mask = access_mask; - r.in.rid = rid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_OPENALIAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *alias_handle = *r.out.alias_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryAliasInfo_state { - struct samr_QueryAliasInfo orig; - struct samr_QueryAliasInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryAliasInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryAliasInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum _level /* [in] */, - union samr_AliasInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryAliasInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryAliasInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryAliasInfo_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_samr, - NDR_SAMR_QUERYALIASINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryAliasInfo_done, req); - return req; -} - -static void rpccli_samr_QueryAliasInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryAliasInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryAliasInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryAliasInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryAliasInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryAliasInfo_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_samr_QueryAliasInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum level /* [in] */, - union samr_AliasInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryAliasInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYALIASINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetAliasInfo_state { - struct samr_SetAliasInfo orig; - struct samr_SetAliasInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetAliasInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetAliasInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum _level /* [in] */, - union samr_AliasInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetAliasInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetAliasInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_samr, - NDR_SAMR_SETALIASINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetAliasInfo_done, req); - return req; -} - -static void rpccli_samr_SetAliasInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetAliasInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetAliasInfo_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_samr_SetAliasInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetAliasInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetAliasInfo_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_samr_SetAliasInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum level /* [in] */, - union samr_AliasInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct samr_SetAliasInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETALIASINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_DeleteDomAlias_state { - struct samr_DeleteDomAlias orig; - struct samr_DeleteDomAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_DeleteDomAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_DeleteDomAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_DeleteDomAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_DeleteDomAlias_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - - /* Out parameters */ - state->orig.out.alias_handle = _alias_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_DeleteDomAlias_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_samr, - NDR_SAMR_DELETEDOMALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_DeleteDomAlias_done, req); - return req; -} - -static void rpccli_samr_DeleteDomAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_DeleteDomAlias_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteDomAlias_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.alias_handle = *state->tmp.out.alias_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_DeleteDomAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_DeleteDomAlias_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteDomAlias_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_samr_DeleteDomAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in,out] [ref] */) -{ - struct samr_DeleteDomAlias r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_DELETEDOMALIAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *alias_handle = *r.out.alias_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_AddAliasMember_state { - struct samr_AddAliasMember orig; - struct samr_AddAliasMember tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_AddAliasMember_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_AddAliasMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_AddAliasMember_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_AddAliasMember_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - state->orig.in.sid = _sid; - - /* 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_samr, - NDR_SAMR_ADDALIASMEMBER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_AddAliasMember_done, req); - return req; -} - -static void rpccli_samr_AddAliasMember_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_AddAliasMember_state *state = tevent_req_data( - req, struct rpccli_samr_AddAliasMember_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_samr_AddAliasMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_AddAliasMember_state *state = tevent_req_data( - req, struct rpccli_samr_AddAliasMember_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_samr_AddAliasMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */) -{ - struct samr_AddAliasMember r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - r.in.sid = sid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ADDALIASMEMBER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_DeleteAliasMember_state { - struct samr_DeleteAliasMember orig; - struct samr_DeleteAliasMember tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_DeleteAliasMember_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_DeleteAliasMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_DeleteAliasMember_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_DeleteAliasMember_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - state->orig.in.sid = _sid; - - /* 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_samr, - NDR_SAMR_DELETEALIASMEMBER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_DeleteAliasMember_done, req); - return req; -} - -static void rpccli_samr_DeleteAliasMember_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_DeleteAliasMember_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteAliasMember_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_samr_DeleteAliasMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_DeleteAliasMember_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteAliasMember_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_samr_DeleteAliasMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */) -{ - struct samr_DeleteAliasMember r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - r.in.sid = sid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_DELETEALIASMEMBER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetMembersInAlias_state { - struct samr_GetMembersInAlias orig; - struct samr_GetMembersInAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetMembersInAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetMembersInAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetMembersInAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetMembersInAlias_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - - /* Out parameters */ - state->orig.out.sids = _sids; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetMembersInAlias_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_samr, - NDR_SAMR_GETMEMBERSINALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetMembersInAlias_done, req); - return req; -} - -static void rpccli_samr_GetMembersInAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetMembersInAlias_state *state = tevent_req_data( - req, struct rpccli_samr_GetMembersInAlias_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.sids = *state->tmp.out.sids; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetMembersInAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetMembersInAlias_state *state = tevent_req_data( - req, struct rpccli_samr_GetMembersInAlias_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_samr_GetMembersInAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [out] [ref] */) -{ - struct samr_GetMembersInAlias r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETMEMBERSINALIAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sids = *r.out.sids; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_OpenUser_state { - struct samr_OpenUser orig; - struct samr_OpenUser tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_OpenUser_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_OpenUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _rid /* [in] */, - struct policy_handle *_user_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_OpenUser_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_OpenUser_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.access_mask = _access_mask; - state->orig.in.rid = _rid; - - /* Out parameters */ - state->orig.out.user_handle = _user_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_OpenUser_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_samr, - NDR_SAMR_OPENUSER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_OpenUser_done, req); - return req; -} - -static void rpccli_samr_OpenUser_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_OpenUser_state *state = tevent_req_data( - req, struct rpccli_samr_OpenUser_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.user_handle = *state->tmp.out.user_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_OpenUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_OpenUser_state *state = tevent_req_data( - req, struct rpccli_samr_OpenUser_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_samr_OpenUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t rid /* [in] */, - struct policy_handle *user_handle /* [out] [ref] */) -{ - struct samr_OpenUser r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.access_mask = access_mask; - r.in.rid = rid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_OPENUSER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *user_handle = *r.out.user_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_DeleteUser_state { - struct samr_DeleteUser orig; - struct samr_DeleteUser tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_DeleteUser_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_DeleteUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_DeleteUser_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_DeleteUser_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - - /* Out parameters */ - state->orig.out.user_handle = _user_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_DeleteUser_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_samr, - NDR_SAMR_DELETEUSER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_DeleteUser_done, req); - return req; -} - -static void rpccli_samr_DeleteUser_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_DeleteUser_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteUser_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.user_handle = *state->tmp.out.user_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_DeleteUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_DeleteUser_state *state = tevent_req_data( - req, struct rpccli_samr_DeleteUser_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_samr_DeleteUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in,out] [ref] */) -{ - struct samr_DeleteUser r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_DELETEUSER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *user_handle = *r.out.user_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryUserInfo_state { - struct samr_QueryUserInfo orig; - struct samr_QueryUserInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryUserInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryUserInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryUserInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryUserInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryUserInfo_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_samr, - NDR_SAMR_QUERYUSERINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryUserInfo_done, req); - return req; -} - -static void rpccli_samr_QueryUserInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryUserInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryUserInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryUserInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryUserInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryUserInfo_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_samr_QueryUserInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryUserInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYUSERINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetUserInfo_state { - struct samr_SetUserInfo orig; - struct samr_SetUserInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetUserInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetUserInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetUserInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetUserInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_samr, - NDR_SAMR_SETUSERINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetUserInfo_done, req); - return req; -} - -static void rpccli_samr_SetUserInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetUserInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetUserInfo_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_samr_SetUserInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetUserInfo_state *state = tevent_req_data( - req, struct rpccli_samr_SetUserInfo_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_samr_SetUserInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct samr_SetUserInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETUSERINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_ChangePasswordUser_state { - struct samr_ChangePasswordUser orig; - struct samr_ChangePasswordUser tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_ChangePasswordUser_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_ChangePasswordUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - uint8_t _lm_present /* [in] */, - struct samr_Password *_old_lm_crypted /* [in] [unique] */, - struct samr_Password *_new_lm_crypted /* [in] [unique] */, - uint8_t _nt_present /* [in] */, - struct samr_Password *_old_nt_crypted /* [in] [unique] */, - struct samr_Password *_new_nt_crypted /* [in] [unique] */, - uint8_t _cross1_present /* [in] */, - struct samr_Password *_nt_cross /* [in] [unique] */, - uint8_t _cross2_present /* [in] */, - struct samr_Password *_lm_cross /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_samr_ChangePasswordUser_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_ChangePasswordUser_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - state->orig.in.lm_present = _lm_present; - state->orig.in.old_lm_crypted = _old_lm_crypted; - state->orig.in.new_lm_crypted = _new_lm_crypted; - state->orig.in.nt_present = _nt_present; - state->orig.in.old_nt_crypted = _old_nt_crypted; - state->orig.in.new_nt_crypted = _new_nt_crypted; - state->orig.in.cross1_present = _cross1_present; - state->orig.in.nt_cross = _nt_cross; - state->orig.in.cross2_present = _cross2_present; - state->orig.in.lm_cross = _lm_cross; - - /* 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_samr, - NDR_SAMR_CHANGEPASSWORDUSER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_ChangePasswordUser_done, req); - return req; -} - -static void rpccli_samr_ChangePasswordUser_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_ChangePasswordUser_state *state = tevent_req_data( - req, struct rpccli_samr_ChangePasswordUser_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_samr_ChangePasswordUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_ChangePasswordUser_state *state = tevent_req_data( - req, struct rpccli_samr_ChangePasswordUser_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_samr_ChangePasswordUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - uint8_t lm_present /* [in] */, - struct samr_Password *old_lm_crypted /* [in] [unique] */, - struct samr_Password *new_lm_crypted /* [in] [unique] */, - uint8_t nt_present /* [in] */, - struct samr_Password *old_nt_crypted /* [in] [unique] */, - struct samr_Password *new_nt_crypted /* [in] [unique] */, - uint8_t cross1_present /* [in] */, - struct samr_Password *nt_cross /* [in] [unique] */, - uint8_t cross2_present /* [in] */, - struct samr_Password *lm_cross /* [in] [unique] */) -{ - struct samr_ChangePasswordUser r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - r.in.lm_present = lm_present; - r.in.old_lm_crypted = old_lm_crypted; - r.in.new_lm_crypted = new_lm_crypted; - r.in.nt_present = nt_present; - r.in.old_nt_crypted = old_nt_crypted; - r.in.new_nt_crypted = new_nt_crypted; - r.in.cross1_present = cross1_present; - r.in.nt_cross = nt_cross; - r.in.cross2_present = cross2_present; - r.in.lm_cross = lm_cross; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CHANGEPASSWORDUSER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetGroupsForUser_state { - struct samr_GetGroupsForUser orig; - struct samr_GetGroupsForUser tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetGroupsForUser_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetGroupsForUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - struct samr_RidWithAttributeArray **_rids /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetGroupsForUser_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetGroupsForUser_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - - /* Out parameters */ - state->orig.out.rids = _rids; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetGroupsForUser_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_samr, - NDR_SAMR_GETGROUPSFORUSER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetGroupsForUser_done, req); - return req; -} - -static void rpccli_samr_GetGroupsForUser_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetGroupsForUser_state *state = tevent_req_data( - req, struct rpccli_samr_GetGroupsForUser_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.rids = *state->tmp.out.rids; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetGroupsForUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetGroupsForUser_state *state = tevent_req_data( - req, struct rpccli_samr_GetGroupsForUser_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_samr_GetGroupsForUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - struct samr_RidWithAttributeArray **rids /* [out] [ref] */) -{ - struct samr_GetGroupsForUser r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETGROUPSFORUSER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rids = *r.out.rids; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryDisplayInfo_state { - struct samr_QueryDisplayInfo orig; - struct samr_QueryDisplayInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryDisplayInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryDisplayInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - uint32_t _start_idx /* [in] */, - uint32_t _max_entries /* [in] */, - uint32_t _buf_size /* [in] */, - uint32_t *_total_size /* [out] [ref] */, - uint32_t *_returned_size /* [out] [ref] */, - union samr_DispInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryDisplayInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryDisplayInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - state->orig.in.start_idx = _start_idx; - state->orig.in.max_entries = _max_entries; - state->orig.in.buf_size = _buf_size; - - /* Out parameters */ - state->orig.out.total_size = _total_size; - state->orig.out.returned_size = _returned_size; - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryDisplayInfo_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_samr, - NDR_SAMR_QUERYDISPLAYINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryDisplayInfo_done, req); - return req; -} - -static void rpccli_samr_QueryDisplayInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryDisplayInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDisplayInfo_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.total_size = *state->tmp.out.total_size; - *state->orig.out.returned_size = *state->tmp.out.returned_size; - *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_samr_QueryDisplayInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryDisplayInfo_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDisplayInfo_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_samr_QueryDisplayInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - uint32_t start_idx /* [in] */, - uint32_t max_entries /* [in] */, - uint32_t buf_size /* [in] */, - uint32_t *total_size /* [out] [ref] */, - uint32_t *returned_size /* [out] [ref] */, - union samr_DispInfo *info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryDisplayInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - r.in.start_idx = start_idx; - r.in.max_entries = max_entries; - r.in.buf_size = buf_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYDISPLAYINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *total_size = *r.out.total_size; - *returned_size = *r.out.returned_size; - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetDisplayEnumerationIndex_state { - struct samr_GetDisplayEnumerationIndex orig; - struct samr_GetDisplayEnumerationIndex tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetDisplayEnumerationIndex_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetDisplayEnumerationIndex_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - struct lsa_String *_name /* [in] [ref] */, - uint32_t *_idx /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetDisplayEnumerationIndex_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetDisplayEnumerationIndex_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - state->orig.in.name = _name; - - /* Out parameters */ - state->orig.out.idx = _idx; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetDisplayEnumerationIndex_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_samr, - NDR_SAMR_GETDISPLAYENUMERATIONINDEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetDisplayEnumerationIndex_done, req); - return req; -} - -static void rpccli_samr_GetDisplayEnumerationIndex_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetDisplayEnumerationIndex_state *state = tevent_req_data( - req, struct rpccli_samr_GetDisplayEnumerationIndex_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.idx = *state->tmp.out.idx; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetDisplayEnumerationIndex_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetDisplayEnumerationIndex_state *state = tevent_req_data( - req, struct rpccli_samr_GetDisplayEnumerationIndex_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_samr_GetDisplayEnumerationIndex(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - struct lsa_String *name /* [in] [ref] */, - uint32_t *idx /* [out] [ref] */) -{ - struct samr_GetDisplayEnumerationIndex r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - r.in.name = name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETDISPLAYENUMERATIONINDEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *idx = *r.out.idx; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_TestPrivateFunctionsDomain_state { - struct samr_TestPrivateFunctionsDomain orig; - struct samr_TestPrivateFunctionsDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_TestPrivateFunctionsDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_TestPrivateFunctionsDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_TestPrivateFunctionsDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_TestPrivateFunctionsDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - - /* 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_samr, - NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_TestPrivateFunctionsDomain_done, req); - return req; -} - -static void rpccli_samr_TestPrivateFunctionsDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_TestPrivateFunctionsDomain_state *state = tevent_req_data( - req, struct rpccli_samr_TestPrivateFunctionsDomain_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_samr_TestPrivateFunctionsDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_TestPrivateFunctionsDomain_state *state = tevent_req_data( - req, struct rpccli_samr_TestPrivateFunctionsDomain_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_samr_TestPrivateFunctionsDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */) -{ - struct samr_TestPrivateFunctionsDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_TestPrivateFunctionsUser_state { - struct samr_TestPrivateFunctionsUser orig; - struct samr_TestPrivateFunctionsUser tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_TestPrivateFunctionsUser_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_TestPrivateFunctionsUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_TestPrivateFunctionsUser_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_TestPrivateFunctionsUser_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - - /* 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_samr, - NDR_SAMR_TESTPRIVATEFUNCTIONSUSER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_TestPrivateFunctionsUser_done, req); - return req; -} - -static void rpccli_samr_TestPrivateFunctionsUser_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_TestPrivateFunctionsUser_state *state = tevent_req_data( - req, struct rpccli_samr_TestPrivateFunctionsUser_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_samr_TestPrivateFunctionsUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_TestPrivateFunctionsUser_state *state = tevent_req_data( - req, struct rpccli_samr_TestPrivateFunctionsUser_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_samr_TestPrivateFunctionsUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */) -{ - struct samr_TestPrivateFunctionsUser r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_TESTPRIVATEFUNCTIONSUSER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetUserPwInfo_state { - struct samr_GetUserPwInfo orig; - struct samr_GetUserPwInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetUserPwInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetUserPwInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - struct samr_PwInfo *_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetUserPwInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetUserPwInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetUserPwInfo_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_samr, - NDR_SAMR_GETUSERPWINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetUserPwInfo_done, req); - return req; -} - -static void rpccli_samr_GetUserPwInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetUserPwInfo_state *state = tevent_req_data( - req, struct rpccli_samr_GetUserPwInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetUserPwInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetUserPwInfo_state *state = tevent_req_data( - req, struct rpccli_samr_GetUserPwInfo_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_samr_GetUserPwInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - struct samr_PwInfo *info /* [out] [ref] */) -{ - struct samr_GetUserPwInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETUSERPWINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_RemoveMemberFromForeignDomain_state { - struct samr_RemoveMemberFromForeignDomain orig; - struct samr_RemoveMemberFromForeignDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_RemoveMemberFromForeignDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_RemoveMemberFromForeignDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_RemoveMemberFromForeignDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_RemoveMemberFromForeignDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.sid = _sid; - - /* 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_samr, - NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_RemoveMemberFromForeignDomain_done, req); - return req; -} - -static void rpccli_samr_RemoveMemberFromForeignDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_RemoveMemberFromForeignDomain_state *state = tevent_req_data( - req, struct rpccli_samr_RemoveMemberFromForeignDomain_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_samr_RemoveMemberFromForeignDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_RemoveMemberFromForeignDomain_state *state = tevent_req_data( - req, struct rpccli_samr_RemoveMemberFromForeignDomain_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_samr_RemoveMemberFromForeignDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */) -{ - struct samr_RemoveMemberFromForeignDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.sid = sid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryDomainInfo2_state { - struct samr_QueryDomainInfo2 orig; - struct samr_QueryDomainInfo2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryDomainInfo2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryDomainInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass _level /* [in] */, - union samr_DomainInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryDomainInfo2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryDomainInfo2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryDomainInfo2_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_samr, - NDR_SAMR_QUERYDOMAININFO2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryDomainInfo2_done, req); - return req; -} - -static void rpccli_samr_QueryDomainInfo2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryDomainInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDomainInfo2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryDomainInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryDomainInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDomainInfo2_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_samr_QueryDomainInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass level /* [in] */, - union samr_DomainInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryDomainInfo2 r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYDOMAININFO2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryUserInfo2_state { - struct samr_QueryUserInfo2 orig; - struct samr_QueryUserInfo2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryUserInfo2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryUserInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo **_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryUserInfo2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryUserInfo2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryUserInfo2_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_samr, - NDR_SAMR_QUERYUSERINFO2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryUserInfo2_done, req); - return req; -} - -static void rpccli_samr_QueryUserInfo2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryUserInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_QueryUserInfo2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_QueryUserInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryUserInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_QueryUserInfo2_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_samr_QueryUserInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo **info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryUserInfo2 r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYUSERINFO2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryDisplayInfo2_state { - struct samr_QueryDisplayInfo2 orig; - struct samr_QueryDisplayInfo2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryDisplayInfo2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryDisplayInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - uint32_t _start_idx /* [in] */, - uint32_t _max_entries /* [in] */, - uint32_t _buf_size /* [in] */, - uint32_t *_total_size /* [out] [ref] */, - uint32_t *_returned_size /* [out] [ref] */, - union samr_DispInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryDisplayInfo2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryDisplayInfo2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - state->orig.in.start_idx = _start_idx; - state->orig.in.max_entries = _max_entries; - state->orig.in.buf_size = _buf_size; - - /* Out parameters */ - state->orig.out.total_size = _total_size; - state->orig.out.returned_size = _returned_size; - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryDisplayInfo2_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_samr, - NDR_SAMR_QUERYDISPLAYINFO2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryDisplayInfo2_done, req); - return req; -} - -static void rpccli_samr_QueryDisplayInfo2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryDisplayInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDisplayInfo2_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.total_size = *state->tmp.out.total_size; - *state->orig.out.returned_size = *state->tmp.out.returned_size; - *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_samr_QueryDisplayInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryDisplayInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDisplayInfo2_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_samr_QueryDisplayInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - uint32_t start_idx /* [in] */, - uint32_t max_entries /* [in] */, - uint32_t buf_size /* [in] */, - uint32_t *total_size /* [out] [ref] */, - uint32_t *returned_size /* [out] [ref] */, - union samr_DispInfo *info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryDisplayInfo2 r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - r.in.start_idx = start_idx; - r.in.max_entries = max_entries; - r.in.buf_size = buf_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYDISPLAYINFO2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *total_size = *r.out.total_size; - *returned_size = *r.out.returned_size; - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetDisplayEnumerationIndex2_state { - struct samr_GetDisplayEnumerationIndex2 orig; - struct samr_GetDisplayEnumerationIndex2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetDisplayEnumerationIndex2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetDisplayEnumerationIndex2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - struct lsa_String *_name /* [in] [ref] */, - uint32_t *_idx /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetDisplayEnumerationIndex2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetDisplayEnumerationIndex2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - state->orig.in.name = _name; - - /* Out parameters */ - state->orig.out.idx = _idx; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetDisplayEnumerationIndex2_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_samr, - NDR_SAMR_GETDISPLAYENUMERATIONINDEX2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetDisplayEnumerationIndex2_done, req); - return req; -} - -static void rpccli_samr_GetDisplayEnumerationIndex2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetDisplayEnumerationIndex2_state *state = tevent_req_data( - req, struct rpccli_samr_GetDisplayEnumerationIndex2_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.idx = *state->tmp.out.idx; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetDisplayEnumerationIndex2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetDisplayEnumerationIndex2_state *state = tevent_req_data( - req, struct rpccli_samr_GetDisplayEnumerationIndex2_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_samr_GetDisplayEnumerationIndex2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - struct lsa_String *name /* [in] [ref] */, - uint32_t *idx /* [out] [ref] */) -{ - struct samr_GetDisplayEnumerationIndex2 r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - r.in.name = name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETDISPLAYENUMERATIONINDEX2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *idx = *r.out.idx; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_CreateUser2_state { - struct samr_CreateUser2 orig; - struct samr_CreateUser2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_CreateUser2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_CreateUser2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_account_name /* [in] [ref] */, - uint32_t _acct_flags /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_user_handle /* [out] [ref] */, - uint32_t *_access_granted /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_CreateUser2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_CreateUser2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.account_name = _account_name; - state->orig.in.acct_flags = _acct_flags; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.user_handle = _user_handle; - state->orig.out.access_granted = _access_granted; - state->orig.out.rid = _rid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_CreateUser2_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_samr, - NDR_SAMR_CREATEUSER2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_CreateUser2_done, req); - return req; -} - -static void rpccli_samr_CreateUser2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_CreateUser2_state *state = tevent_req_data( - req, struct rpccli_samr_CreateUser2_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.user_handle = *state->tmp.out.user_handle; - *state->orig.out.access_granted = *state->tmp.out.access_granted; - *state->orig.out.rid = *state->tmp.out.rid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_CreateUser2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_CreateUser2_state *state = tevent_req_data( - req, struct rpccli_samr_CreateUser2_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_samr_CreateUser2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *account_name /* [in] [ref] */, - uint32_t acct_flags /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *user_handle /* [out] [ref] */, - uint32_t *access_granted /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */) -{ - struct samr_CreateUser2 r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.account_name = account_name; - r.in.acct_flags = acct_flags; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CREATEUSER2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *user_handle = *r.out.user_handle; - *access_granted = *r.out.access_granted; - *rid = *r.out.rid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_QueryDisplayInfo3_state { - struct samr_QueryDisplayInfo3 orig; - struct samr_QueryDisplayInfo3 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_QueryDisplayInfo3_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_QueryDisplayInfo3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - uint32_t _start_idx /* [in] */, - uint32_t _max_entries /* [in] */, - uint32_t _buf_size /* [in] */, - uint32_t *_total_size /* [out] [ref] */, - uint32_t *_returned_size /* [out] [ref] */, - union samr_DispInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_QueryDisplayInfo3_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_QueryDisplayInfo3_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.level = _level; - state->orig.in.start_idx = _start_idx; - state->orig.in.max_entries = _max_entries; - state->orig.in.buf_size = _buf_size; - - /* Out parameters */ - state->orig.out.total_size = _total_size; - state->orig.out.returned_size = _returned_size; - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_QueryDisplayInfo3_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_samr, - NDR_SAMR_QUERYDISPLAYINFO3, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_QueryDisplayInfo3_done, req); - return req; -} - -static void rpccli_samr_QueryDisplayInfo3_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_QueryDisplayInfo3_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDisplayInfo3_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.total_size = *state->tmp.out.total_size; - *state->orig.out.returned_size = *state->tmp.out.returned_size; - *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_samr_QueryDisplayInfo3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_QueryDisplayInfo3_state *state = tevent_req_data( - req, struct rpccli_samr_QueryDisplayInfo3_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_samr_QueryDisplayInfo3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - uint32_t start_idx /* [in] */, - uint32_t max_entries /* [in] */, - uint32_t buf_size /* [in] */, - uint32_t *total_size /* [out] [ref] */, - uint32_t *returned_size /* [out] [ref] */, - union samr_DispInfo *info /* [out] [ref,switch_is(level)] */) -{ - struct samr_QueryDisplayInfo3 r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.level = level; - r.in.start_idx = start_idx; - r.in.max_entries = max_entries; - r.in.buf_size = buf_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_QUERYDISPLAYINFO3, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *total_size = *r.out.total_size; - *returned_size = *r.out.returned_size; - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_AddMultipleMembersToAlias_state { - struct samr_AddMultipleMembersToAlias orig; - struct samr_AddMultipleMembersToAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_AddMultipleMembersToAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_AddMultipleMembersToAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_AddMultipleMembersToAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_AddMultipleMembersToAlias_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - state->orig.in.sids = _sids; - - /* 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_samr, - NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_AddMultipleMembersToAlias_done, req); - return req; -} - -static void rpccli_samr_AddMultipleMembersToAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_AddMultipleMembersToAlias_state *state = tevent_req_data( - req, struct rpccli_samr_AddMultipleMembersToAlias_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_samr_AddMultipleMembersToAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_AddMultipleMembersToAlias_state *state = tevent_req_data( - req, struct rpccli_samr_AddMultipleMembersToAlias_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_samr_AddMultipleMembersToAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */) -{ - struct samr_AddMultipleMembersToAlias r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - r.in.sids = sids; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_RemoveMultipleMembersFromAlias_state { - struct samr_RemoveMultipleMembersFromAlias orig; - struct samr_RemoveMultipleMembersFromAlias tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_RemoveMultipleMembersFromAlias_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_RemoveMultipleMembersFromAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_RemoveMultipleMembersFromAlias_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_RemoveMultipleMembersFromAlias_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.alias_handle = _alias_handle; - state->orig.in.sids = _sids; - - /* 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_samr, - NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_RemoveMultipleMembersFromAlias_done, req); - return req; -} - -static void rpccli_samr_RemoveMultipleMembersFromAlias_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_RemoveMultipleMembersFromAlias_state *state = tevent_req_data( - req, struct rpccli_samr_RemoveMultipleMembersFromAlias_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_samr_RemoveMultipleMembersFromAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_RemoveMultipleMembersFromAlias_state *state = tevent_req_data( - req, struct rpccli_samr_RemoveMultipleMembersFromAlias_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_samr_RemoveMultipleMembersFromAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */) -{ - struct samr_RemoveMultipleMembersFromAlias r; - NTSTATUS status; - - /* In parameters */ - r.in.alias_handle = alias_handle; - r.in.sids = sids; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_OemChangePasswordUser2_state { - struct samr_OemChangePasswordUser2 orig; - struct samr_OemChangePasswordUser2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_OemChangePasswordUser2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_OemChangePasswordUser2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_AsciiString *_server /* [in] [unique] */, - struct lsa_AsciiString *_account /* [in] [ref] */, - struct samr_CryptPassword *_password /* [in] [unique] */, - struct samr_Password *_hash /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_samr_OemChangePasswordUser2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_OemChangePasswordUser2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.account = _account; - state->orig.in.password = _password; - state->orig.in.hash = _hash; - - /* 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_samr, - NDR_SAMR_OEMCHANGEPASSWORDUSER2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_OemChangePasswordUser2_done, req); - return req; -} - -static void rpccli_samr_OemChangePasswordUser2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_OemChangePasswordUser2_state *state = tevent_req_data( - req, struct rpccli_samr_OemChangePasswordUser2_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_samr_OemChangePasswordUser2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_OemChangePasswordUser2_state *state = tevent_req_data( - req, struct rpccli_samr_OemChangePasswordUser2_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_samr_OemChangePasswordUser2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_AsciiString *server /* [in] [unique] */, - struct lsa_AsciiString *account /* [in] [ref] */, - struct samr_CryptPassword *password /* [in] [unique] */, - struct samr_Password *hash /* [in] [unique] */) -{ - struct samr_OemChangePasswordUser2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.account = account; - r.in.password = password; - r.in.hash = hash; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_OEMCHANGEPASSWORDUSER2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_ChangePasswordUser2_state { - struct samr_ChangePasswordUser2 orig; - struct samr_ChangePasswordUser2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_ChangePasswordUser2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_ChangePasswordUser2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_server /* [in] [unique] */, - struct lsa_String *_account /* [in] [ref] */, - struct samr_CryptPassword *_nt_password /* [in] [unique] */, - struct samr_Password *_nt_verifier /* [in] [unique] */, - uint8_t _lm_change /* [in] */, - struct samr_CryptPassword *_lm_password /* [in] [unique] */, - struct samr_Password *_lm_verifier /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_samr_ChangePasswordUser2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_ChangePasswordUser2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.account = _account; - state->orig.in.nt_password = _nt_password; - state->orig.in.nt_verifier = _nt_verifier; - state->orig.in.lm_change = _lm_change; - state->orig.in.lm_password = _lm_password; - state->orig.in.lm_verifier = _lm_verifier; - - /* 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_samr, - NDR_SAMR_CHANGEPASSWORDUSER2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_ChangePasswordUser2_done, req); - return req; -} - -static void rpccli_samr_ChangePasswordUser2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_ChangePasswordUser2_state *state = tevent_req_data( - req, struct rpccli_samr_ChangePasswordUser2_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_samr_ChangePasswordUser2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_ChangePasswordUser2_state *state = tevent_req_data( - req, struct rpccli_samr_ChangePasswordUser2_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_samr_ChangePasswordUser2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *server /* [in] [unique] */, - struct lsa_String *account /* [in] [ref] */, - struct samr_CryptPassword *nt_password /* [in] [unique] */, - struct samr_Password *nt_verifier /* [in] [unique] */, - uint8_t lm_change /* [in] */, - struct samr_CryptPassword *lm_password /* [in] [unique] */, - struct samr_Password *lm_verifier /* [in] [unique] */) -{ - struct samr_ChangePasswordUser2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.account = account; - r.in.nt_password = nt_password; - r.in.nt_verifier = nt_verifier; - r.in.lm_change = lm_change; - r.in.lm_password = lm_password; - r.in.lm_verifier = lm_verifier; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CHANGEPASSWORDUSER2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetDomPwInfo_state { - struct samr_GetDomPwInfo orig; - struct samr_GetDomPwInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetDomPwInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetDomPwInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_domain_name /* [in] [unique] */, - struct samr_PwInfo *_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetDomPwInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetDomPwInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_name = _domain_name; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetDomPwInfo_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_samr, - NDR_SAMR_GETDOMPWINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetDomPwInfo_done, req); - return req; -} - -static void rpccli_samr_GetDomPwInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetDomPwInfo_state *state = tevent_req_data( - req, struct rpccli_samr_GetDomPwInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetDomPwInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetDomPwInfo_state *state = tevent_req_data( - req, struct rpccli_samr_GetDomPwInfo_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_samr_GetDomPwInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *domain_name /* [in] [unique] */, - struct samr_PwInfo *info /* [out] [ref] */) -{ - struct samr_GetDomPwInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_name = domain_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETDOMPWINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_Connect2_state { - struct samr_Connect2 orig; - struct samr_Connect2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Connect2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Connect2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Connect2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Connect2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.connect_handle = _connect_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_Connect2_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_samr, - NDR_SAMR_CONNECT2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Connect2_done, req); - return req; -} - -static void rpccli_samr_Connect2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Connect2_state *state = tevent_req_data( - req, struct rpccli_samr_Connect2_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.connect_handle = *state->tmp.out.connect_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_Connect2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Connect2_state *state = tevent_req_data( - req, struct rpccli_samr_Connect2_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_samr_Connect2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */) -{ - struct samr_Connect2 r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CONNECT2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *connect_handle = *r.out.connect_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetUserInfo2_state { - struct samr_SetUserInfo2 orig; - struct samr_SetUserInfo2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetUserInfo2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetUserInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo *_info /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetUserInfo2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetUserInfo2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.user_handle = _user_handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_samr, - NDR_SAMR_SETUSERINFO2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetUserInfo2_done, req); - return req; -} - -static void rpccli_samr_SetUserInfo2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetUserInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_SetUserInfo2_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_samr_SetUserInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetUserInfo2_state *state = tevent_req_data( - req, struct rpccli_samr_SetUserInfo2_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_samr_SetUserInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo *info /* [in] [ref,switch_is(level)] */) -{ - struct samr_SetUserInfo2 r; - NTSTATUS status; - - /* In parameters */ - r.in.user_handle = user_handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETUSERINFO2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetBootKeyInformation_state { - struct samr_SetBootKeyInformation orig; - struct samr_SetBootKeyInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetBootKeyInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetBootKeyInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - uint32_t _unknown1 /* [in] */, - uint32_t _unknown2 /* [in] */, - uint32_t _unknown3 /* [in] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetBootKeyInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetBootKeyInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.connect_handle = _connect_handle; - state->orig.in.unknown1 = _unknown1; - state->orig.in.unknown2 = _unknown2; - state->orig.in.unknown3 = _unknown3; - - /* 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_samr, - NDR_SAMR_SETBOOTKEYINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetBootKeyInformation_done, req); - return req; -} - -static void rpccli_samr_SetBootKeyInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetBootKeyInformation_state *state = tevent_req_data( - req, struct rpccli_samr_SetBootKeyInformation_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_samr_SetBootKeyInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetBootKeyInformation_state *state = tevent_req_data( - req, struct rpccli_samr_SetBootKeyInformation_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_samr_SetBootKeyInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - uint32_t unknown1 /* [in] */, - uint32_t unknown2 /* [in] */, - uint32_t unknown3 /* [in] */) -{ - struct samr_SetBootKeyInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.connect_handle = connect_handle; - r.in.unknown1 = unknown1; - r.in.unknown2 = unknown2; - r.in.unknown3 = unknown3; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETBOOTKEYINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_GetBootKeyInformation_state { - struct samr_GetBootKeyInformation orig; - struct samr_GetBootKeyInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_GetBootKeyInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_GetBootKeyInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_unknown /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_GetBootKeyInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_GetBootKeyInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - - /* Out parameters */ - state->orig.out.unknown = _unknown; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_GetBootKeyInformation_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_samr, - NDR_SAMR_GETBOOTKEYINFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_GetBootKeyInformation_done, req); - return req; -} - -static void rpccli_samr_GetBootKeyInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_GetBootKeyInformation_state *state = tevent_req_data( - req, struct rpccli_samr_GetBootKeyInformation_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.unknown = *state->tmp.out.unknown; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_GetBootKeyInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_GetBootKeyInformation_state *state = tevent_req_data( - req, struct rpccli_samr_GetBootKeyInformation_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_samr_GetBootKeyInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *unknown /* [out] [ref] */) -{ - struct samr_GetBootKeyInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_GETBOOTKEYINFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *unknown = *r.out.unknown; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_Connect3_state { - struct samr_Connect3 orig; - struct samr_Connect3 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Connect3_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Connect3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Connect3_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Connect3_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.unknown = _unknown; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.connect_handle = _connect_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_Connect3_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_samr, - NDR_SAMR_CONNECT3, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Connect3_done, req); - return req; -} - -static void rpccli_samr_Connect3_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Connect3_state *state = tevent_req_data( - req, struct rpccli_samr_Connect3_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.connect_handle = *state->tmp.out.connect_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_Connect3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Connect3_state *state = tevent_req_data( - req, struct rpccli_samr_Connect3_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_samr_Connect3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - uint32_t unknown /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */) -{ - struct samr_Connect3 r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.unknown = unknown; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CONNECT3, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *connect_handle = *r.out.connect_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_Connect4_state { - struct samr_Connect4 orig; - struct samr_Connect4 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Connect4_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Connect4_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - enum samr_ConnectVersion _client_version /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Connect4_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Connect4_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.client_version = _client_version; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.connect_handle = _connect_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_Connect4_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_samr, - NDR_SAMR_CONNECT4, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Connect4_done, req); - return req; -} - -static void rpccli_samr_Connect4_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Connect4_state *state = tevent_req_data( - req, struct rpccli_samr_Connect4_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.connect_handle = *state->tmp.out.connect_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_Connect4_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Connect4_state *state = tevent_req_data( - req, struct rpccli_samr_Connect4_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_samr_Connect4(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - enum samr_ConnectVersion client_version /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */) -{ - struct samr_Connect4 r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.client_version = client_version; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CONNECT4, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *connect_handle = *r.out.connect_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_ChangePasswordUser3_state { - struct samr_ChangePasswordUser3 orig; - struct samr_ChangePasswordUser3 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_ChangePasswordUser3_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_ChangePasswordUser3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_server /* [in] [unique] */, - struct lsa_String *_account /* [in] [ref] */, - struct samr_CryptPassword *_nt_password /* [in] [unique] */, - struct samr_Password *_nt_verifier /* [in] [unique] */, - uint8_t _lm_change /* [in] */, - struct samr_CryptPassword *_lm_password /* [in] [unique] */, - struct samr_Password *_lm_verifier /* [in] [unique] */, - struct samr_CryptPassword *_password3 /* [in] [unique] */, - struct samr_DomInfo1 **_dominfo /* [out] [ref] */, - struct userPwdChangeFailureInformation **_reject /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_ChangePasswordUser3_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_ChangePasswordUser3_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.account = _account; - state->orig.in.nt_password = _nt_password; - state->orig.in.nt_verifier = _nt_verifier; - state->orig.in.lm_change = _lm_change; - state->orig.in.lm_password = _lm_password; - state->orig.in.lm_verifier = _lm_verifier; - state->orig.in.password3 = _password3; - - /* Out parameters */ - state->orig.out.dominfo = _dominfo; - state->orig.out.reject = _reject; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_ChangePasswordUser3_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_samr, - NDR_SAMR_CHANGEPASSWORDUSER3, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_ChangePasswordUser3_done, req); - return req; -} - -static void rpccli_samr_ChangePasswordUser3_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_ChangePasswordUser3_state *state = tevent_req_data( - req, struct rpccli_samr_ChangePasswordUser3_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.dominfo = *state->tmp.out.dominfo; - *state->orig.out.reject = *state->tmp.out.reject; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_ChangePasswordUser3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_ChangePasswordUser3_state *state = tevent_req_data( - req, struct rpccli_samr_ChangePasswordUser3_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_samr_ChangePasswordUser3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *server /* [in] [unique] */, - struct lsa_String *account /* [in] [ref] */, - struct samr_CryptPassword *nt_password /* [in] [unique] */, - struct samr_Password *nt_verifier /* [in] [unique] */, - uint8_t lm_change /* [in] */, - struct samr_CryptPassword *lm_password /* [in] [unique] */, - struct samr_Password *lm_verifier /* [in] [unique] */, - struct samr_CryptPassword *password3 /* [in] [unique] */, - struct samr_DomInfo1 **dominfo /* [out] [ref] */, - struct userPwdChangeFailureInformation **reject /* [out] [ref] */) -{ - struct samr_ChangePasswordUser3 r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.account = account; - r.in.nt_password = nt_password; - r.in.nt_verifier = nt_verifier; - r.in.lm_change = lm_change; - r.in.lm_password = lm_password; - r.in.lm_verifier = lm_verifier; - r.in.password3 = password3; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CHANGEPASSWORDUSER3, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *dominfo = *r.out.dominfo; - *reject = *r.out.reject; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_Connect5_state { - struct samr_Connect5 orig; - struct samr_Connect5 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_Connect5_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_Connect5_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - uint32_t _level_in /* [in] */, - union samr_ConnectInfo *_info_in /* [in] [ref,switch_is(level_in)] */, - uint32_t *_level_out /* [out] [ref] */, - union samr_ConnectInfo *_info_out /* [out] [ref,switch_is(*level_out)] */, - struct policy_handle *_connect_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_Connect5_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_Connect5_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - state->orig.in.level_in = _level_in; - state->orig.in.info_in = _info_in; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.info_out = _info_out; - state->orig.out.connect_handle = _connect_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_Connect5_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_samr, - NDR_SAMR_CONNECT5, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_Connect5_done, req); - return req; -} - -static void rpccli_samr_Connect5_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_Connect5_state *state = tevent_req_data( - req, struct rpccli_samr_Connect5_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_out = *state->tmp.out.info_out; - *state->orig.out.connect_handle = *state->tmp.out.connect_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_Connect5_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_Connect5_state *state = tevent_req_data( - req, struct rpccli_samr_Connect5_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_samr_Connect5(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - uint32_t level_in /* [in] */, - union samr_ConnectInfo *info_in /* [in] [ref,switch_is(level_in)] */, - uint32_t *level_out /* [out] [ref] */, - union samr_ConnectInfo *info_out /* [out] [ref,switch_is(*level_out)] */, - struct policy_handle *connect_handle /* [out] [ref] */) -{ - struct samr_Connect5 r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - r.in.level_in = level_in; - r.in.info_in = info_in; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_CONNECT5, - &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_out = *r.out.info_out; - *connect_handle = *r.out.connect_handle; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_RidToSid_state { - struct samr_RidToSid orig; - struct samr_RidToSid tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_RidToSid_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_RidToSid_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _rid /* [in] */, - struct dom_sid2 **_sid /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_samr_RidToSid_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_RidToSid_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_handle = _domain_handle; - state->orig.in.rid = _rid; - - /* Out parameters */ - state->orig.out.sid = _sid; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_RidToSid_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_samr, - NDR_SAMR_RIDTOSID, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_RidToSid_done, req); - return req; -} - -static void rpccli_samr_RidToSid_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_RidToSid_state *state = tevent_req_data( - req, struct rpccli_samr_RidToSid_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.sid = *state->tmp.out.sid; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_RidToSid_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_RidToSid_state *state = tevent_req_data( - req, struct rpccli_samr_RidToSid_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_samr_RidToSid(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t rid /* [in] */, - struct dom_sid2 **sid /* [out] [ref] */) -{ - struct samr_RidToSid r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_handle = domain_handle; - r.in.rid = rid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_RIDTOSID, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sid = *r.out.sid; - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_SetDsrmPassword_state { - struct samr_SetDsrmPassword orig; - struct samr_SetDsrmPassword tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_SetDsrmPassword_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_SetDsrmPassword_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_name /* [in] [unique] */, - uint32_t _unknown /* [in] */, - struct samr_Password *_hash /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_samr_SetDsrmPassword_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_SetDsrmPassword_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.name = _name; - state->orig.in.unknown = _unknown; - state->orig.in.hash = _hash; - - /* 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_samr, - NDR_SAMR_SETDSRMPASSWORD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_SetDsrmPassword_done, req); - return req; -} - -static void rpccli_samr_SetDsrmPassword_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_SetDsrmPassword_state *state = tevent_req_data( - req, struct rpccli_samr_SetDsrmPassword_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_samr_SetDsrmPassword_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_SetDsrmPassword_state *state = tevent_req_data( - req, struct rpccli_samr_SetDsrmPassword_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_samr_SetDsrmPassword(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *name /* [in] [unique] */, - uint32_t unknown /* [in] */, - struct samr_Password *hash /* [in] [unique] */) -{ - struct samr_SetDsrmPassword r; - NTSTATUS status; - - /* In parameters */ - r.in.name = name; - r.in.unknown = unknown; - r.in.hash = hash; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_SETDSRMPASSWORD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - - /* Return result */ - return r.out.result; -} - -struct rpccli_samr_ValidatePassword_state { - struct samr_ValidatePassword orig; - struct samr_ValidatePassword tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_samr_ValidatePassword_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_samr_ValidatePassword_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum samr_ValidatePasswordLevel _level /* [in] */, - union samr_ValidatePasswordReq *_req /* [in] [ref,switch_is(level)] */, - union samr_ValidatePasswordRep **_rep /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_samr_ValidatePassword_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_samr_ValidatePassword_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.rep = _rep; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_samr_ValidatePassword_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_samr, - NDR_SAMR_VALIDATEPASSWORD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_samr_ValidatePassword_done, req); - return req; -} - -static void rpccli_samr_ValidatePassword_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_samr_ValidatePassword_state *state = tevent_req_data( - req, struct rpccli_samr_ValidatePassword_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.rep = *state->tmp.out.rep; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_samr_ValidatePassword_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result) -{ - struct rpccli_samr_ValidatePassword_state *state = tevent_req_data( - req, struct rpccli_samr_ValidatePassword_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_samr_ValidatePassword(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum samr_ValidatePasswordLevel level /* [in] */, - union samr_ValidatePasswordReq *req /* [in] [ref,switch_is(level)] */, - union samr_ValidatePasswordRep **rep /* [out] [ref,switch_is(level)] */) -{ - struct samr_ValidatePassword r; - NTSTATUS status; - - /* In parameters */ - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_samr, - NDR_SAMR_VALIDATEPASSWORD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *rep = *r.out.rep; - - /* Return result */ - return r.out.result; -} - diff --git a/librpc/gen_ndr/cli_samr.h b/librpc/gen_ndr/cli_samr.h deleted file mode 100644 index c94ff11cc7a..00000000000 --- a/librpc/gen_ndr/cli_samr.h +++ /dev/null @@ -1,1046 +0,0 @@ -#include "../librpc/gen_ndr/ndr_samr.h" -#ifndef __CLI_SAMR__ -#define __CLI_SAMR__ -struct tevent_req *rpccli_samr_Connect_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_Connect_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Connect(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_Close_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_samr_Close_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Close(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */); -struct tevent_req *rpccli_samr_SetSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf *_sdbuf /* [in] [ref] */); -NTSTATUS rpccli_samr_SetSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf *sdbuf /* [in] [ref] */); -struct tevent_req *rpccli_samr_QuerySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct sec_desc_buf **_sdbuf /* [out] [ref] */); -NTSTATUS rpccli_samr_QuerySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QuerySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct sec_desc_buf **sdbuf /* [out] [ref] */); -struct tevent_req *rpccli_samr_Shutdown_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */); -NTSTATUS rpccli_samr_Shutdown_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Shutdown(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */); -struct tevent_req *rpccli_samr_LookupDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - struct lsa_String *_domain_name /* [in] [ref] */, - struct dom_sid2 **_sid /* [out] [ref] */); -NTSTATUS rpccli_samr_LookupDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_LookupDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - struct lsa_String *domain_name /* [in] [ref] */, - struct dom_sid2 **sid /* [out] [ref] */); -struct tevent_req *rpccli_samr_EnumDomains_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _buf_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */); -NTSTATUS rpccli_samr_EnumDomains_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_EnumDomains(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t buf_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */); -struct tevent_req *rpccli_samr_OpenDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct dom_sid2 *_sid /* [in] [ref] */, - struct policy_handle *_domain_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_OpenDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_OpenDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct dom_sid2 *sid /* [in] [ref] */, - struct policy_handle *domain_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_QueryDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass _level /* [in] */, - union samr_DomainInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass level /* [in] */, - union samr_DomainInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_SetDomainInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass _level /* [in] */, - union samr_DomainInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_SetDomainInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetDomainInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass level /* [in] */, - union samr_DomainInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_CreateDomainGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_name /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_group_handle /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */); -NTSTATUS rpccli_samr_CreateDomainGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_CreateDomainGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *name /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *group_handle /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */); -struct tevent_req *rpccli_samr_EnumDomainGroups_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _max_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */); -NTSTATUS rpccli_samr_EnumDomainGroups_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_EnumDomainGroups(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t max_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */); -struct tevent_req *rpccli_samr_CreateUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_account_name /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_user_handle /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */); -NTSTATUS rpccli_samr_CreateUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_CreateUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *account_name /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *user_handle /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */); -struct tevent_req *rpccli_samr_EnumDomainUsers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - uint32_t _acct_flags /* [in] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _max_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */); -NTSTATUS rpccli_samr_EnumDomainUsers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_EnumDomainUsers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - uint32_t acct_flags /* [in] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t max_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */); -struct tevent_req *rpccli_samr_CreateDomAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_alias_name /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_alias_handle /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */); -NTSTATUS rpccli_samr_CreateDomAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_CreateDomAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *alias_name /* [in] [ref] */, - uint32_t access_mask /* [in] */, - struct policy_handle *alias_handle /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */); -struct tevent_req *rpccli_samr_EnumDomainAliases_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_resume_handle /* [in,out] [ref] */, - struct samr_SamArray **_sam /* [out] [ref] */, - uint32_t _max_size /* [in] */, - uint32_t *_num_entries /* [out] [ref] */); -NTSTATUS rpccli_samr_EnumDomainAliases_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_EnumDomainAliases(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *resume_handle /* [in,out] [ref] */, - struct samr_SamArray **sam /* [out] [ref] */, - uint32_t max_size /* [in] */, - uint32_t *num_entries /* [out] [ref] */); -struct tevent_req *rpccli_samr_GetAliasMembership_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */, - struct samr_Ids *_rids /* [out] [ref] */); -NTSTATUS rpccli_samr_GetAliasMembership_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetAliasMembership(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */, - struct samr_Ids *rids /* [out] [ref] */); -struct tevent_req *rpccli_samr_LookupNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _num_names /* [in] [range(0,1000)] */, - struct lsa_String *_names /* [in] [length_is(num_names),size_is(1000)] */, - struct samr_Ids *_rids /* [out] [ref] */, - struct samr_Ids *_types /* [out] [ref] */); -NTSTATUS rpccli_samr_LookupNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_LookupNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t num_names /* [in] [range(0,1000)] */, - struct lsa_String *names /* [in] [length_is(num_names),size_is(1000)] */, - struct samr_Ids *rids /* [out] [ref] */, - struct samr_Ids *types /* [out] [ref] */); -struct tevent_req *rpccli_samr_LookupRids_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _num_rids /* [in] [range(0,1000)] */, - uint32_t *_rids /* [in] [length_is(num_rids),size_is(1000)] */, - struct lsa_Strings *_names /* [out] [ref] */, - struct samr_Ids *_types /* [out] [ref] */); -NTSTATUS rpccli_samr_LookupRids_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_LookupRids(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t num_rids /* [in] [range(0,1000)] */, - uint32_t *rids /* [in] [length_is(num_rids),size_is(1000)] */, - struct lsa_Strings *names /* [out] [ref] */, - struct samr_Ids *types /* [out] [ref] */); -struct tevent_req *rpccli_samr_OpenGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _rid /* [in] */, - struct policy_handle *_group_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_OpenGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_OpenGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t rid /* [in] */, - struct policy_handle *group_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_QueryGroupInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum _level /* [in] */, - union samr_GroupInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryGroupInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryGroupInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum level /* [in] */, - union samr_GroupInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_SetGroupInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum _level /* [in] */, - union samr_GroupInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_SetGroupInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetGroupInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - enum samr_GroupInfoEnum level /* [in] */, - union samr_GroupInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_AddGroupMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - uint32_t _rid /* [in] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_samr_AddGroupMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_AddGroupMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - uint32_t rid /* [in] */, - uint32_t flags /* [in] */); -struct tevent_req *rpccli_samr_DeleteDomainGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in,out] [ref] */); -NTSTATUS rpccli_samr_DeleteDomainGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_DeleteDomainGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in,out] [ref] */); -struct tevent_req *rpccli_samr_DeleteGroupMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - uint32_t _rid /* [in] */); -NTSTATUS rpccli_samr_DeleteGroupMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_DeleteGroupMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - uint32_t rid /* [in] */); -struct tevent_req *rpccli_samr_QueryGroupMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - struct samr_RidTypeArray **_rids /* [out] [ref] */); -NTSTATUS rpccli_samr_QueryGroupMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryGroupMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - struct samr_RidTypeArray **rids /* [out] [ref] */); -struct tevent_req *rpccli_samr_SetMemberAttributesOfGroup_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_group_handle /* [in] [ref] */, - uint32_t _unknown1 /* [in] */, - uint32_t _unknown2 /* [in] */); -NTSTATUS rpccli_samr_SetMemberAttributesOfGroup_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetMemberAttributesOfGroup(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *group_handle /* [in] [ref] */, - uint32_t unknown1 /* [in] */, - uint32_t unknown2 /* [in] */); -struct tevent_req *rpccli_samr_OpenAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _rid /* [in] */, - struct policy_handle *_alias_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_OpenAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_OpenAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t rid /* [in] */, - struct policy_handle *alias_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_QueryAliasInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum _level /* [in] */, - union samr_AliasInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryAliasInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryAliasInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum level /* [in] */, - union samr_AliasInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_SetAliasInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum _level /* [in] */, - union samr_AliasInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_SetAliasInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetAliasInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - enum samr_AliasInfoEnum level /* [in] */, - union samr_AliasInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_DeleteDomAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in,out] [ref] */); -NTSTATUS rpccli_samr_DeleteDomAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_DeleteDomAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in,out] [ref] */); -struct tevent_req *rpccli_samr_AddAliasMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */); -NTSTATUS rpccli_samr_AddAliasMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_AddAliasMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */); -struct tevent_req *rpccli_samr_DeleteAliasMember_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */); -NTSTATUS rpccli_samr_DeleteAliasMember_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_DeleteAliasMember(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */); -struct tevent_req *rpccli_samr_GetMembersInAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [out] [ref] */); -NTSTATUS rpccli_samr_GetMembersInAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetMembersInAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [out] [ref] */); -struct tevent_req *rpccli_samr_OpenUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _rid /* [in] */, - struct policy_handle *_user_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_OpenUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_OpenUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t rid /* [in] */, - struct policy_handle *user_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_DeleteUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in,out] [ref] */); -NTSTATUS rpccli_samr_DeleteUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_DeleteUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in,out] [ref] */); -struct tevent_req *rpccli_samr_QueryUserInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryUserInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryUserInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_SetUserInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_SetUserInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetUserInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_ChangePasswordUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - uint8_t _lm_present /* [in] */, - struct samr_Password *_old_lm_crypted /* [in] [unique] */, - struct samr_Password *_new_lm_crypted /* [in] [unique] */, - uint8_t _nt_present /* [in] */, - struct samr_Password *_old_nt_crypted /* [in] [unique] */, - struct samr_Password *_new_nt_crypted /* [in] [unique] */, - uint8_t _cross1_present /* [in] */, - struct samr_Password *_nt_cross /* [in] [unique] */, - uint8_t _cross2_present /* [in] */, - struct samr_Password *_lm_cross /* [in] [unique] */); -NTSTATUS rpccli_samr_ChangePasswordUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_ChangePasswordUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - uint8_t lm_present /* [in] */, - struct samr_Password *old_lm_crypted /* [in] [unique] */, - struct samr_Password *new_lm_crypted /* [in] [unique] */, - uint8_t nt_present /* [in] */, - struct samr_Password *old_nt_crypted /* [in] [unique] */, - struct samr_Password *new_nt_crypted /* [in] [unique] */, - uint8_t cross1_present /* [in] */, - struct samr_Password *nt_cross /* [in] [unique] */, - uint8_t cross2_present /* [in] */, - struct samr_Password *lm_cross /* [in] [unique] */); -struct tevent_req *rpccli_samr_GetGroupsForUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - struct samr_RidWithAttributeArray **_rids /* [out] [ref] */); -NTSTATUS rpccli_samr_GetGroupsForUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetGroupsForUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - struct samr_RidWithAttributeArray **rids /* [out] [ref] */); -struct tevent_req *rpccli_samr_QueryDisplayInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - uint32_t _start_idx /* [in] */, - uint32_t _max_entries /* [in] */, - uint32_t _buf_size /* [in] */, - uint32_t *_total_size /* [out] [ref] */, - uint32_t *_returned_size /* [out] [ref] */, - union samr_DispInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryDisplayInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryDisplayInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - uint32_t start_idx /* [in] */, - uint32_t max_entries /* [in] */, - uint32_t buf_size /* [in] */, - uint32_t *total_size /* [out] [ref] */, - uint32_t *returned_size /* [out] [ref] */, - union samr_DispInfo *info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_GetDisplayEnumerationIndex_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - struct lsa_String *_name /* [in] [ref] */, - uint32_t *_idx /* [out] [ref] */); -NTSTATUS rpccli_samr_GetDisplayEnumerationIndex_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetDisplayEnumerationIndex(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - struct lsa_String *name /* [in] [ref] */, - uint32_t *idx /* [out] [ref] */); -struct tevent_req *rpccli_samr_TestPrivateFunctionsDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */); -NTSTATUS rpccli_samr_TestPrivateFunctionsDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_TestPrivateFunctionsDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */); -struct tevent_req *rpccli_samr_TestPrivateFunctionsUser_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */); -NTSTATUS rpccli_samr_TestPrivateFunctionsUser_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_TestPrivateFunctionsUser(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */); -struct tevent_req *rpccli_samr_GetUserPwInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - struct samr_PwInfo *_info /* [out] [ref] */); -NTSTATUS rpccli_samr_GetUserPwInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetUserPwInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - struct samr_PwInfo *info /* [out] [ref] */); -struct tevent_req *rpccli_samr_RemoveMemberFromForeignDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct dom_sid2 *_sid /* [in] [ref] */); -NTSTATUS rpccli_samr_RemoveMemberFromForeignDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_RemoveMemberFromForeignDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct dom_sid2 *sid /* [in] [ref] */); -struct tevent_req *rpccli_samr_QueryDomainInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass _level /* [in] */, - union samr_DomainInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryDomainInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryDomainInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - enum samr_DomainInfoClass level /* [in] */, - union samr_DomainInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_QueryUserInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo **_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryUserInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryUserInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo **info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_QueryDisplayInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - uint32_t _start_idx /* [in] */, - uint32_t _max_entries /* [in] */, - uint32_t _buf_size /* [in] */, - uint32_t *_total_size /* [out] [ref] */, - uint32_t *_returned_size /* [out] [ref] */, - union samr_DispInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryDisplayInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryDisplayInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - uint32_t start_idx /* [in] */, - uint32_t max_entries /* [in] */, - uint32_t buf_size /* [in] */, - uint32_t *total_size /* [out] [ref] */, - uint32_t *returned_size /* [out] [ref] */, - union samr_DispInfo *info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_GetDisplayEnumerationIndex2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - struct lsa_String *_name /* [in] [ref] */, - uint32_t *_idx /* [out] [ref] */); -NTSTATUS rpccli_samr_GetDisplayEnumerationIndex2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetDisplayEnumerationIndex2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - struct lsa_String *name /* [in] [ref] */, - uint32_t *idx /* [out] [ref] */); -struct tevent_req *rpccli_samr_CreateUser2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - struct lsa_String *_account_name /* [in] [ref] */, - uint32_t _acct_flags /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_user_handle /* [out] [ref] */, - uint32_t *_access_granted /* [out] [ref] */, - uint32_t *_rid /* [out] [ref] */); -NTSTATUS rpccli_samr_CreateUser2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_CreateUser2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - struct lsa_String *account_name /* [in] [ref] */, - uint32_t acct_flags /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *user_handle /* [out] [ref] */, - uint32_t *access_granted /* [out] [ref] */, - uint32_t *rid /* [out] [ref] */); -struct tevent_req *rpccli_samr_QueryDisplayInfo3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint16_t _level /* [in] */, - uint32_t _start_idx /* [in] */, - uint32_t _max_entries /* [in] */, - uint32_t _buf_size /* [in] */, - uint32_t *_total_size /* [out] [ref] */, - uint32_t *_returned_size /* [out] [ref] */, - union samr_DispInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_QueryDisplayInfo3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_QueryDisplayInfo3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint16_t level /* [in] */, - uint32_t start_idx /* [in] */, - uint32_t max_entries /* [in] */, - uint32_t buf_size /* [in] */, - uint32_t *total_size /* [out] [ref] */, - uint32_t *returned_size /* [out] [ref] */, - union samr_DispInfo *info /* [out] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_AddMultipleMembersToAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */); -NTSTATUS rpccli_samr_AddMultipleMembersToAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_AddMultipleMembersToAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */); -struct tevent_req *rpccli_samr_RemoveMultipleMembersFromAlias_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_alias_handle /* [in] [ref] */, - struct lsa_SidArray *_sids /* [in] [ref] */); -NTSTATUS rpccli_samr_RemoveMultipleMembersFromAlias_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_RemoveMultipleMembersFromAlias(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *alias_handle /* [in] [ref] */, - struct lsa_SidArray *sids /* [in] [ref] */); -struct tevent_req *rpccli_samr_OemChangePasswordUser2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_AsciiString *_server /* [in] [unique] */, - struct lsa_AsciiString *_account /* [in] [ref] */, - struct samr_CryptPassword *_password /* [in] [unique] */, - struct samr_Password *_hash /* [in] [unique] */); -NTSTATUS rpccli_samr_OemChangePasswordUser2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_OemChangePasswordUser2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_AsciiString *server /* [in] [unique] */, - struct lsa_AsciiString *account /* [in] [ref] */, - struct samr_CryptPassword *password /* [in] [unique] */, - struct samr_Password *hash /* [in] [unique] */); -struct tevent_req *rpccli_samr_ChangePasswordUser2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_server /* [in] [unique] */, - struct lsa_String *_account /* [in] [ref] */, - struct samr_CryptPassword *_nt_password /* [in] [unique] */, - struct samr_Password *_nt_verifier /* [in] [unique] */, - uint8_t _lm_change /* [in] */, - struct samr_CryptPassword *_lm_password /* [in] [unique] */, - struct samr_Password *_lm_verifier /* [in] [unique] */); -NTSTATUS rpccli_samr_ChangePasswordUser2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_ChangePasswordUser2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *server /* [in] [unique] */, - struct lsa_String *account /* [in] [ref] */, - struct samr_CryptPassword *nt_password /* [in] [unique] */, - struct samr_Password *nt_verifier /* [in] [unique] */, - uint8_t lm_change /* [in] */, - struct samr_CryptPassword *lm_password /* [in] [unique] */, - struct samr_Password *lm_verifier /* [in] [unique] */); -struct tevent_req *rpccli_samr_GetDomPwInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_domain_name /* [in] [unique] */, - struct samr_PwInfo *_info /* [out] [ref] */); -NTSTATUS rpccli_samr_GetDomPwInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetDomPwInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *domain_name /* [in] [unique] */, - struct samr_PwInfo *info /* [out] [ref] */); -struct tevent_req *rpccli_samr_Connect2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_Connect2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Connect2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_SetUserInfo2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_user_handle /* [in] [ref] */, - enum samr_UserInfoLevel _level /* [in] */, - union samr_UserInfo *_info /* [in] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_SetUserInfo2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetUserInfo2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *user_handle /* [in] [ref] */, - enum samr_UserInfoLevel level /* [in] */, - union samr_UserInfo *info /* [in] [ref,switch_is(level)] */); -struct tevent_req *rpccli_samr_SetBootKeyInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_connect_handle /* [in] [ref] */, - uint32_t _unknown1 /* [in] */, - uint32_t _unknown2 /* [in] */, - uint32_t _unknown3 /* [in] */); -NTSTATUS rpccli_samr_SetBootKeyInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetBootKeyInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *connect_handle /* [in] [ref] */, - uint32_t unknown1 /* [in] */, - uint32_t unknown2 /* [in] */, - uint32_t unknown3 /* [in] */); -struct tevent_req *rpccli_samr_GetBootKeyInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t *_unknown /* [out] [ref] */); -NTSTATUS rpccli_samr_GetBootKeyInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_GetBootKeyInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t *unknown /* [out] [ref] */); -struct tevent_req *rpccli_samr_Connect3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_Connect3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Connect3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - uint32_t unknown /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_Connect4_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - enum samr_ConnectVersion _client_version /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_connect_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_Connect4_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Connect4(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - enum samr_ConnectVersion client_version /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *connect_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_ChangePasswordUser3_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_server /* [in] [unique] */, - struct lsa_String *_account /* [in] [ref] */, - struct samr_CryptPassword *_nt_password /* [in] [unique] */, - struct samr_Password *_nt_verifier /* [in] [unique] */, - uint8_t _lm_change /* [in] */, - struct samr_CryptPassword *_lm_password /* [in] [unique] */, - struct samr_Password *_lm_verifier /* [in] [unique] */, - struct samr_CryptPassword *_password3 /* [in] [unique] */, - struct samr_DomInfo1 **_dominfo /* [out] [ref] */, - struct userPwdChangeFailureInformation **_reject /* [out] [ref] */); -NTSTATUS rpccli_samr_ChangePasswordUser3_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_ChangePasswordUser3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *server /* [in] [unique] */, - struct lsa_String *account /* [in] [ref] */, - struct samr_CryptPassword *nt_password /* [in] [unique] */, - struct samr_Password *nt_verifier /* [in] [unique] */, - uint8_t lm_change /* [in] */, - struct samr_CryptPassword *lm_password /* [in] [unique] */, - struct samr_Password *lm_verifier /* [in] [unique] */, - struct samr_CryptPassword *password3 /* [in] [unique] */, - struct samr_DomInfo1 **dominfo /* [out] [ref] */, - struct userPwdChangeFailureInformation **reject /* [out] [ref] */); -struct tevent_req *rpccli_samr_Connect5_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_system_name /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - uint32_t _level_in /* [in] */, - union samr_ConnectInfo *_info_in /* [in] [ref,switch_is(level_in)] */, - uint32_t *_level_out /* [out] [ref] */, - union samr_ConnectInfo *_info_out /* [out] [ref,switch_is(*level_out)] */, - struct policy_handle *_connect_handle /* [out] [ref] */); -NTSTATUS rpccli_samr_Connect5_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_Connect5(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *system_name /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - uint32_t level_in /* [in] */, - union samr_ConnectInfo *info_in /* [in] [ref,switch_is(level_in)] */, - uint32_t *level_out /* [out] [ref] */, - union samr_ConnectInfo *info_out /* [out] [ref,switch_is(*level_out)] */, - struct policy_handle *connect_handle /* [out] [ref] */); -struct tevent_req *rpccli_samr_RidToSid_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_domain_handle /* [in] [ref] */, - uint32_t _rid /* [in] */, - struct dom_sid2 **_sid /* [out] [ref] */); -NTSTATUS rpccli_samr_RidToSid_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_RidToSid(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle /* [in] [ref] */, - uint32_t rid /* [in] */, - struct dom_sid2 **sid /* [out] [ref] */); -struct tevent_req *rpccli_samr_SetDsrmPassword_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct lsa_String *_name /* [in] [unique] */, - uint32_t _unknown /* [in] */, - struct samr_Password *_hash /* [in] [unique] */); -NTSTATUS rpccli_samr_SetDsrmPassword_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_SetDsrmPassword(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct lsa_String *name /* [in] [unique] */, - uint32_t unknown /* [in] */, - struct samr_Password *hash /* [in] [unique] */); -struct tevent_req *rpccli_samr_ValidatePassword_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - enum samr_ValidatePasswordLevel _level /* [in] */, - union samr_ValidatePasswordReq *_req /* [in] [ref,switch_is(level)] */, - union samr_ValidatePasswordRep **_rep /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_samr_ValidatePassword_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - NTSTATUS *result); -NTSTATUS rpccli_samr_ValidatePassword(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - enum samr_ValidatePasswordLevel level /* [in] */, - union samr_ValidatePasswordReq *req /* [in] [ref,switch_is(level)] */, - union samr_ValidatePasswordRep **rep /* [out] [ref,switch_is(level)] */); -#endif /* __CLI_SAMR__ */ diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c deleted file mode 100644 index c674f940b14..00000000000 --- a/librpc/gen_ndr/cli_spoolss.c +++ /dev/null @@ -1,16446 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_spoolss.h" - -struct rpccli_spoolss_EnumPrinters_state { - struct spoolss_EnumPrinters orig; - struct spoolss_EnumPrinters tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrinters_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrinters_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _flags /* [in] */, - const char *_server /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PrinterInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrinters_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrinters_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.flags = _flags; - state->orig.in.server = _server; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrinters_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_spoolss, - NDR_SPOOLSS_ENUMPRINTERS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrinters_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrinters_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrinters_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinters_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrinters_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrinters_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinters_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_spoolss_EnumPrinters(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t flags /* [in] */, - const char *server /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PrinterInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrinters r; - NTSTATUS status; - - /* In parameters */ - r.in.flags = flags; - r.in.server = server; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTERS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_OpenPrinter_state { - struct spoolss_OpenPrinter orig; - struct spoolss_OpenPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_OpenPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_OpenPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_printername /* [in] [unique,charset(UTF16)] */, - const char *_datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer _devmode_ctr /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_OpenPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_OpenPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.printername = _printername; - state->orig.in.datatype = _datatype; - state->orig.in.devmode_ctr = _devmode_ctr; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_OpenPrinter_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_spoolss, - NDR_SPOOLSS_OPENPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_OpenPrinter_done, req); - return req; -} - -static void rpccli_spoolss_OpenPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_OpenPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_OpenPrinter_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_OpenPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_OpenPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_OpenPrinter_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_spoolss_OpenPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *printername /* [in] [unique,charset(UTF16)] */, - const char *datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer devmode_ctr /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_OpenPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.printername = printername; - r.in.datatype = datatype; - r.in.devmode_ctr = devmode_ctr; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_OPENPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_SetJob_state { - struct spoolss_SetJob orig; - struct spoolss_SetJob tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_SetJob_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_SetJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _job_id /* [in] */, - struct spoolss_JobInfoContainer *_ctr /* [in] [unique] */, - enum spoolss_JobControl _command /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_SetJob_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_SetJob_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.job_id = _job_id; - state->orig.in.ctr = _ctr; - state->orig.in.command = _command; - - /* 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_spoolss, - NDR_SPOOLSS_SETJOB, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_SetJob_done, req); - return req; -} - -static void rpccli_spoolss_SetJob_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_SetJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetJob_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_spoolss_SetJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_SetJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetJob_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_spoolss_SetJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t job_id /* [in] */, - struct spoolss_JobInfoContainer *ctr /* [in] [unique] */, - enum spoolss_JobControl command /* [in] */, - WERROR *werror) -{ - struct spoolss_SetJob r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.job_id = job_id; - r.in.ctr = ctr; - r.in.command = command; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SETJOB, - &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_spoolss_GetJob_state { - struct spoolss_GetJob orig; - struct spoolss_GetJob tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetJob_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _job_id /* [in] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_JobInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetJob_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetJob_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.job_id = _job_id; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetJob_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_spoolss, - NDR_SPOOLSS_GETJOB, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetJob_done, req); - return req; -} - -static void rpccli_spoolss_GetJob_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetJob_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetJob_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_spoolss_GetJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t job_id /* [in] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_JobInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetJob r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.job_id = job_id; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETJOB, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EnumJobs_state { - struct spoolss_EnumJobs orig; - struct spoolss_EnumJobs tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumJobs_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumJobs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _firstjob /* [in] */, - uint32_t _numjobs /* [in] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_JobInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumJobs_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumJobs_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.firstjob = _firstjob; - state->orig.in.numjobs = _numjobs; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumJobs_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_spoolss, - NDR_SPOOLSS_ENUMJOBS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumJobs_done, req); - return req; -} - -static void rpccli_spoolss_EnumJobs_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumJobs_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumJobs_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumJobs_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumJobs_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumJobs_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_spoolss_EnumJobs(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t firstjob /* [in] */, - uint32_t numjobs /* [in] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_JobInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumJobs r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.firstjob = firstjob; - r.in.numjobs = numjobs; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMJOBS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPrinter_state { - struct spoolss_AddPrinter orig; - struct spoolss_AddPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *_info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *_secdesc_ctr /* [in] [ref] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.devmode_ctr = _devmode_ctr; - state->orig.in.secdesc_ctr = _secdesc_ctr; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_AddPrinter_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_spoolss, - NDR_SPOOLSS_ADDPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrinter_done, req); - return req; -} - -static void rpccli_spoolss_AddPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinter_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_AddPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinter_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_spoolss_AddPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *secdesc_ctr /* [in] [ref] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_AddPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.info_ctr = info_ctr; - r.in.devmode_ctr = devmode_ctr; - r.in.secdesc_ctr = secdesc_ctr; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_DeletePrinter_state { - struct spoolss_DeletePrinter orig; - struct spoolss_DeletePrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinter_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinter_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_spoolss_DeletePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinter_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_spoolss_DeletePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_DeletePrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTER, - &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_spoolss_SetPrinter_state { - struct spoolss_SetPrinter orig; - struct spoolss_SetPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_SetPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_SetPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct spoolss_SetPrinterInfoCtr *_info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *_secdesc_ctr /* [in] [ref] */, - enum spoolss_PrinterControl _command /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_SetPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_SetPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.devmode_ctr = _devmode_ctr; - state->orig.in.secdesc_ctr = _secdesc_ctr; - state->orig.in.command = _command; - - /* 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_spoolss, - NDR_SPOOLSS_SETPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_SetPrinter_done, req); - return req; -} - -static void rpccli_spoolss_SetPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_SetPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetPrinter_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_spoolss_SetPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_SetPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetPrinter_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_spoolss_SetPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *secdesc_ctr /* [in] [ref] */, - enum spoolss_PrinterControl command /* [in] */, - WERROR *werror) -{ - struct spoolss_SetPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.info_ctr = info_ctr; - r.in.devmode_ctr = devmode_ctr; - r.in.secdesc_ctr = secdesc_ctr; - r.in.command = command; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SETPRINTER, - &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_spoolss_GetPrinter_state { - struct spoolss_GetPrinter orig; - struct spoolss_GetPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_PrinterInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinter_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_spoolss, - NDR_SPOOLSS_GETPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinter_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinter_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinter_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_spoolss_GetPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPrinterDriver_state { - struct spoolss_AddPrinterDriver orig; - struct spoolss_AddPrinterDriver tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrinterDriver_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrinterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *_info_ctr /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrinterDriver_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrinterDriver_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.info_ctr = _info_ctr; - - /* 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_spoolss, - NDR_SPOOLSS_ADDPRINTERDRIVER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrinterDriver_done, req); - return req; -} - -static void rpccli_spoolss_AddPrinterDriver_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrinterDriver_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterDriver_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_spoolss_AddPrinterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrinterDriver_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterDriver_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_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *info_ctr /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_AddPrinterDriver r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.info_ctr = info_ctr; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTERDRIVER, - &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_spoolss_EnumPrinterDrivers_state { - struct spoolss_EnumPrinterDrivers orig; - struct spoolss_EnumPrinterDrivers tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrinterDrivers_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrinterDrivers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_DriverInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrinterDrivers_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrinterDrivers_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.environment = _environment; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrinterDrivers_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_spoolss, - NDR_SPOOLSS_ENUMPRINTERDRIVERS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrinterDrivers_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrinterDrivers_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrinterDrivers_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterDrivers_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrinterDrivers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrinterDrivers_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterDrivers_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_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_DriverInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrinterDrivers r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.environment = environment; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTERDRIVERS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_GetPrinterDriver_state { - struct spoolss_GetPrinterDriver orig; - struct spoolss_GetPrinterDriver tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinterDriver_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_architecture /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_DriverInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinterDriver_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinterDriver_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.architecture = _architecture; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinterDriver_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_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinterDriver_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinterDriver_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinterDriver_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriver_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinterDriver_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriver_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_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *architecture /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_DriverInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinterDriver r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.architecture = architecture; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_GetPrinterDriverDirectory_state { - struct spoolss_GetPrinterDriverDirectory orig; - struct spoolss_GetPrinterDriverDirectory tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinterDriverDirectory_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinterDriverDirectory_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_DriverDirectoryInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinterDriverDirectory_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinterDriverDirectory_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.environment = _environment; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinterDriverDirectory_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_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinterDriverDirectory_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinterDriverDirectory_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinterDriverDirectory_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriverDirectory_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinterDriverDirectory_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriverDirectory_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_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinterDriverDirectory r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.environment = environment; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_DeletePrinterDriver_state { - struct spoolss_DeletePrinterDriver orig; - struct spoolss_DeletePrinterDriver tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterDriver_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [charset(UTF16)] */, - const char *_driver /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterDriver_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterDriver_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.architecture = _architecture; - state->orig.in.driver = _driver; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEPRINTERDRIVER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterDriver_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterDriver_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterDriver_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterDriver_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_spoolss_DeletePrinterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterDriver_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterDriver_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_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [charset(UTF16)] */, - const char *driver /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_DeletePrinterDriver r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.architecture = architecture; - r.in.driver = driver; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERDRIVER, - &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_spoolss_AddPrintProcessor_state { - struct spoolss_AddPrintProcessor orig; - struct spoolss_AddPrintProcessor tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrintProcessor_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrintProcessor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [charset(UTF16)] */, - const char *_path_name /* [in] [charset(UTF16)] */, - const char *_print_processor_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrintProcessor_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrintProcessor_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.architecture = _architecture; - state->orig.in.path_name = _path_name; - state->orig.in.print_processor_name = _print_processor_name; - - /* 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_spoolss, - NDR_SPOOLSS_ADDPRINTPROCESSOR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrintProcessor_done, req); - return req; -} - -static void rpccli_spoolss_AddPrintProcessor_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrintProcessor_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrintProcessor_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_spoolss_AddPrintProcessor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrintProcessor_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrintProcessor_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_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [charset(UTF16)] */, - const char *path_name /* [in] [charset(UTF16)] */, - const char *print_processor_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_AddPrintProcessor r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.architecture = architecture; - r.in.path_name = path_name; - r.in.print_processor_name = print_processor_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTPROCESSOR, - &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_spoolss_EnumPrintProcessors_state { - struct spoolss_EnumPrintProcessors orig; - struct spoolss_EnumPrintProcessors tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrintProcessors_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrintProcessors_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PrintProcessorInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrintProcessors_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrintProcessors_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.environment = _environment; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrintProcessors_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_spoolss, - NDR_SPOOLSS_ENUMPRINTPROCESSORS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrintProcessors_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrintProcessors_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrintProcessors_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrintProcessors_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrintProcessors_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrintProcessors_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrintProcessors_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_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PrintProcessorInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrintProcessors r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.environment = environment; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTPROCESSORS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_GetPrintProcessorDirectory_state { - struct spoolss_GetPrintProcessorDirectory orig; - struct spoolss_GetPrintProcessorDirectory tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrintProcessorDirectory_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrintProcessorDirectory_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_PrintProcessorDirectoryInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrintProcessorDirectory_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrintProcessorDirectory_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.environment = _environment; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrintProcessorDirectory_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_spoolss, - NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrintProcessorDirectory_done, req); - return req; -} - -static void rpccli_spoolss_GetPrintProcessorDirectory_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrintProcessorDirectory_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrintProcessorDirectory_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrintProcessorDirectory_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrintProcessorDirectory_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_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_PrintProcessorDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrintProcessorDirectory r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.environment = environment; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_StartDocPrinter_state { - struct spoolss_StartDocPrinter orig; - struct spoolss_StartDocPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_StartDocPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_StartDocPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union spoolss_DocumentInfo _info /* [in] [switch_is(level)] */, - uint32_t *_job_id /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_StartDocPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_StartDocPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* Out parameters */ - state->orig.out.job_id = _job_id; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_StartDocPrinter_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_spoolss, - NDR_SPOOLSS_STARTDOCPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_StartDocPrinter_done, req); - return req; -} - -static void rpccli_spoolss_StartDocPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_StartDocPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_StartDocPrinter_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.job_id = *state->tmp.out.job_id; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_StartDocPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_StartDocPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_StartDocPrinter_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_spoolss_StartDocPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - union spoolss_DocumentInfo info /* [in] [switch_is(level)] */, - uint32_t *job_id /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_StartDocPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_STARTDOCPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *job_id = *r.out.job_id; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_StartPagePrinter_state { - struct spoolss_StartPagePrinter orig; - struct spoolss_StartPagePrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_StartPagePrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_StartPagePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_StartPagePrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_StartPagePrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_spoolss, - NDR_SPOOLSS_STARTPAGEPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_StartPagePrinter_done, req); - return req; -} - -static void rpccli_spoolss_StartPagePrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_StartPagePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_StartPagePrinter_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_spoolss_StartPagePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_StartPagePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_StartPagePrinter_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_spoolss_StartPagePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_StartPagePrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_STARTPAGEPRINTER, - &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_spoolss_WritePrinter_state { - struct spoolss_WritePrinter orig; - struct spoolss_WritePrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_WritePrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_WritePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - DATA_BLOB _data /* [in] */, - uint32_t __data_size /* [in] [value(r->in.data.length)] */, - uint32_t *_num_written /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_WritePrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_WritePrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.data = _data; - state->orig.in._data_size = __data_size; - - /* Out parameters */ - state->orig.out.num_written = _num_written; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_WritePrinter_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_spoolss, - NDR_SPOOLSS_WRITEPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_WritePrinter_done, req); - return req; -} - -static void rpccli_spoolss_WritePrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_WritePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_WritePrinter_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.num_written = *state->tmp.out.num_written; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_WritePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_WritePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_WritePrinter_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_spoolss_WritePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - DATA_BLOB data /* [in] */, - uint32_t _data_size /* [in] [value(r->in.data.length)] */, - uint32_t *num_written /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_WritePrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.data = data; - r.in._data_size = _data_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_WRITEPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *num_written = *r.out.num_written; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EndPagePrinter_state { - struct spoolss_EndPagePrinter orig; - struct spoolss_EndPagePrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EndPagePrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EndPagePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EndPagePrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EndPagePrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_spoolss, - NDR_SPOOLSS_ENDPAGEPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EndPagePrinter_done, req); - return req; -} - -static void rpccli_spoolss_EndPagePrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EndPagePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_EndPagePrinter_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_spoolss_EndPagePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EndPagePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_EndPagePrinter_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_spoolss_EndPagePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_EndPagePrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENDPAGEPRINTER, - &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_spoolss_AbortPrinter_state { - struct spoolss_AbortPrinter orig; - struct spoolss_AbortPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AbortPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AbortPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AbortPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AbortPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_spoolss, - NDR_SPOOLSS_ABORTPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AbortPrinter_done, req); - return req; -} - -static void rpccli_spoolss_AbortPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AbortPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_AbortPrinter_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_spoolss_AbortPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AbortPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_AbortPrinter_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_spoolss_AbortPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_AbortPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ABORTPRINTER, - &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_spoolss_ReadPrinter_state { - struct spoolss_ReadPrinter orig; - struct spoolss_ReadPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ReadPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ReadPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t *_data /* [out] [ref,size_is(data_size)] */, - uint32_t _data_size /* [in] */, - uint32_t *__data_size /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_ReadPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ReadPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.data_size = _data_size; - - /* Out parameters */ - state->orig.out.data = _data; - state->orig.out._data_size = __data_size; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_ReadPrinter_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_spoolss, - NDR_SPOOLSS_READPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ReadPrinter_done, req); - return req; -} - -static void rpccli_spoolss_ReadPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ReadPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ReadPrinter_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.data_size) * sizeof(*state->orig.out.data)); - *state->orig.out._data_size = *state->tmp.out._data_size; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_ReadPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ReadPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ReadPrinter_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_spoolss_ReadPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t *data /* [out] [ref,size_is(data_size)] */, - uint32_t data_size /* [in] */, - uint32_t *_data_size /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_ReadPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.data_size = data_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_READPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(data, r.out.data, (r.in.data_size) * sizeof(*data)); - *_data_size = *r.out._data_size; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EndDocPrinter_state { - struct spoolss_EndDocPrinter orig; - struct spoolss_EndDocPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EndDocPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EndDocPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EndDocPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EndDocPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_spoolss, - NDR_SPOOLSS_ENDDOCPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EndDocPrinter_done, req); - return req; -} - -static void rpccli_spoolss_EndDocPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EndDocPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_EndDocPrinter_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_spoolss_EndDocPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EndDocPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_EndDocPrinter_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_spoolss_EndDocPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_EndDocPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENDDOCPRINTER, - &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_spoolss_AddJob_state { - struct spoolss_AddJob orig; - struct spoolss_AddJob tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddJob_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - uint8_t *_buffer /* [in,out] [unique,size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddJob_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddJob_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_AddJob_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_spoolss, - NDR_SPOOLSS_ADDJOB, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddJob_done, req); - return req; -} - -static void rpccli_spoolss_AddJob_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddJob_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.buffer && state->tmp.out.buffer) { - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.offered) * sizeof(*state->orig.out.buffer)); - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_AddJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddJob_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_spoolss_AddJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - uint8_t *buffer /* [in,out] [unique,size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_AddJob r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDJOB, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (buffer && r.out.buffer) { - memcpy(buffer, r.out.buffer, (r.in.offered) * sizeof(*buffer)); - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_ScheduleJob_state { - struct spoolss_ScheduleJob orig; - struct spoolss_ScheduleJob tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ScheduleJob_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ScheduleJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _jobid /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_ScheduleJob_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ScheduleJob_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.jobid = _jobid; - - /* 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_spoolss, - NDR_SPOOLSS_SCHEDULEJOB, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ScheduleJob_done, req); - return req; -} - -static void rpccli_spoolss_ScheduleJob_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ScheduleJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_ScheduleJob_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_spoolss_ScheduleJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ScheduleJob_state *state = tevent_req_data( - req, struct rpccli_spoolss_ScheduleJob_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_spoolss_ScheduleJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t jobid /* [in] */, - WERROR *werror) -{ - struct spoolss_ScheduleJob r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.jobid = jobid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SCHEDULEJOB, - &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_spoolss_GetPrinterData_state { - struct spoolss_GetPrinterData orig; - struct spoolss_GetPrinterData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinterData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *_type /* [out] [ref] */, - uint8_t *_data /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinterData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinterData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.value_name = _value_name; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.type = _type; - state->orig.out.data = _data; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinterData_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_spoolss, - NDR_SPOOLSS_GETPRINTERDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinterData_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinterData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterData_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.type = *state->tmp.out.type; - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.offered) * sizeof(*state->orig.out.data)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterData_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_spoolss_GetPrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *type /* [out] [ref] */, - uint8_t *data /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinterData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.value_name = value_name; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTERDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *type = *r.out.type; - memcpy(data, r.out.data, (r.in.offered) * sizeof(*data)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_SetPrinterData_state { - struct spoolss_SetPrinterData orig; - struct spoolss_SetPrinterData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_SetPrinterData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_SetPrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type _type /* [in] */, - uint8_t *_data /* [in] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_SetPrinterData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_SetPrinterData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.value_name = _value_name; - state->orig.in.type = _type; - state->orig.in.data = _data; - state->orig.in.offered = _offered; - - /* 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_spoolss, - NDR_SPOOLSS_SETPRINTERDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_SetPrinterData_done, req); - return req; -} - -static void rpccli_spoolss_SetPrinterData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_SetPrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetPrinterData_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_spoolss_SetPrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_SetPrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetPrinterData_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_spoolss_SetPrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type type /* [in] */, - uint8_t *data /* [in] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - WERROR *werror) -{ - struct spoolss_SetPrinterData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.value_name = value_name; - r.in.type = type; - r.in.data = data; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SETPRINTERDATA, - &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_spoolss_WaitForPrinterChange_state { - struct spoolss_WaitForPrinterChange orig; - struct spoolss_WaitForPrinterChange tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_WaitForPrinterChange_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_WaitForPrinterChange_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_WaitForPrinterChange_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_WaitForPrinterChange_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_spoolss, - NDR_SPOOLSS_WAITFORPRINTERCHANGE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_WaitForPrinterChange_done, req); - return req; -} - -static void rpccli_spoolss_WaitForPrinterChange_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_WaitForPrinterChange_state *state = tevent_req_data( - req, struct rpccli_spoolss_WaitForPrinterChange_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_spoolss_WaitForPrinterChange_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_WaitForPrinterChange_state *state = tevent_req_data( - req, struct rpccli_spoolss_WaitForPrinterChange_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_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_WaitForPrinterChange r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_WAITFORPRINTERCHANGE, - &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_spoolss_ClosePrinter_state { - struct spoolss_ClosePrinter orig; - struct spoolss_ClosePrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ClosePrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ClosePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_ClosePrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ClosePrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_ClosePrinter_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_spoolss, - NDR_SPOOLSS_CLOSEPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ClosePrinter_done, req); - return req; -} - -static void rpccli_spoolss_ClosePrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ClosePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ClosePrinter_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_ClosePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ClosePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ClosePrinter_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_spoolss_ClosePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror) -{ - struct spoolss_ClosePrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_CLOSEPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddForm_state { - struct spoolss_AddForm orig; - struct spoolss_AddForm tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddForm_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union spoolss_AddFormInfo _info /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddForm_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddForm_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_spoolss, - NDR_SPOOLSS_ADDFORM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddForm_done, req); - return req; -} - -static void rpccli_spoolss_AddForm_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddForm_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_spoolss_AddForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddForm_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_spoolss_AddForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - union spoolss_AddFormInfo info /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct spoolss_AddForm r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDFORM, - &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_spoolss_DeleteForm_state { - struct spoolss_DeleteForm orig; - struct spoolss_DeleteForm tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeleteForm_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeleteForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_form_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeleteForm_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeleteForm_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.form_name = _form_name; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEFORM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeleteForm_done, req); - return req; -} - -static void rpccli_spoolss_DeleteForm_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeleteForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeleteForm_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_spoolss_DeleteForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeleteForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeleteForm_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_spoolss_DeleteForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *form_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_DeleteForm r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.form_name = form_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEFORM, - &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_spoolss_GetForm_state { - struct spoolss_GetForm orig; - struct spoolss_GetForm tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetForm_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_form_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_FormInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetForm_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetForm_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.form_name = _form_name; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetForm_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_spoolss, - NDR_SPOOLSS_GETFORM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetForm_done, req); - return req; -} - -static void rpccli_spoolss_GetForm_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetForm_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetForm_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_spoolss_GetForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *form_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetForm r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.form_name = form_name; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETFORM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_SetForm_state { - struct spoolss_SetForm orig; - struct spoolss_SetForm tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_SetForm_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_SetForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_form_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union spoolss_AddFormInfo _info /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_SetForm_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_SetForm_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.form_name = _form_name; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* 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_spoolss, - NDR_SPOOLSS_SETFORM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_SetForm_done, req); - return req; -} - -static void rpccli_spoolss_SetForm_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_SetForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetForm_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_spoolss_SetForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_SetForm_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetForm_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_spoolss_SetForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *form_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union spoolss_AddFormInfo info /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct spoolss_SetForm r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.form_name = form_name; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SETFORM, - &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_spoolss_EnumForms_state { - struct spoolss_EnumForms orig; - struct spoolss_EnumForms tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumForms_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumForms_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_FormInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumForms_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumForms_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumForms_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_spoolss, - NDR_SPOOLSS_ENUMFORMS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumForms_done, req); - return req; -} - -static void rpccli_spoolss_EnumForms_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumForms_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumForms_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumForms_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumForms_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumForms_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_spoolss_EnumForms(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_FormInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumForms r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMFORMS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EnumPorts_state { - struct spoolss_EnumPorts orig; - struct spoolss_EnumPorts tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPorts_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPorts_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PortInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPorts_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPorts_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPorts_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_spoolss, - NDR_SPOOLSS_ENUMPORTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPorts_done, req); - return req; -} - -static void rpccli_spoolss_EnumPorts_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPorts_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPorts_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPorts_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPorts_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPorts_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_spoolss_EnumPorts(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PortInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPorts r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPORTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EnumMonitors_state { - struct spoolss_EnumMonitors orig; - struct spoolss_EnumMonitors tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumMonitors_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumMonitors_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_MonitorInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumMonitors_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumMonitors_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumMonitors_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_spoolss, - NDR_SPOOLSS_ENUMMONITORS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumMonitors_done, req); - return req; -} - -static void rpccli_spoolss_EnumMonitors_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumMonitors_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumMonitors_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumMonitors_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumMonitors_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumMonitors_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_spoolss_EnumMonitors(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_MonitorInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumMonitors r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMMONITORS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPort_state { - struct spoolss_AddPort orig; - struct spoolss_AddPort tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPort_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown /* [in] */, - const char *_monitor_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPort_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPort_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.unknown = _unknown; - state->orig.in.monitor_name = _monitor_name; - - /* 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_spoolss, - NDR_SPOOLSS_ADDPORT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPort_done, req); - return req; -} - -static void rpccli_spoolss_AddPort_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPort_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPort_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_spoolss_AddPort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPort_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPort_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_spoolss_AddPort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t unknown /* [in] */, - const char *monitor_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_AddPort r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.unknown = unknown; - r.in.monitor_name = monitor_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPORT, - &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_spoolss_ConfigurePort_state { - struct spoolss_ConfigurePort orig; - struct spoolss_ConfigurePort tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ConfigurePort_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ConfigurePort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_ConfigurePort_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ConfigurePort_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_spoolss, - NDR_SPOOLSS_CONFIGUREPORT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ConfigurePort_done, req); - return req; -} - -static void rpccli_spoolss_ConfigurePort_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ConfigurePort_state *state = tevent_req_data( - req, struct rpccli_spoolss_ConfigurePort_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_spoolss_ConfigurePort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ConfigurePort_state *state = tevent_req_data( - req, struct rpccli_spoolss_ConfigurePort_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_spoolss_ConfigurePort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_ConfigurePort r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_CONFIGUREPORT, - &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_spoolss_DeletePort_state { - struct spoolss_DeletePort orig; - struct spoolss_DeletePort tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePort_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePort_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePort_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_spoolss, - NDR_SPOOLSS_DELETEPORT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePort_done, req); - return req; -} - -static void rpccli_spoolss_DeletePort_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePort_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePort_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_spoolss_DeletePort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePort_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePort_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_spoolss_DeletePort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_DeletePort r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPORT, - &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_spoolss_CreatePrinterIC_state { - struct spoolss_CreatePrinterIC orig; - struct spoolss_CreatePrinterIC tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_CreatePrinterIC_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_CreatePrinterIC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct policy_handle *_gdi_handle /* [out] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_CreatePrinterIC_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_CreatePrinterIC_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.devmode_ctr = _devmode_ctr; - - /* Out parameters */ - state->orig.out.gdi_handle = _gdi_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_CreatePrinterIC_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_spoolss, - NDR_SPOOLSS_CREATEPRINTERIC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_CreatePrinterIC_done, req); - return req; -} - -static void rpccli_spoolss_CreatePrinterIC_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_CreatePrinterIC_state *state = tevent_req_data( - req, struct rpccli_spoolss_CreatePrinterIC_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.gdi_handle = *state->tmp.out.gdi_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_CreatePrinterIC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_CreatePrinterIC_state *state = tevent_req_data( - req, struct rpccli_spoolss_CreatePrinterIC_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_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct policy_handle *gdi_handle /* [out] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_CreatePrinterIC r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.devmode_ctr = devmode_ctr; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_CREATEPRINTERIC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *gdi_handle = *r.out.gdi_handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_state { - struct spoolss_PlayGDIScriptOnPrinterIC orig; - struct spoolss_PlayGDIScriptOnPrinterIC tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_PlayGDIScriptOnPrinterIC_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_PlayGDIScriptOnPrinterIC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_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_spoolss, - NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_PlayGDIScriptOnPrinterIC_done, req); - return req; -} - -static void rpccli_spoolss_PlayGDIScriptOnPrinterIC_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_state *state = tevent_req_data( - req, struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_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_spoolss_PlayGDIScriptOnPrinterIC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_state *state = tevent_req_data( - req, struct rpccli_spoolss_PlayGDIScriptOnPrinterIC_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_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_PlayGDIScriptOnPrinterIC r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC, - &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_spoolss_DeletePrinterIC_state { - struct spoolss_DeletePrinterIC orig; - struct spoolss_DeletePrinterIC tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterIC_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterIC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_gdi_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterIC_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterIC_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.gdi_handle = _gdi_handle; - - /* Out parameters */ - state->orig.out.gdi_handle = _gdi_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_DeletePrinterIC_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_spoolss, - NDR_SPOOLSS_DELETEPRINTERIC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterIC_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterIC_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterIC_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterIC_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.gdi_handle = *state->tmp.out.gdi_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_DeletePrinterIC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterIC_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterIC_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_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *gdi_handle /* [in,out] [ref] */, - WERROR *werror) -{ - struct spoolss_DeletePrinterIC r; - NTSTATUS status; - - /* In parameters */ - r.in.gdi_handle = gdi_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERIC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *gdi_handle = *r.out.gdi_handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPrinterConnection_state { - struct spoolss_AddPrinterConnection orig; - struct spoolss_AddPrinterConnection tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrinterConnection_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrinterConnection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrinterConnection_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrinterConnection_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_spoolss, - NDR_SPOOLSS_ADDPRINTERCONNECTION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrinterConnection_done, req); - return req; -} - -static void rpccli_spoolss_AddPrinterConnection_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrinterConnection_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterConnection_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_spoolss_AddPrinterConnection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrinterConnection_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterConnection_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_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_AddPrinterConnection r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTERCONNECTION, - &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_spoolss_DeletePrinterConnection_state { - struct spoolss_DeletePrinterConnection orig; - struct spoolss_DeletePrinterConnection tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterConnection_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterConnection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterConnection_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterConnection_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_spoolss, - NDR_SPOOLSS_DELETEPRINTERCONNECTION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterConnection_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterConnection_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterConnection_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterConnection_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_spoolss_DeletePrinterConnection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterConnection_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterConnection_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_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_DeletePrinterConnection r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERCONNECTION, - &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_spoolss_PrinterMessageBox_state { - struct spoolss_PrinterMessageBox orig; - struct spoolss_PrinterMessageBox tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_PrinterMessageBox_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_PrinterMessageBox_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_PrinterMessageBox_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_PrinterMessageBox_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_spoolss, - NDR_SPOOLSS_PRINTERMESSAGEBOX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_PrinterMessageBox_done, req); - return req; -} - -static void rpccli_spoolss_PrinterMessageBox_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_PrinterMessageBox_state *state = tevent_req_data( - req, struct rpccli_spoolss_PrinterMessageBox_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_spoolss_PrinterMessageBox_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_PrinterMessageBox_state *state = tevent_req_data( - req, struct rpccli_spoolss_PrinterMessageBox_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_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_PrinterMessageBox r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_PRINTERMESSAGEBOX, - &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_spoolss_AddMonitor_state { - struct spoolss_AddMonitor orig; - struct spoolss_AddMonitor tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddMonitor_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddMonitor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddMonitor_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddMonitor_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_spoolss, - NDR_SPOOLSS_ADDMONITOR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddMonitor_done, req); - return req; -} - -static void rpccli_spoolss_AddMonitor_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddMonitor_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddMonitor_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_spoolss_AddMonitor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddMonitor_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddMonitor_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_spoolss_AddMonitor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_AddMonitor r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDMONITOR, - &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_spoolss_DeleteMonitor_state { - struct spoolss_DeleteMonitor orig; - struct spoolss_DeleteMonitor tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeleteMonitor_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeleteMonitor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeleteMonitor_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeleteMonitor_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_spoolss, - NDR_SPOOLSS_DELETEMONITOR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeleteMonitor_done, req); - return req; -} - -static void rpccli_spoolss_DeleteMonitor_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeleteMonitor_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeleteMonitor_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_spoolss_DeleteMonitor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeleteMonitor_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeleteMonitor_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_spoolss_DeleteMonitor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_DeleteMonitor r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEMONITOR, - &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_spoolss_DeletePrintProcessor_state { - struct spoolss_DeletePrintProcessor orig; - struct spoolss_DeletePrintProcessor tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrintProcessor_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrintProcessor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrintProcessor_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrintProcessor_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_spoolss, - NDR_SPOOLSS_DELETEPRINTPROCESSOR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrintProcessor_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrintProcessor_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrintProcessor_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrintProcessor_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_spoolss_DeletePrintProcessor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrintProcessor_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrintProcessor_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_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_DeletePrintProcessor r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTPROCESSOR, - &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_spoolss_AddPrintProvidor_state { - struct spoolss_AddPrintProvidor orig; - struct spoolss_AddPrintProvidor tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrintProvidor_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrintProvidor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrintProvidor_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrintProvidor_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_spoolss, - NDR_SPOOLSS_ADDPRINTPROVIDOR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrintProvidor_done, req); - return req; -} - -static void rpccli_spoolss_AddPrintProvidor_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrintProvidor_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrintProvidor_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_spoolss_AddPrintProvidor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrintProvidor_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrintProvidor_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_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_AddPrintProvidor r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTPROVIDOR, - &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_spoolss_DeletePrintProvidor_state { - struct spoolss_DeletePrintProvidor orig; - struct spoolss_DeletePrintProvidor tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrintProvidor_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrintProvidor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrintProvidor_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrintProvidor_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_spoolss, - NDR_SPOOLSS_DELETEPRINTPROVIDOR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrintProvidor_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrintProvidor_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrintProvidor_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrintProvidor_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_spoolss_DeletePrintProvidor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrintProvidor_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrintProvidor_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_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_DeletePrintProvidor r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTPROVIDOR, - &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_spoolss_EnumPrintProcDataTypes_state { - struct spoolss_EnumPrintProcDataTypes orig; - struct spoolss_EnumPrintProcDataTypes tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrintProcDataTypes_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrintProcDataTypes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_print_processor_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PrintProcDataTypesInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrintProcDataTypes_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrintProcDataTypes_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.print_processor_name = _print_processor_name; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrintProcDataTypes_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_spoolss, - NDR_SPOOLSS_ENUMPRINTPROCDATATYPES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrintProcDataTypes_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrintProcDataTypes_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrintProcDataTypes_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrintProcDataTypes_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrintProcDataTypes_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrintProcDataTypes_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_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *print_processor_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PrintProcDataTypesInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrintProcDataTypes r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.print_processor_name = print_processor_name; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTPROCDATATYPES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_ResetPrinter_state { - struct spoolss_ResetPrinter orig; - struct spoolss_ResetPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ResetPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ResetPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_data_type /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_ResetPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ResetPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.data_type = _data_type; - state->orig.in.devmode_ctr = _devmode_ctr; - - /* 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_spoolss, - NDR_SPOOLSS_RESETPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ResetPrinter_done, req); - return req; -} - -static void rpccli_spoolss_ResetPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ResetPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ResetPrinter_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_spoolss_ResetPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ResetPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ResetPrinter_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_spoolss_ResetPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *data_type /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_ResetPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.data_type = data_type; - r.in.devmode_ctr = devmode_ctr; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_RESETPRINTER, - &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_spoolss_GetPrinterDriver2_state { - struct spoolss_GetPrinterDriver2 orig; - struct spoolss_GetPrinterDriver2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinterDriver2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinterDriver2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_architecture /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t _client_major_version /* [in] */, - uint32_t _client_minor_version /* [in] */, - union spoolss_DriverInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_server_major_version /* [out] [ref] */, - uint32_t *_server_minor_version /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinterDriver2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinterDriver2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.architecture = _architecture; - state->orig.in.level = _level; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - state->orig.in.client_major_version = _client_major_version; - state->orig.in.client_minor_version = _client_minor_version; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.needed = _needed; - state->orig.out.server_major_version = _server_major_version; - state->orig.out.server_minor_version = _server_minor_version; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinterDriver2_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_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVER2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinterDriver2_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinterDriver2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinterDriver2_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriver2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.info && state->tmp.out.info) { - *state->orig.out.info = *state->tmp.out.info; - } - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.server_major_version = *state->tmp.out.server_major_version; - *state->orig.out.server_minor_version = *state->tmp.out.server_minor_version; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinterDriver2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinterDriver2_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriver2_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_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *architecture /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t client_major_version /* [in] */, - uint32_t client_minor_version /* [in] */, - union spoolss_DriverInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *server_major_version /* [out] [ref] */, - uint32_t *server_minor_version /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinterDriver2 r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.architecture = architecture; - r.in.level = level; - r.in.buffer = buffer; - r.in.offered = offered; - r.in.client_major_version = client_major_version; - r.in.client_minor_version = client_minor_version; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVER2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (info && r.out.info) { - *info = *r.out.info; - } - *needed = *r.out.needed; - *server_major_version = *r.out.server_major_version; - *server_minor_version = *r.out.server_minor_version; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_FindFirstPrinterChangeNotification_state { - struct spoolss_FindFirstPrinterChangeNotification orig; - struct spoolss_FindFirstPrinterChangeNotification tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_FindFirstPrinterChangeNotification_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_FindFirstPrinterChangeNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_FindFirstPrinterChangeNotification_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_FindFirstPrinterChangeNotification_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_spoolss, - NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_FindFirstPrinterChangeNotification_done, req); - return req; -} - -static void rpccli_spoolss_FindFirstPrinterChangeNotification_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_FindFirstPrinterChangeNotification_state *state = tevent_req_data( - req, struct rpccli_spoolss_FindFirstPrinterChangeNotification_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_spoolss_FindFirstPrinterChangeNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_FindFirstPrinterChangeNotification_state *state = tevent_req_data( - req, struct rpccli_spoolss_FindFirstPrinterChangeNotification_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_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_FindFirstPrinterChangeNotification r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION, - &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_spoolss_FindNextPrinterChangeNotification_state { - struct spoolss_FindNextPrinterChangeNotification orig; - struct spoolss_FindNextPrinterChangeNotification tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_FindNextPrinterChangeNotification_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_FindNextPrinterChangeNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_FindNextPrinterChangeNotification_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_FindNextPrinterChangeNotification_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_spoolss, - NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_FindNextPrinterChangeNotification_done, req); - return req; -} - -static void rpccli_spoolss_FindNextPrinterChangeNotification_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_FindNextPrinterChangeNotification_state *state = tevent_req_data( - req, struct rpccli_spoolss_FindNextPrinterChangeNotification_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_spoolss_FindNextPrinterChangeNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_FindNextPrinterChangeNotification_state *state = tevent_req_data( - req, struct rpccli_spoolss_FindNextPrinterChangeNotification_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_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_FindNextPrinterChangeNotification r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION, - &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_spoolss_FindClosePrinterNotify_state { - struct spoolss_FindClosePrinterNotify orig; - struct spoolss_FindClosePrinterNotify tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_FindClosePrinterNotify_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_FindClosePrinterNotify_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_FindClosePrinterNotify_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_FindClosePrinterNotify_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_spoolss, - NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_FindClosePrinterNotify_done, req); - return req; -} - -static void rpccli_spoolss_FindClosePrinterNotify_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_FindClosePrinterNotify_state *state = tevent_req_data( - req, struct rpccli_spoolss_FindClosePrinterNotify_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_spoolss_FindClosePrinterNotify_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_FindClosePrinterNotify_state *state = tevent_req_data( - req, struct rpccli_spoolss_FindClosePrinterNotify_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_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct spoolss_FindClosePrinterNotify r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY, - &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_spoolss_RouterFindFirstPrinterChangeNotificationOld_state { - struct spoolss_RouterFindFirstPrinterChangeNotificationOld orig; - struct spoolss_RouterFindFirstPrinterChangeNotificationOld tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_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_spoolss, - NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_done, req); - return req; -} - -static void rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_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_spoolss_RouterFindFirstPrinterChangeNotificationOld_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_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_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_RouterFindFirstPrinterChangeNotificationOld r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD, - &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_spoolss_ReplyOpenPrinter_state { - struct spoolss_ReplyOpenPrinter orig; - struct spoolss_ReplyOpenPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ReplyOpenPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ReplyOpenPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [charset(UTF16)] */, - uint32_t _printer_local /* [in] */, - enum winreg_Type _type /* [in] */, - uint32_t _bufsize /* [in] [range(0,512)] */, - uint8_t *_buffer /* [in] [unique,size_is(bufsize)] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_ReplyOpenPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ReplyOpenPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.printer_local = _printer_local; - state->orig.in.type = _type; - state->orig.in.bufsize = _bufsize; - state->orig.in.buffer = _buffer; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_ReplyOpenPrinter_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_spoolss, - NDR_SPOOLSS_REPLYOPENPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ReplyOpenPrinter_done, req); - return req; -} - -static void rpccli_spoolss_ReplyOpenPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ReplyOpenPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ReplyOpenPrinter_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_ReplyOpenPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ReplyOpenPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ReplyOpenPrinter_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_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [charset(UTF16)] */, - uint32_t printer_local /* [in] */, - enum winreg_Type type /* [in] */, - uint32_t bufsize /* [in] [range(0,512)] */, - uint8_t *buffer /* [in] [unique,size_is(bufsize)] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_ReplyOpenPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.printer_local = printer_local; - r.in.type = type; - r.in.bufsize = bufsize; - r.in.buffer = buffer; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_REPLYOPENPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_RouterReplyPrinter_state { - struct spoolss_RouterReplyPrinter orig; - struct spoolss_RouterReplyPrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_RouterReplyPrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_RouterReplyPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _flags /* [in] */, - uint32_t _bufsize /* [in] [range(0,512)] */, - uint8_t *_buffer /* [in] [unique,size_is(bufsize)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_RouterReplyPrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_RouterReplyPrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.flags = _flags; - state->orig.in.bufsize = _bufsize; - state->orig.in.buffer = _buffer; - - /* 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_spoolss, - NDR_SPOOLSS_ROUTERREPLYPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_RouterReplyPrinter_done, req); - return req; -} - -static void rpccli_spoolss_RouterReplyPrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_RouterReplyPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterReplyPrinter_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_spoolss_RouterReplyPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_RouterReplyPrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterReplyPrinter_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_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t flags /* [in] */, - uint32_t bufsize /* [in] [range(0,512)] */, - uint8_t *buffer /* [in] [unique,size_is(bufsize)] */, - WERROR *werror) -{ - struct spoolss_RouterReplyPrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.flags = flags; - r.in.bufsize = bufsize; - r.in.buffer = buffer; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ROUTERREPLYPRINTER, - &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_spoolss_ReplyClosePrinter_state { - struct spoolss_ReplyClosePrinter orig; - struct spoolss_ReplyClosePrinter tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ReplyClosePrinter_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ReplyClosePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_ReplyClosePrinter_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ReplyClosePrinter_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_ReplyClosePrinter_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_spoolss, - NDR_SPOOLSS_REPLYCLOSEPRINTER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ReplyClosePrinter_done, req); - return req; -} - -static void rpccli_spoolss_ReplyClosePrinter_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ReplyClosePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ReplyClosePrinter_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_ReplyClosePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ReplyClosePrinter_state *state = tevent_req_data( - req, struct rpccli_spoolss_ReplyClosePrinter_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_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror) -{ - struct spoolss_ReplyClosePrinter r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_REPLYCLOSEPRINTER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPortEx_state { - struct spoolss_AddPortEx orig; - struct spoolss_AddPortEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPortEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPortEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPortEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPortEx_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_spoolss, - NDR_SPOOLSS_ADDPORTEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPortEx_done, req); - return req; -} - -static void rpccli_spoolss_AddPortEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPortEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPortEx_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_spoolss_AddPortEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPortEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPortEx_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_spoolss_AddPortEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_AddPortEx r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPORTEX, - &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_spoolss_RouterFindFirstPrinterChangeNotification_state { - struct spoolss_RouterFindFirstPrinterChangeNotification orig; - struct spoolss_RouterFindFirstPrinterChangeNotification tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_RouterFindFirstPrinterChangeNotification_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_RouterFindFirstPrinterChangeNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotification_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotification_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_spoolss, - NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_RouterFindFirstPrinterChangeNotification_done, req); - return req; -} - -static void rpccli_spoolss_RouterFindFirstPrinterChangeNotification_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotification_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterFindFirstPrinterChangeNotification_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_spoolss_RouterFindFirstPrinterChangeNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_RouterFindFirstPrinterChangeNotification_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterFindFirstPrinterChangeNotification_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_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_RouterFindFirstPrinterChangeNotification r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION, - &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_spoolss_SpoolerInit_state { - struct spoolss_SpoolerInit orig; - struct spoolss_SpoolerInit tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_SpoolerInit_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_SpoolerInit_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_SpoolerInit_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_SpoolerInit_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_spoolss, - NDR_SPOOLSS_SPOOLERINIT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_SpoolerInit_done, req); - return req; -} - -static void rpccli_spoolss_SpoolerInit_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_SpoolerInit_state *state = tevent_req_data( - req, struct rpccli_spoolss_SpoolerInit_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_spoolss_SpoolerInit_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_SpoolerInit_state *state = tevent_req_data( - req, struct rpccli_spoolss_SpoolerInit_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_spoolss_SpoolerInit(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_SpoolerInit r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SPOOLERINIT, - &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_spoolss_ResetPrinterEx_state { - struct spoolss_ResetPrinterEx orig; - struct spoolss_ResetPrinterEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_ResetPrinterEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_ResetPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_ResetPrinterEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_ResetPrinterEx_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_spoolss, - NDR_SPOOLSS_RESETPRINTEREX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_ResetPrinterEx_done, req); - return req; -} - -static void rpccli_spoolss_ResetPrinterEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_ResetPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_ResetPrinterEx_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_spoolss_ResetPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_ResetPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_ResetPrinterEx_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_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_ResetPrinterEx r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_RESETPRINTEREX, - &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_spoolss_RemoteFindFirstPrinterChangeNotifyEx_state { - struct spoolss_RemoteFindFirstPrinterChangeNotifyEx orig; - struct spoolss_RemoteFindFirstPrinterChangeNotifyEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _flags /* [in] */, - uint32_t _options /* [in] */, - const char *_local_machine /* [in] [unique,charset(UTF16)] */, - uint32_t _printer_local /* [in] */, - struct spoolss_NotifyOption *_notify_options /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.flags = _flags; - state->orig.in.options = _options; - state->orig.in.local_machine = _local_machine; - state->orig.in.printer_local = _printer_local; - state->orig.in.notify_options = _notify_options; - - /* 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_spoolss, - NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_done, req); - return req; -} - -static void rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_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_spoolss_RemoteFindFirstPrinterChangeNotifyEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_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_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t flags /* [in] */, - uint32_t options /* [in] */, - const char *local_machine /* [in] [unique,charset(UTF16)] */, - uint32_t printer_local /* [in] */, - struct spoolss_NotifyOption *notify_options /* [in] [unique] */, - WERROR *werror) -{ - struct spoolss_RemoteFindFirstPrinterChangeNotifyEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.flags = flags; - r.in.options = options; - r.in.local_machine = local_machine; - r.in.printer_local = printer_local; - r.in.notify_options = notify_options; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX, - &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_spoolss_RouterReplyPrinterEx_state { - struct spoolss_RouterReplyPrinterEx orig; - struct spoolss_RouterReplyPrinterEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_RouterReplyPrinterEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_RouterReplyPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _color /* [in] */, - uint32_t _flags /* [in] */, - uint32_t *_reply_result /* [out] [ref] */, - uint32_t _reply_type /* [in] */, - union spoolss_ReplyPrinterInfo _info /* [in] [switch_is(reply_type)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_RouterReplyPrinterEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_RouterReplyPrinterEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.color = _color; - state->orig.in.flags = _flags; - state->orig.in.reply_type = _reply_type; - state->orig.in.info = _info; - - /* Out parameters */ - state->orig.out.reply_result = _reply_result; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_RouterReplyPrinterEx_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_spoolss, - NDR_SPOOLSS_ROUTERREPLYPRINTEREX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_RouterReplyPrinterEx_done, req); - return req; -} - -static void rpccli_spoolss_RouterReplyPrinterEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_RouterReplyPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterReplyPrinterEx_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.reply_result = *state->tmp.out.reply_result; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_RouterReplyPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_RouterReplyPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterReplyPrinterEx_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_spoolss_RouterReplyPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t color /* [in] */, - uint32_t flags /* [in] */, - uint32_t *reply_result /* [out] [ref] */, - uint32_t reply_type /* [in] */, - union spoolss_ReplyPrinterInfo info /* [in] [switch_is(reply_type)] */, - WERROR *werror) -{ - struct spoolss_RouterReplyPrinterEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.color = color; - r.in.flags = flags; - r.in.reply_type = reply_type; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ROUTERREPLYPRINTEREX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *reply_result = *r.out.reply_result; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_state { - struct spoolss_RouterRefreshPrinterChangeNotify orig; - struct spoolss_RouterRefreshPrinterChangeNotify tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_RouterRefreshPrinterChangeNotify_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_RouterRefreshPrinterChangeNotify_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _change_low /* [in] */, - struct spoolss_NotifyOption *_options /* [in] [unique] */, - struct spoolss_NotifyInfo **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.change_low = _change_low; - state->orig.in.options = _options; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_RouterRefreshPrinterChangeNotify_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_spoolss, - NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_RouterRefreshPrinterChangeNotify_done, req); - return req; -} - -static void rpccli_spoolss_RouterRefreshPrinterChangeNotify_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotify_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_state *state = tevent_req_data( - req, struct rpccli_spoolss_RouterRefreshPrinterChangeNotify_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_spoolss_RouterRefreshPrinterChangeNotify(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t change_low /* [in] */, - struct spoolss_NotifyOption *options /* [in] [unique] */, - struct spoolss_NotifyInfo **info /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_RouterRefreshPrinterChangeNotify r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.change_low = change_low; - r.in.options = options; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_44_state { - struct spoolss_44 orig; - struct spoolss_44 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_44_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_44_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_44_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_44_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_spoolss, - NDR_SPOOLSS_44, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_44_done, req); - return req; -} - -static void rpccli_spoolss_44_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_44_state *state = tevent_req_data( - req, struct rpccli_spoolss_44_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_spoolss_44_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_44_state *state = tevent_req_data( - req, struct rpccli_spoolss_44_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_spoolss_44(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_44 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_44, - &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_spoolss_OpenPrinterEx_state { - struct spoolss_OpenPrinterEx orig; - struct spoolss_OpenPrinterEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_OpenPrinterEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_OpenPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_printername /* [in] [unique,charset(UTF16)] */, - const char *_datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer _devmode_ctr /* [in] */, - uint32_t _access_mask /* [in] */, - uint32_t _level /* [in] */, - union spoolss_UserLevel _userlevel /* [in] [switch_is(level)] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_OpenPrinterEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_OpenPrinterEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.printername = _printername; - state->orig.in.datatype = _datatype; - state->orig.in.devmode_ctr = _devmode_ctr; - state->orig.in.access_mask = _access_mask; - state->orig.in.level = _level; - state->orig.in.userlevel = _userlevel; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_OpenPrinterEx_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_spoolss, - NDR_SPOOLSS_OPENPRINTEREX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_OpenPrinterEx_done, req); - return req; -} - -static void rpccli_spoolss_OpenPrinterEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_OpenPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_OpenPrinterEx_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_OpenPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_OpenPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_OpenPrinterEx_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_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *printername /* [in] [unique,charset(UTF16)] */, - const char *datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer devmode_ctr /* [in] */, - uint32_t access_mask /* [in] */, - uint32_t level /* [in] */, - union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_OpenPrinterEx r; - NTSTATUS status; - - /* In parameters */ - r.in.printername = printername; - r.in.datatype = datatype; - r.in.devmode_ctr = devmode_ctr; - r.in.access_mask = access_mask; - r.in.level = level; - r.in.userlevel = userlevel; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_OPENPRINTEREX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPrinterEx_state { - struct spoolss_AddPrinterEx orig; - struct spoolss_AddPrinterEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrinterEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *_info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *_secdesc_ctr /* [in] [ref] */, - struct spoolss_UserLevelCtr *_userlevel_ctr /* [in] [ref] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrinterEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrinterEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.devmode_ctr = _devmode_ctr; - state->orig.in.secdesc_ctr = _secdesc_ctr; - state->orig.in.userlevel_ctr = _userlevel_ctr; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_AddPrinterEx_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_spoolss, - NDR_SPOOLSS_ADDPRINTEREX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrinterEx_done, req); - return req; -} - -static void rpccli_spoolss_AddPrinterEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterEx_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_AddPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrinterEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterEx_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_spoolss_AddPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *secdesc_ctr /* [in] [ref] */, - struct spoolss_UserLevelCtr *userlevel_ctr /* [in] [ref] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_AddPrinterEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.info_ctr = info_ctr; - r.in.devmode_ctr = devmode_ctr; - r.in.secdesc_ctr = secdesc_ctr; - r.in.userlevel_ctr = userlevel_ctr; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTEREX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_47_state { - struct spoolss_47 orig; - struct spoolss_47 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_47_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_47_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_47_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_47_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_spoolss, - NDR_SPOOLSS_47, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_47_done, req); - return req; -} - -static void rpccli_spoolss_47_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_47_state *state = tevent_req_data( - req, struct rpccli_spoolss_47_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_spoolss_47_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_47_state *state = tevent_req_data( - req, struct rpccli_spoolss_47_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_spoolss_47(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_47 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_47, - &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_spoolss_EnumPrinterData_state { - struct spoolss_EnumPrinterData orig; - struct spoolss_EnumPrinterData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrinterData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _enum_index /* [in] */, - const char *_value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */, - uint32_t _value_offered /* [in] */, - uint32_t *_value_needed /* [out] [ref] */, - enum winreg_Type *_type /* [out] [ref] */, - uint8_t *_data /* [out] [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */, - uint32_t _data_offered /* [in] */, - uint32_t *_data_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrinterData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrinterData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.enum_index = _enum_index; - state->orig.in.value_offered = _value_offered; - state->orig.in.data_offered = _data_offered; - - /* Out parameters */ - state->orig.out.value_name = _value_name; - state->orig.out.value_needed = _value_needed; - state->orig.out.type = _type; - state->orig.out.data = _data; - state->orig.out.data_needed = _data_needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrinterData_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_spoolss, - NDR_SPOOLSS_ENUMPRINTERDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrinterData_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrinterData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterData_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(discard_const_p(uint8_t *, state->orig.out.value_name), state->tmp.out.value_name, (state->tmp.in.value_offered / 2) * sizeof(*state->orig.out.value_name)); - *state->orig.out.value_needed = *state->tmp.out.value_needed; - *state->orig.out.type = *state->tmp.out.type; - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.data_offered) * sizeof(*state->orig.out.data)); - *state->orig.out.data_needed = *state->tmp.out.data_needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterData_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_spoolss_EnumPrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t enum_index /* [in] */, - const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */, - uint32_t value_offered /* [in] */, - uint32_t *value_needed /* [out] [ref] */, - enum winreg_Type *type /* [out] [ref] */, - uint8_t *data /* [out] [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */, - uint32_t data_offered /* [in] */, - uint32_t *data_needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrinterData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.enum_index = enum_index; - r.in.value_offered = value_offered; - r.in.data_offered = data_offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTERDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(discard_const_p(uint8_t *, value_name), r.out.value_name, (r.in.value_offered / 2) * sizeof(*value_name)); - *value_needed = *r.out.value_needed; - *type = *r.out.type; - memcpy(data, r.out.data, (r.in.data_offered) * sizeof(*data)); - *data_needed = *r.out.data_needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_DeletePrinterData_state { - struct spoolss_DeletePrinterData orig; - struct spoolss_DeletePrinterData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_value_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.value_name = _value_name; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEPRINTERDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterData_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterData_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_spoolss_DeletePrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterData_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterData_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_spoolss_DeletePrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *value_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_DeletePrinterData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.value_name = value_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERDATA, - &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_spoolss_4a_state { - struct spoolss_4a orig; - struct spoolss_4a tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_4a_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_4a_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_4a_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_4a_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_spoolss, - NDR_SPOOLSS_4A, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_4a_done, req); - return req; -} - -static void rpccli_spoolss_4a_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_4a_state *state = tevent_req_data( - req, struct rpccli_spoolss_4a_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_spoolss_4a_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_4a_state *state = tevent_req_data( - req, struct rpccli_spoolss_4a_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_spoolss_4a(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_4a r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_4A, - &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_spoolss_4b_state { - struct spoolss_4b orig; - struct spoolss_4b tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_4b_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_4b_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_4b_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_4b_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_spoolss, - NDR_SPOOLSS_4B, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_4b_done, req); - return req; -} - -static void rpccli_spoolss_4b_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_4b_state *state = tevent_req_data( - req, struct rpccli_spoolss_4b_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_spoolss_4b_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_4b_state *state = tevent_req_data( - req, struct rpccli_spoolss_4b_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_spoolss_4b(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_4b r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_4B, - &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_spoolss_4c_state { - struct spoolss_4c orig; - struct spoolss_4c tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_4c_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_4c_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_4c_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_4c_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_spoolss, - NDR_SPOOLSS_4C, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_4c_done, req); - return req; -} - -static void rpccli_spoolss_4c_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_4c_state *state = tevent_req_data( - req, struct rpccli_spoolss_4c_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_spoolss_4c_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_4c_state *state = tevent_req_data( - req, struct rpccli_spoolss_4c_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_spoolss_4c(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_4c r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_4C, - &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_spoolss_SetPrinterDataEx_state { - struct spoolss_SetPrinterDataEx orig; - struct spoolss_SetPrinterDataEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_SetPrinterDataEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_SetPrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type _type /* [in] */, - uint8_t *_data /* [in] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_SetPrinterDataEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_SetPrinterDataEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key_name = _key_name; - state->orig.in.value_name = _value_name; - state->orig.in.type = _type; - state->orig.in.data = _data; - state->orig.in.offered = _offered; - - /* 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_spoolss, - NDR_SPOOLSS_SETPRINTERDATAEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_SetPrinterDataEx_done, req); - return req; -} - -static void rpccli_spoolss_SetPrinterDataEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_SetPrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetPrinterDataEx_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_spoolss_SetPrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_SetPrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_SetPrinterDataEx_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_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type type /* [in] */, - uint8_t *data /* [in] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - WERROR *werror) -{ - struct spoolss_SetPrinterDataEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key_name = key_name; - r.in.value_name = value_name; - r.in.type = type; - r.in.data = data; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_SETPRINTERDATAEX, - &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_spoolss_GetPrinterDataEx_state { - struct spoolss_GetPrinterDataEx orig; - struct spoolss_GetPrinterDataEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinterDataEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *_type /* [out] [ref] */, - uint8_t *_data /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinterDataEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinterDataEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key_name = _key_name; - state->orig.in.value_name = _value_name; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.type = _type; - state->orig.out.data = _data; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinterDataEx_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_spoolss, - NDR_SPOOLSS_GETPRINTERDATAEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinterDataEx_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinterDataEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDataEx_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.type = *state->tmp.out.type; - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.offered) * sizeof(*state->orig.out.data)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDataEx_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_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *type /* [out] [ref] */, - uint8_t *data /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinterDataEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key_name = key_name; - r.in.value_name = value_name; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTERDATAEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *type = *r.out.type; - memcpy(data, r.out.data, (r.in.offered) * sizeof(*data)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EnumPrinterDataEx_state { - struct spoolss_EnumPrinterDataEx orig; - struct spoolss_EnumPrinterDataEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrinterDataEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - struct spoolss_PrinterEnumValues **_info /* [out] [ref,size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrinterDataEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrinterDataEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key_name = _key_name; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.count = _count; - state->orig.out.info = _info; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrinterDataEx_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_spoolss, - NDR_SPOOLSS_ENUMPRINTERDATAEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrinterDataEx_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrinterDataEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterDataEx_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.count = *state->tmp.out.count; - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterDataEx_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_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - struct spoolss_PrinterEnumValues **info /* [out] [ref,size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrinterDataEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key_name = key_name; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTERDATAEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *count = *r.out.count; - *info = *r.out.info; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_EnumPrinterKey_state { - struct spoolss_EnumPrinterKey orig; - struct spoolss_EnumPrinterKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_EnumPrinterKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_EnumPrinterKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - uint32_t *__ndr_size /* [out] [ref] */, - union spoolss_KeyNames *_key_buffer /* [out] [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_EnumPrinterKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_EnumPrinterKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key_name = _key_name; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out._ndr_size = __ndr_size; - state->orig.out.key_buffer = _key_buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_EnumPrinterKey_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_spoolss, - NDR_SPOOLSS_ENUMPRINTERKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_EnumPrinterKey_done, req); - return req; -} - -static void rpccli_spoolss_EnumPrinterKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_EnumPrinterKey_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterKey_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._ndr_size = *state->tmp.out._ndr_size; - *state->orig.out.key_buffer = *state->tmp.out.key_buffer; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_EnumPrinterKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_EnumPrinterKey_state *state = tevent_req_data( - req, struct rpccli_spoolss_EnumPrinterKey_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_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - uint32_t *_ndr_size /* [out] [ref] */, - union spoolss_KeyNames *key_buffer /* [out] [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_EnumPrinterKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key_name = key_name; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ENUMPRINTERKEY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *_ndr_size = *r.out._ndr_size; - *key_buffer = *r.out.key_buffer; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_DeletePrinterDataEx_state { - struct spoolss_DeletePrinterDataEx orig; - struct spoolss_DeletePrinterDataEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterDataEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - const char *_value_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterDataEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterDataEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key_name = _key_name; - state->orig.in.value_name = _value_name; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEPRINTERDATAEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterDataEx_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterDataEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterDataEx_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_spoolss_DeletePrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterDataEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterDataEx_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_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - const char *value_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_DeletePrinterDataEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key_name = key_name; - r.in.value_name = value_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERDATAEX, - &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_spoolss_DeletePrinterKey_state { - struct spoolss_DeletePrinterKey orig; - struct spoolss_DeletePrinterKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key_name = _key_name; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEPRINTERKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterKey_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterKey_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterKey_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_spoolss_DeletePrinterKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterKey_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterKey_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_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct spoolss_DeletePrinterKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key_name = key_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERKEY, - &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_spoolss_53_state { - struct spoolss_53 orig; - struct spoolss_53 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_53_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_53_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_53_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_53_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_spoolss, - NDR_SPOOLSS_53, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_53_done, req); - return req; -} - -static void rpccli_spoolss_53_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_53_state *state = tevent_req_data( - req, struct rpccli_spoolss_53_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_spoolss_53_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_53_state *state = tevent_req_data( - req, struct rpccli_spoolss_53_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_spoolss_53(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_53 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_53, - &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_spoolss_DeletePrinterDriverEx_state { - struct spoolss_DeletePrinterDriverEx orig; - struct spoolss_DeletePrinterDriverEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_DeletePrinterDriverEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_DeletePrinterDriverEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [charset(UTF16)] */, - const char *_driver /* [in] [charset(UTF16)] */, - uint32_t _delete_flags /* [in] */, - uint32_t _version /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_DeletePrinterDriverEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_DeletePrinterDriverEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - state->orig.in.architecture = _architecture; - state->orig.in.driver = _driver; - state->orig.in.delete_flags = _delete_flags; - state->orig.in.version = _version; - - /* 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_spoolss, - NDR_SPOOLSS_DELETEPRINTERDRIVEREX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_DeletePrinterDriverEx_done, req); - return req; -} - -static void rpccli_spoolss_DeletePrinterDriverEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_DeletePrinterDriverEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterDriverEx_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_spoolss_DeletePrinterDriverEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_DeletePrinterDriverEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_DeletePrinterDriverEx_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_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [charset(UTF16)] */, - const char *driver /* [in] [charset(UTF16)] */, - uint32_t delete_flags /* [in] */, - uint32_t version /* [in] */, - WERROR *werror) -{ - struct spoolss_DeletePrinterDriverEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - r.in.architecture = architecture; - r.in.driver = driver; - r.in.delete_flags = delete_flags; - r.in.version = version; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_DELETEPRINTERDRIVEREX, - &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_spoolss_55_state { - struct spoolss_55 orig; - struct spoolss_55 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_55_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_55_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_55_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_55_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_spoolss, - NDR_SPOOLSS_55, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_55_done, req); - return req; -} - -static void rpccli_spoolss_55_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_55_state *state = tevent_req_data( - req, struct rpccli_spoolss_55_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_spoolss_55_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_55_state *state = tevent_req_data( - req, struct rpccli_spoolss_55_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_spoolss_55(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_55 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_55, - &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_spoolss_56_state { - struct spoolss_56 orig; - struct spoolss_56 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_56_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_56_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_56_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_56_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_spoolss, - NDR_SPOOLSS_56, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_56_done, req); - return req; -} - -static void rpccli_spoolss_56_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_56_state *state = tevent_req_data( - req, struct rpccli_spoolss_56_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_spoolss_56_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_56_state *state = tevent_req_data( - req, struct rpccli_spoolss_56_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_spoolss_56(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_56 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_56, - &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_spoolss_57_state { - struct spoolss_57 orig; - struct spoolss_57 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_57_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_57_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_57_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_57_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_spoolss, - NDR_SPOOLSS_57, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_57_done, req); - return req; -} - -static void rpccli_spoolss_57_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_57_state *state = tevent_req_data( - req, struct rpccli_spoolss_57_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_spoolss_57_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_57_state *state = tevent_req_data( - req, struct rpccli_spoolss_57_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_spoolss_57(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_57 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_57, - &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_spoolss_XcvData_state { - struct spoolss_XcvData orig; - struct spoolss_XcvData tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_XcvData_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_XcvData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_function_name /* [in] [charset(UTF16)] */, - DATA_BLOB _in_data /* [in] */, - uint32_t __in_data_length /* [in] [value(r->in.in_data.length)] */, - uint8_t *_out_data /* [out] [ref,size_is(out_data_size)] */, - uint32_t _out_data_size /* [in] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_status_code /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_XcvData_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_XcvData_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.function_name = _function_name; - state->orig.in.in_data = _in_data; - state->orig.in._in_data_length = __in_data_length; - state->orig.in.out_data_size = _out_data_size; - state->orig.in.status_code = _status_code; - - /* Out parameters */ - state->orig.out.out_data = _out_data; - state->orig.out.needed = _needed; - state->orig.out.status_code = _status_code; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_XcvData_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_spoolss, - NDR_SPOOLSS_XCVDATA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_XcvData_done, req); - return req; -} - -static void rpccli_spoolss_XcvData_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_XcvData_state *state = tevent_req_data( - req, struct rpccli_spoolss_XcvData_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.out_data, state->tmp.out.out_data, (state->tmp.in.out_data_size) * sizeof(*state->orig.out.out_data)); - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.status_code = *state->tmp.out.status_code; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_XcvData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_XcvData_state *state = tevent_req_data( - req, struct rpccli_spoolss_XcvData_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_spoolss_XcvData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *function_name /* [in] [charset(UTF16)] */, - DATA_BLOB in_data /* [in] */, - uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */, - uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */, - uint32_t out_data_size /* [in] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *status_code /* [in,out] [ref] */, - WERROR *werror) -{ - struct spoolss_XcvData r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.function_name = function_name; - r.in.in_data = in_data; - r.in._in_data_length = _in_data_length; - r.in.out_data_size = out_data_size; - r.in.status_code = status_code; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_XCVDATA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(out_data, r.out.out_data, (r.in.out_data_size) * sizeof(*out_data)); - *needed = *r.out.needed; - *status_code = *r.out.status_code; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_AddPrinterDriverEx_state { - struct spoolss_AddPrinterDriverEx orig; - struct spoolss_AddPrinterDriverEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_AddPrinterDriverEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_AddPrinterDriverEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *_info_ctr /* [in] [ref] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_AddPrinterDriverEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_AddPrinterDriverEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.flags = _flags; - - /* 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_spoolss, - NDR_SPOOLSS_ADDPRINTERDRIVEREX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_AddPrinterDriverEx_done, req); - return req; -} - -static void rpccli_spoolss_AddPrinterDriverEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_AddPrinterDriverEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterDriverEx_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_spoolss_AddPrinterDriverEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_AddPrinterDriverEx_state *state = tevent_req_data( - req, struct rpccli_spoolss_AddPrinterDriverEx_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_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *info_ctr /* [in] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct spoolss_AddPrinterDriverEx r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.info_ctr = info_ctr; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_ADDPRINTERDRIVEREX, - &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_spoolss_5a_state { - struct spoolss_5a orig; - struct spoolss_5a tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_5a_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_5a_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_5a_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_5a_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_spoolss, - NDR_SPOOLSS_5A, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_5a_done, req); - return req; -} - -static void rpccli_spoolss_5a_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_5a_state *state = tevent_req_data( - req, struct rpccli_spoolss_5a_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_spoolss_5a_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_5a_state *state = tevent_req_data( - req, struct rpccli_spoolss_5a_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_spoolss_5a(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_5a r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_5A, - &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_spoolss_5b_state { - struct spoolss_5b orig; - struct spoolss_5b tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_5b_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_5b_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_5b_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_5b_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_spoolss, - NDR_SPOOLSS_5B, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_5b_done, req); - return req; -} - -static void rpccli_spoolss_5b_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_5b_state *state = tevent_req_data( - req, struct rpccli_spoolss_5b_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_spoolss_5b_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_5b_state *state = tevent_req_data( - req, struct rpccli_spoolss_5b_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_spoolss_5b(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_5b r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_5B, - &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_spoolss_5c_state { - struct spoolss_5c orig; - struct spoolss_5c tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_5c_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_5c_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_5c_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_5c_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_spoolss, - NDR_SPOOLSS_5C, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_5c_done, req); - return req; -} - -static void rpccli_spoolss_5c_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_5c_state *state = tevent_req_data( - req, struct rpccli_spoolss_5c_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_spoolss_5c_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_5c_state *state = tevent_req_data( - req, struct rpccli_spoolss_5c_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_spoolss_5c(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_5c r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_5C, - &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_spoolss_5d_state { - struct spoolss_5d orig; - struct spoolss_5d tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_5d_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_5d_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_5d_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_5d_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_spoolss, - NDR_SPOOLSS_5D, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_5d_done, req); - return req; -} - -static void rpccli_spoolss_5d_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_5d_state *state = tevent_req_data( - req, struct rpccli_spoolss_5d_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_spoolss_5d_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_5d_state *state = tevent_req_data( - req, struct rpccli_spoolss_5d_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_spoolss_5d(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_5d r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_5D, - &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_spoolss_5e_state { - struct spoolss_5e orig; - struct spoolss_5e tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_5e_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_5e_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_5e_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_5e_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_spoolss, - NDR_SPOOLSS_5E, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_5e_done, req); - return req; -} - -static void rpccli_spoolss_5e_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_5e_state *state = tevent_req_data( - req, struct rpccli_spoolss_5e_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_spoolss_5e_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_5e_state *state = tevent_req_data( - req, struct rpccli_spoolss_5e_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_spoolss_5e(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_5e r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_5E, - &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_spoolss_5f_state { - struct spoolss_5f orig; - struct spoolss_5f tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_5f_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_5f_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_5f_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_5f_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_spoolss, - NDR_SPOOLSS_5F, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_5f_done, req); - return req; -} - -static void rpccli_spoolss_5f_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_5f_state *state = tevent_req_data( - req, struct rpccli_spoolss_5f_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_spoolss_5f_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_5f_state *state = tevent_req_data( - req, struct rpccli_spoolss_5f_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_spoolss_5f(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_5f r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_5F, - &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_spoolss_60_state { - struct spoolss_60 orig; - struct spoolss_60 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_60_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_60_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_60_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_60_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_spoolss, - NDR_SPOOLSS_60, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_60_done, req); - return req; -} - -static void rpccli_spoolss_60_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_60_state *state = tevent_req_data( - req, struct rpccli_spoolss_60_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_spoolss_60_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_60_state *state = tevent_req_data( - req, struct rpccli_spoolss_60_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_spoolss_60(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_60 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_60, - &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_spoolss_61_state { - struct spoolss_61 orig; - struct spoolss_61 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_61_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_61_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_61_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_61_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_spoolss, - NDR_SPOOLSS_61, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_61_done, req); - return req; -} - -static void rpccli_spoolss_61_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_61_state *state = tevent_req_data( - req, struct rpccli_spoolss_61_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_spoolss_61_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_61_state *state = tevent_req_data( - req, struct rpccli_spoolss_61_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_spoolss_61(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_61 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_61, - &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_spoolss_62_state { - struct spoolss_62 orig; - struct spoolss_62 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_62_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_62_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_62_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_62_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_spoolss, - NDR_SPOOLSS_62, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_62_done, req); - return req; -} - -static void rpccli_spoolss_62_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_62_state *state = tevent_req_data( - req, struct rpccli_spoolss_62_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_spoolss_62_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_62_state *state = tevent_req_data( - req, struct rpccli_spoolss_62_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_spoolss_62(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_62 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_62, - &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_spoolss_63_state { - struct spoolss_63 orig; - struct spoolss_63 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_63_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_63_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_63_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_63_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_spoolss, - NDR_SPOOLSS_63, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_63_done, req); - return req; -} - -static void rpccli_spoolss_63_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_63_state *state = tevent_req_data( - req, struct rpccli_spoolss_63_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_spoolss_63_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_63_state *state = tevent_req_data( - req, struct rpccli_spoolss_63_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_spoolss_63(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_63 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_63, - &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_spoolss_64_state { - struct spoolss_64 orig; - struct spoolss_64 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_64_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_64_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_64_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_64_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_spoolss, - NDR_SPOOLSS_64, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_64_done, req); - return req; -} - -static void rpccli_spoolss_64_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_64_state *state = tevent_req_data( - req, struct rpccli_spoolss_64_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_spoolss_64_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_64_state *state = tevent_req_data( - req, struct rpccli_spoolss_64_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_spoolss_64(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_64 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_64, - &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_spoolss_65_state { - struct spoolss_65 orig; - struct spoolss_65 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_65_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_65_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_65_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_65_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_spoolss, - NDR_SPOOLSS_65, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_65_done, req); - return req; -} - -static void rpccli_spoolss_65_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_65_state *state = tevent_req_data( - req, struct rpccli_spoolss_65_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_spoolss_65_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_65_state *state = tevent_req_data( - req, struct rpccli_spoolss_65_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_spoolss_65(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_65 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_65, - &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_spoolss_GetCorePrinterDrivers_state { - struct spoolss_GetCorePrinterDrivers orig; - struct spoolss_GetCorePrinterDrivers tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetCorePrinterDrivers_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetCorePrinterDrivers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [ref,charset(UTF16)] */, - uint32_t _core_driver_size /* [in] */, - const char *_core_driver_dependencies /* [in] [ref,charset(UTF16),size_is(core_driver_size)] */, - uint32_t _core_printer_driver_count /* [in] */, - struct spoolss_CorePrinterDriver *_core_printer_drivers /* [out] [ref,size_is(core_printer_driver_count)] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetCorePrinterDrivers_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetCorePrinterDrivers_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.architecture = _architecture; - state->orig.in.core_driver_size = _core_driver_size; - state->orig.in.core_driver_dependencies = _core_driver_dependencies; - state->orig.in.core_printer_driver_count = _core_printer_driver_count; - - /* Out parameters */ - state->orig.out.core_printer_drivers = _core_printer_drivers; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetCorePrinterDrivers_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_spoolss, - NDR_SPOOLSS_GETCOREPRINTERDRIVERS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetCorePrinterDrivers_done, req); - return req; -} - -static void rpccli_spoolss_GetCorePrinterDrivers_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetCorePrinterDrivers_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetCorePrinterDrivers_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.core_printer_drivers, state->tmp.out.core_printer_drivers, (state->tmp.in.core_printer_driver_count) * sizeof(*state->orig.out.core_printer_drivers)); - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetCorePrinterDrivers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetCorePrinterDrivers_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetCorePrinterDrivers_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_spoolss_GetCorePrinterDrivers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [ref,charset(UTF16)] */, - uint32_t core_driver_size /* [in] */, - const char *core_driver_dependencies /* [in] [ref,charset(UTF16),size_is(core_driver_size)] */, - uint32_t core_printer_driver_count /* [in] */, - struct spoolss_CorePrinterDriver *core_printer_drivers /* [out] [ref,size_is(core_printer_driver_count)] */, - WERROR *werror) -{ - struct spoolss_GetCorePrinterDrivers r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.architecture = architecture; - r.in.core_driver_size = core_driver_size; - r.in.core_driver_dependencies = core_driver_dependencies; - r.in.core_printer_driver_count = core_printer_driver_count; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETCOREPRINTERDRIVERS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(core_printer_drivers, r.out.core_printer_drivers, (r.in.core_printer_driver_count) * sizeof(*core_printer_drivers)); - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_67_state { - struct spoolss_67 orig; - struct spoolss_67 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_67_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_67_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_67_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_67_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_spoolss, - NDR_SPOOLSS_67, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_67_done, req); - return req; -} - -static void rpccli_spoolss_67_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_67_state *state = tevent_req_data( - req, struct rpccli_spoolss_67_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_spoolss_67_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_67_state *state = tevent_req_data( - req, struct rpccli_spoolss_67_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_spoolss_67(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_67 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_67, - &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_spoolss_GetPrinterDriverPackagePath_state { - struct spoolss_GetPrinterDriverPackagePath orig; - struct spoolss_GetPrinterDriverPackagePath tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_GetPrinterDriverPackagePath_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_GetPrinterDriverPackagePath_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [ref,charset(UTF16)] */, - const char *_language /* [in] [unique,charset(UTF16)] */, - const char *_package_id /* [in] [ref,charset(UTF16)] */, - const char *_driver_package_cab /* [in,out] [unique,charset(UTF16),size_is(driver_package_cab_size)] */, - uint32_t _driver_package_cab_size /* [in] */, - uint32_t *_required /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_spoolss_GetPrinterDriverPackagePath_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_GetPrinterDriverPackagePath_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.servername = _servername; - state->orig.in.architecture = _architecture; - state->orig.in.language = _language; - state->orig.in.package_id = _package_id; - state->orig.in.driver_package_cab = _driver_package_cab; - state->orig.in.driver_package_cab_size = _driver_package_cab_size; - - /* Out parameters */ - state->orig.out.driver_package_cab = _driver_package_cab; - state->orig.out.required = _required; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_spoolss_GetPrinterDriverPackagePath_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_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVERPACKAGEPATH, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_GetPrinterDriverPackagePath_done, req); - return req; -} - -static void rpccli_spoolss_GetPrinterDriverPackagePath_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_GetPrinterDriverPackagePath_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriverPackagePath_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.driver_package_cab && state->tmp.out.driver_package_cab) { - memcpy(discard_const_p(uint8_t *, state->orig.out.driver_package_cab), state->tmp.out.driver_package_cab, (state->tmp.in.driver_package_cab_size) * sizeof(*state->orig.out.driver_package_cab)); - } - *state->orig.out.required = *state->tmp.out.required; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_spoolss_GetPrinterDriverPackagePath_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_GetPrinterDriverPackagePath_state *state = tevent_req_data( - req, struct rpccli_spoolss_GetPrinterDriverPackagePath_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_spoolss_GetPrinterDriverPackagePath(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [ref,charset(UTF16)] */, - const char *language /* [in] [unique,charset(UTF16)] */, - const char *package_id /* [in] [ref,charset(UTF16)] */, - const char *driver_package_cab /* [in,out] [unique,charset(UTF16),size_is(driver_package_cab_size)] */, - uint32_t driver_package_cab_size /* [in] */, - uint32_t *required /* [out] [ref] */, - WERROR *werror) -{ - struct spoolss_GetPrinterDriverPackagePath r; - NTSTATUS status; - - /* In parameters */ - r.in.servername = servername; - r.in.architecture = architecture; - r.in.language = language; - r.in.package_id = package_id; - r.in.driver_package_cab = driver_package_cab; - r.in.driver_package_cab_size = driver_package_cab_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_GETPRINTERDRIVERPACKAGEPATH, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (driver_package_cab && r.out.driver_package_cab) { - memcpy(discard_const_p(uint8_t *, driver_package_cab), r.out.driver_package_cab, (r.in.driver_package_cab_size) * sizeof(*driver_package_cab)); - } - *required = *r.out.required; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_spoolss_69_state { - struct spoolss_69 orig; - struct spoolss_69 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_69_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_69_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_69_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_69_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_spoolss, - NDR_SPOOLSS_69, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_69_done, req); - return req; -} - -static void rpccli_spoolss_69_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_69_state *state = tevent_req_data( - req, struct rpccli_spoolss_69_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_spoolss_69_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_69_state *state = tevent_req_data( - req, struct rpccli_spoolss_69_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_spoolss_69(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_69 r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_69, - &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_spoolss_6a_state { - struct spoolss_6a orig; - struct spoolss_6a tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_6a_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_6a_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_6a_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_6a_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_spoolss, - NDR_SPOOLSS_6A, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_6a_done, req); - return req; -} - -static void rpccli_spoolss_6a_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_6a_state *state = tevent_req_data( - req, struct rpccli_spoolss_6a_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_spoolss_6a_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_6a_state *state = tevent_req_data( - req, struct rpccli_spoolss_6a_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_spoolss_6a(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_6a r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_6A, - &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_spoolss_6b_state { - struct spoolss_6b orig; - struct spoolss_6b tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_6b_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_6b_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_6b_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_6b_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_spoolss, - NDR_SPOOLSS_6B, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_6b_done, req); - return req; -} - -static void rpccli_spoolss_6b_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_6b_state *state = tevent_req_data( - req, struct rpccli_spoolss_6b_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_spoolss_6b_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_6b_state *state = tevent_req_data( - req, struct rpccli_spoolss_6b_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_spoolss_6b(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_6b r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_6B, - &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_spoolss_6c_state { - struct spoolss_6c orig; - struct spoolss_6c tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_6c_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_6c_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_6c_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_6c_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_spoolss, - NDR_SPOOLSS_6C, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_6c_done, req); - return req; -} - -static void rpccli_spoolss_6c_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_6c_state *state = tevent_req_data( - req, struct rpccli_spoolss_6c_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_spoolss_6c_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_6c_state *state = tevent_req_data( - req, struct rpccli_spoolss_6c_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_spoolss_6c(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_6c r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_6C, - &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_spoolss_6d_state { - struct spoolss_6d orig; - struct spoolss_6d tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_spoolss_6d_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_spoolss_6d_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_spoolss_6d_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_spoolss_6d_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_spoolss, - NDR_SPOOLSS_6D, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_spoolss_6d_done, req); - return req; -} - -static void rpccli_spoolss_6d_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_spoolss_6d_state *state = tevent_req_data( - req, struct rpccli_spoolss_6d_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_spoolss_6d_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_spoolss_6d_state *state = tevent_req_data( - req, struct rpccli_spoolss_6d_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_spoolss_6d(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct spoolss_6d r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_spoolss, - NDR_SPOOLSS_6D, - &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); -} - diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h deleted file mode 100644 index f5e554d88de..00000000000 --- a/librpc/gen_ndr/cli_spoolss.h +++ /dev/null @@ -1,1610 +0,0 @@ -#include "../librpc/gen_ndr/ndr_spoolss.h" -#ifndef __CLI_SPOOLSS__ -#define __CLI_SPOOLSS__ -struct tevent_req *rpccli_spoolss_EnumPrinters_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint32_t _flags /* [in] */, - const char *_server /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PrinterInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrinters_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrinters(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32_t flags /* [in] */, - const char *server /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PrinterInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_OpenPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_printername /* [in] [unique,charset(UTF16)] */, - const char *_datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer _devmode_ctr /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_spoolss_OpenPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_OpenPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *printername /* [in] [unique,charset(UTF16)] */, - const char *datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer devmode_ctr /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_SetJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _job_id /* [in] */, - struct spoolss_JobInfoContainer *_ctr /* [in] [unique] */, - enum spoolss_JobControl _command /* [in] */); -NTSTATUS rpccli_spoolss_SetJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_SetJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t job_id /* [in] */, - struct spoolss_JobInfoContainer *ctr /* [in] [unique] */, - enum spoolss_JobControl command /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _job_id /* [in] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_JobInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t job_id /* [in] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_JobInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumJobs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _firstjob /* [in] */, - uint32_t _numjobs /* [in] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_JobInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumJobs_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumJobs(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t firstjob /* [in] */, - uint32_t numjobs /* [in] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_JobInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *_info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *_secdesc_ctr /* [in] [ref] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_spoolss_AddPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *secdesc_ctr /* [in] [ref] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_spoolss_DeletePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_SetPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct spoolss_SetPrinterInfoCtr *_info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *_secdesc_ctr /* [in] [ref] */, - enum spoolss_PrinterControl _command /* [in] */); -NTSTATUS rpccli_spoolss_SetPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_SetPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *secdesc_ctr /* [in] [ref] */, - enum spoolss_PrinterControl command /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_PrinterInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_PrinterInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrinterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *_info_ctr /* [in] [ref] */); -NTSTATUS rpccli_spoolss_AddPrinterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrinterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *info_ctr /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPrinterDrivers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_DriverInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrinterDrivers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrinterDrivers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_DriverInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_architecture /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_DriverInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *architecture /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_DriverInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinterDriverDirectory_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_DriverDirectoryInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_DriverDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterDriver_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [charset(UTF16)] */, - const char *_driver /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_DeletePrinterDriver_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [charset(UTF16)] */, - const char *driver /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrintProcessor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [charset(UTF16)] */, - const char *_path_name /* [in] [charset(UTF16)] */, - const char *_print_processor_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_AddPrintProcessor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [charset(UTF16)] */, - const char *path_name /* [in] [charset(UTF16)] */, - const char *print_processor_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPrintProcessors_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PrintProcessorInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrintProcessors_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrintProcessors(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PrintProcessorInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrintProcessorDirectory_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_environment /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_PrintProcessorDirectoryInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrintProcessorDirectory(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *environment /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_PrintProcessorDirectoryInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_StartDocPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union spoolss_DocumentInfo _info /* [in] [switch_is(level)] */, - uint32_t *_job_id /* [out] [ref] */); -NTSTATUS rpccli_spoolss_StartDocPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_StartDocPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - union spoolss_DocumentInfo info /* [in] [switch_is(level)] */, - uint32_t *job_id /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_StartPagePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_spoolss_StartPagePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_StartPagePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_WritePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - DATA_BLOB _data /* [in] */, - uint32_t __data_size /* [in] [value(r->in.data.length)] */, - uint32_t *_num_written /* [out] [ref] */); -NTSTATUS rpccli_spoolss_WritePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_WritePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - DATA_BLOB data /* [in] */, - uint32_t _data_size /* [in] [value(r->in.data.length)] */, - uint32_t *num_written /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EndPagePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_spoolss_EndPagePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EndPagePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AbortPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_spoolss_AbortPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AbortPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ReadPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t *_data /* [out] [ref,size_is(data_size)] */, - uint32_t _data_size /* [in] */, - uint32_t *__data_size /* [out] [ref] */); -NTSTATUS rpccli_spoolss_ReadPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ReadPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t *data /* [out] [ref,size_is(data_size)] */, - uint32_t data_size /* [in] */, - uint32_t *_data_size /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EndDocPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_spoolss_EndDocPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EndDocPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - uint8_t *_buffer /* [in,out] [unique,size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_AddJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - uint8_t *buffer /* [in,out] [unique,size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ScheduleJob_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _jobid /* [in] */); -NTSTATUS rpccli_spoolss_ScheduleJob_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t jobid /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *_type /* [out] [ref] */, - uint8_t *_data /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *type /* [out] [ref] */, - uint8_t *data /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_SetPrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type _type /* [in] */, - uint8_t *_data /* [in] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */); -NTSTATUS rpccli_spoolss_SetPrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_SetPrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type type /* [in] */, - uint8_t *data /* [in] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_WaitForPrinterChange_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_WaitForPrinterChange_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_WaitForPrinterChange(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ClosePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_spoolss_ClosePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ClosePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union spoolss_AddFormInfo _info /* [in] [switch_is(level)] */); -NTSTATUS rpccli_spoolss_AddForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - union spoolss_AddFormInfo info /* [in] [switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeleteForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_form_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_DeleteForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeleteForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *form_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_form_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - union spoolss_FormInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *form_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - union spoolss_FormInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_SetForm_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_form_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union spoolss_AddFormInfo _info /* [in] [switch_is(level)] */); -NTSTATUS rpccli_spoolss_SetForm_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_SetForm(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *form_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union spoolss_AddFormInfo info /* [in] [switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumForms_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_FormInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumForms_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumForms(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_FormInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPorts_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PortInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPorts_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPorts(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PortInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumMonitors_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_MonitorInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumMonitors_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumMonitors(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_MonitorInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown /* [in] */, - const char *_monitor_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_AddPort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t unknown /* [in] */, - const char *monitor_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ConfigurePort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_ConfigurePort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ConfigurePort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePort_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_DeletePort_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePort(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_CreatePrinterIC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct policy_handle *_gdi_handle /* [out] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */); -NTSTATUS rpccli_spoolss_CreatePrinterIC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_CreatePrinterIC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct policy_handle *gdi_handle /* [out] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_PlayGDIScriptOnPrinterIC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_PlayGDIScriptOnPrinterIC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterIC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_gdi_handle /* [in,out] [ref] */); -NTSTATUS rpccli_spoolss_DeletePrinterIC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterIC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *gdi_handle /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrinterConnection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_AddPrinterConnection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrinterConnection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterConnection_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_DeletePrinterConnection_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterConnection(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_PrinterMessageBox_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_PrinterMessageBox_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_PrinterMessageBox(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddMonitor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_AddMonitor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddMonitor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeleteMonitor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_DeleteMonitor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeleteMonitor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrintProcessor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_DeletePrintProcessor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrintProcessor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrintProvidor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_AddPrintProvidor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrintProvidor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrintProvidor_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_DeletePrintProvidor_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrintProvidor(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPrintProcDataTypes_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_print_processor_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - union spoolss_PrintProcDataTypesInfo **_info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrintProcDataTypes(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *print_processor_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - union spoolss_PrintProcDataTypesInfo **info /* [out] [ref,switch_is(level),size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ResetPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_data_type /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */); -NTSTATUS rpccli_spoolss_ResetPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ResetPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *data_type /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinterDriver2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_architecture /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - DATA_BLOB *_buffer /* [in] [unique] */, - uint32_t _offered /* [in] */, - uint32_t _client_major_version /* [in] */, - uint32_t _client_minor_version /* [in] */, - union spoolss_DriverInfo *_info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_server_major_version /* [out] [ref] */, - uint32_t *_server_minor_version /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinterDriver2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinterDriver2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *architecture /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - DATA_BLOB *buffer /* [in] [unique] */, - uint32_t offered /* [in] */, - uint32_t client_major_version /* [in] */, - uint32_t client_minor_version /* [in] */, - union spoolss_DriverInfo *info /* [out] [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *server_major_version /* [out] [ref] */, - uint32_t *server_minor_version /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_FindFirstPrinterChangeNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_FindFirstPrinterChangeNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_FindNextPrinterChangeNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_FindNextPrinterChangeNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_FindClosePrinterNotify_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_spoolss_FindClosePrinterNotify_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_FindClosePrinterNotify(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ReplyOpenPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [charset(UTF16)] */, - uint32_t _printer_local /* [in] */, - enum winreg_Type _type /* [in] */, - uint32_t _bufsize /* [in] [range(0,512)] */, - uint8_t *_buffer /* [in] [unique,size_is(bufsize)] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_spoolss_ReplyOpenPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [charset(UTF16)] */, - uint32_t printer_local /* [in] */, - enum winreg_Type type /* [in] */, - uint32_t bufsize /* [in] [range(0,512)] */, - uint8_t *buffer /* [in] [unique,size_is(bufsize)] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_RouterReplyPrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _flags /* [in] */, - uint32_t _bufsize /* [in] [range(0,512)] */, - uint8_t *_buffer /* [in] [unique,size_is(bufsize)] */); -NTSTATUS rpccli_spoolss_RouterReplyPrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t flags /* [in] */, - uint32_t bufsize /* [in] [range(0,512)] */, - uint8_t *buffer /* [in] [unique,size_is(bufsize)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ReplyClosePrinter_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_spoolss_ReplyClosePrinter_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ReplyClosePrinter(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPortEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_AddPortEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPortEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_RouterFindFirstPrinterChangeNotification_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_RouterFindFirstPrinterChangeNotification(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_SpoolerInit_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_SpoolerInit_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_SpoolerInit(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_ResetPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_ResetPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_ResetPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _flags /* [in] */, - uint32_t _options /* [in] */, - const char *_local_machine /* [in] [unique,charset(UTF16)] */, - uint32_t _printer_local /* [in] */, - struct spoolss_NotifyOption *_notify_options /* [in] [unique] */); -NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t flags /* [in] */, - uint32_t options /* [in] */, - const char *local_machine /* [in] [unique,charset(UTF16)] */, - uint32_t printer_local /* [in] */, - struct spoolss_NotifyOption *notify_options /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_RouterReplyPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _color /* [in] */, - uint32_t _flags /* [in] */, - uint32_t *_reply_result /* [out] [ref] */, - uint32_t _reply_type /* [in] */, - union spoolss_ReplyPrinterInfo _info /* [in] [switch_is(reply_type)] */); -NTSTATUS rpccli_spoolss_RouterReplyPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_RouterReplyPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t color /* [in] */, - uint32_t flags /* [in] */, - uint32_t *reply_result /* [out] [ref] */, - uint32_t reply_type /* [in] */, - union spoolss_ReplyPrinterInfo info /* [in] [switch_is(reply_type)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_RouterRefreshPrinterChangeNotify_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _change_low /* [in] */, - struct spoolss_NotifyOption *_options /* [in] [unique] */, - struct spoolss_NotifyInfo **_info /* [out] [ref] */); -NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotify_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_RouterRefreshPrinterChangeNotify(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t change_low /* [in] */, - struct spoolss_NotifyOption *options /* [in] [unique] */, - struct spoolss_NotifyInfo **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_44_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_44_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_44(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_OpenPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_printername /* [in] [unique,charset(UTF16)] */, - const char *_datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer _devmode_ctr /* [in] */, - uint32_t _access_mask /* [in] */, - uint32_t _level /* [in] */, - union spoolss_UserLevel _userlevel /* [in] [switch_is(level)] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_spoolss_OpenPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_OpenPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *printername /* [in] [unique,charset(UTF16)] */, - const char *datatype /* [in] [unique,charset(UTF16)] */, - struct spoolss_DevmodeContainer devmode_ctr /* [in] */, - uint32_t access_mask /* [in] */, - uint32_t level /* [in] */, - union spoolss_UserLevel userlevel /* [in] [switch_is(level)] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrinterEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *_info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *_devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *_secdesc_ctr /* [in] [ref] */, - struct spoolss_UserLevelCtr *_userlevel_ctr /* [in] [ref] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_spoolss_AddPrinterEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrinterEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - struct spoolss_SetPrinterInfoCtr *info_ctr /* [in] [ref] */, - struct spoolss_DevmodeContainer *devmode_ctr /* [in] [ref] */, - struct sec_desc_buf *secdesc_ctr /* [in] [ref] */, - struct spoolss_UserLevelCtr *userlevel_ctr /* [in] [ref] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_47_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_47_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_47(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _enum_index /* [in] */, - const char *_value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */, - uint32_t _value_offered /* [in] */, - uint32_t *_value_needed /* [out] [ref] */, - enum winreg_Type *_type /* [out] [ref] */, - uint8_t *_data /* [out] [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */, - uint32_t _data_offered /* [in] */, - uint32_t *_data_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t enum_index /* [in] */, - const char *value_name /* [out] [charset(UTF16),size_is(value_offered/2)] */, - uint32_t value_offered /* [in] */, - uint32_t *value_needed /* [out] [ref] */, - enum winreg_Type *type /* [out] [ref] */, - uint8_t *data /* [out] [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */, - uint32_t data_offered /* [in] */, - uint32_t *data_needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_value_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_DeletePrinterData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *value_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_4a_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_4a_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_4a(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_4b_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_4b_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_4b(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_4c_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_4c_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_4c(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_SetPrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type _type /* [in] */, - uint8_t *_data /* [in] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */); -NTSTATUS rpccli_spoolss_SetPrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type type /* [in] */, - uint8_t *data /* [in] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - const char *_value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *_type /* [out] [ref] */, - uint8_t *_data /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - const char *value_name /* [in] [charset(UTF16)] */, - enum winreg_Type *type /* [out] [ref] */, - uint8_t *data /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - uint32_t _offered /* [in] */, - uint32_t *_count /* [out] [ref] */, - struct spoolss_PrinterEnumValues **_info /* [out] [ref,size_is(,*count)] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - uint32_t offered /* [in] */, - uint32_t *count /* [out] [ref] */, - struct spoolss_PrinterEnumValues **info /* [out] [ref,size_is(,*count)] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_EnumPrinterKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - uint32_t *__ndr_size /* [out] [ref] */, - union spoolss_KeyNames *_key_buffer /* [out] [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_spoolss_EnumPrinterKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_EnumPrinterKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - uint32_t *_ndr_size /* [out] [ref] */, - union spoolss_KeyNames *key_buffer /* [out] [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterDataEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */, - const char *_value_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_DeletePrinterDataEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - const char *value_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_key_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_spoolss_DeletePrinterKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *key_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_53_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_53_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_DeletePrinterDriverEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [charset(UTF16)] */, - const char *_driver /* [in] [charset(UTF16)] */, - uint32_t _delete_flags /* [in] */, - uint32_t _version /* [in] */); -NTSTATUS rpccli_spoolss_DeletePrinterDriverEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [charset(UTF16)] */, - const char *driver /* [in] [charset(UTF16)] */, - uint32_t delete_flags /* [in] */, - uint32_t version /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_55_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_55_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_56_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_56_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_56(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_57_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_57_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_57(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_XcvData_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_function_name /* [in] [charset(UTF16)] */, - DATA_BLOB _in_data /* [in] */, - uint32_t __in_data_length /* [in] [value(r->in.in_data.length)] */, - uint8_t *_out_data /* [out] [ref,size_is(out_data_size)] */, - uint32_t _out_data_size /* [in] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_status_code /* [in,out] [ref] */); -NTSTATUS rpccli_spoolss_XcvData_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_XcvData(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *function_name /* [in] [charset(UTF16)] */, - DATA_BLOB in_data /* [in] */, - uint32_t _in_data_length /* [in] [value(r->in.in_data.length)] */, - uint8_t *out_data /* [out] [ref,size_is(out_data_size)] */, - uint32_t out_data_size /* [in] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *status_code /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_AddPrinterDriverEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *_info_ctr /* [in] [ref] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_spoolss_AddPrinterDriverEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_AddPrinterDriverEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - struct spoolss_AddDriverInfoCtr *info_ctr /* [in] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_5a_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_5a_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_5a(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_5b_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_5b_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_5b(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_5c_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_5c_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_5c(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_5d_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_5d_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_5d(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_5e_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_5e_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_5e(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_5f_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_5f_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_5f(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_60_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_60_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_60(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_61_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_61_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_61(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_62_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_62_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_62(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_63_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_63_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_63(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_64_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_64_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_64(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_65_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_65_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_65(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetCorePrinterDrivers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [ref,charset(UTF16)] */, - uint32_t _core_driver_size /* [in] */, - const char *_core_driver_dependencies /* [in] [ref,charset(UTF16),size_is(core_driver_size)] */, - uint32_t _core_printer_driver_count /* [in] */, - struct spoolss_CorePrinterDriver *_core_printer_drivers /* [out] [ref,size_is(core_printer_driver_count)] */); -NTSTATUS rpccli_spoolss_GetCorePrinterDrivers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetCorePrinterDrivers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [ref,charset(UTF16)] */, - uint32_t core_driver_size /* [in] */, - const char *core_driver_dependencies /* [in] [ref,charset(UTF16),size_is(core_driver_size)] */, - uint32_t core_printer_driver_count /* [in] */, - struct spoolss_CorePrinterDriver *core_printer_drivers /* [out] [ref,size_is(core_printer_driver_count)] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_67_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_67_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_67(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_GetPrinterDriverPackagePath_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_servername /* [in] [unique,charset(UTF16)] */, - const char *_architecture /* [in] [ref,charset(UTF16)] */, - const char *_language /* [in] [unique,charset(UTF16)] */, - const char *_package_id /* [in] [ref,charset(UTF16)] */, - const char *_driver_package_cab /* [in,out] [unique,charset(UTF16),size_is(driver_package_cab_size)] */, - uint32_t _driver_package_cab_size /* [in] */, - uint32_t *_required /* [out] [ref] */); -NTSTATUS rpccli_spoolss_GetPrinterDriverPackagePath_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_GetPrinterDriverPackagePath(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *servername /* [in] [unique,charset(UTF16)] */, - const char *architecture /* [in] [ref,charset(UTF16)] */, - const char *language /* [in] [unique,charset(UTF16)] */, - const char *package_id /* [in] [ref,charset(UTF16)] */, - const char *driver_package_cab /* [in,out] [unique,charset(UTF16),size_is(driver_package_cab_size)] */, - uint32_t driver_package_cab_size /* [in] */, - uint32_t *required /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_spoolss_69_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_69_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_69(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_6a_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_6a_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_6a(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_6b_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_6b_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_6b(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_6c_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_6c_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_6c(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_spoolss_6d_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_spoolss_6d_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_spoolss_6d(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -#endif /* __CLI_SPOOLSS__ */ diff --git a/librpc/gen_ndr/cli_srvsvc.c b/librpc/gen_ndr/cli_srvsvc.c deleted file mode 100644 index 045dd3c5a87..00000000000 --- a/librpc/gen_ndr/cli_srvsvc.c +++ /dev/null @@ -1,8319 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_srvsvc.h" - -struct rpccli_srvsvc_NetCharDevEnum_state { - struct srvsvc_NetCharDevEnum orig; - struct srvsvc_NetCharDevEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetCharDevEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetCharDevGetInfo_state { - struct srvsvc_NetCharDevGetInfo orig; - struct srvsvc_NetCharDevGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_device_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetCharDevInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.device_name = _device_name; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetCharDevGetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevGetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevGetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *device_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetCharDevInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.device_name = device_name; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetCharDevControl_state { - struct srvsvc_NetCharDevControl orig; - struct srvsvc_NetCharDevControl tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevControl_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevControl_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_device_name /* [in] [charset(UTF16)] */, - uint32_t _opcode /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevControl_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevControl_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.device_name = _device_name; - state->orig.in.opcode = _opcode; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVCONTROL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevControl_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevControl_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevControl_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevControl_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevControl_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevControl_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevControl_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevControl(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *device_name /* [in] [charset(UTF16)] */, - uint32_t opcode /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevControl r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.device_name = device_name; - r.in.opcode = opcode; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVCONTROL, - &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_srvsvc_NetCharDevQEnum_state { - struct srvsvc_NetCharDevQEnum orig; - struct srvsvc_NetCharDevQEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevQEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevQEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevQInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevQEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevQEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.user = _user; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetCharDevQEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevQEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevQEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevQEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevQEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevQInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevQEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.user = user; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetCharDevQGetInfo_state { - struct srvsvc_NetCharDevQGetInfo orig; - struct srvsvc_NetCharDevQGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevQGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevQGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */, - const char *_user /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetCharDevQInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevQGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevQGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.queue_name = _queue_name; - state->orig.in.user = _user; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetCharDevQGetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQGetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevQGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevQGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevQGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevQGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQGetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevQGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - const char *user /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetCharDevQInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevQGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.queue_name = queue_name; - r.in.user = user; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetCharDevQSetInfo_state { - struct srvsvc_NetCharDevQSetInfo orig; - struct srvsvc_NetCharDevQSetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevQSetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevQSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetCharDevQInfo _info /* [in] [switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevQSetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevQSetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.queue_name = _queue_name; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.parm_error = _parm_error; - - /* Out parameters */ - state->orig.out.parm_error = _parm_error; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetCharDevQSetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQSETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQSetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevQSetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevQSetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQSetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_error && state->tmp.out.parm_error) { - *state->orig.out.parm_error = *state->tmp.out.parm_error; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevQSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevQSetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQSetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevQSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetCharDevQInfo info /* [in] [switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevQSetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.queue_name = queue_name; - r.in.level = level; - r.in.info = info; - r.in.parm_error = parm_error; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQSETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_error && r.out.parm_error) { - *parm_error = *r.out.parm_error; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetCharDevQPurge_state { - struct srvsvc_NetCharDevQPurge orig; - struct srvsvc_NetCharDevQPurge tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevQPurge_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevQPurge_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevQPurge_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevQPurge_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.queue_name = _queue_name; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQPURGE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQPurge_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevQPurge_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevQPurge_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQPurge_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevQPurge_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevQPurge_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQPurge_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevQPurge(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevQPurge r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.queue_name = queue_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQPURGE, - &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_srvsvc_NetCharDevQPurgeSelf_state { - struct srvsvc_NetCharDevQPurgeSelf orig; - struct srvsvc_NetCharDevQPurgeSelf tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetCharDevQPurgeSelf_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetCharDevQPurgeSelf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */, - const char *_computer_name /* [in] [charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetCharDevQPurgeSelf_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetCharDevQPurgeSelf_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.queue_name = _queue_name; - state->orig.in.computer_name = _computer_name; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQPURGESELF, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQPurgeSelf_done, req); - return req; -} - -static void rpccli_srvsvc_NetCharDevQPurgeSelf_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetCharDevQPurgeSelf_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQPurgeSelf_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetCharDevQPurgeSelf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetCharDevQPurgeSelf_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetCharDevQPurgeSelf_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetCharDevQPurgeSelf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - const char *computer_name /* [in] [charset(UTF16)] */, - WERROR *werror) -{ - struct srvsvc_NetCharDevQPurgeSelf r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.queue_name = queue_name; - r.in.computer_name = computer_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCHARDEVQPURGESELF, - &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_srvsvc_NetConnEnum_state { - struct srvsvc_NetConnEnum orig; - struct srvsvc_NetConnEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetConnEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetConnEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetConnInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetConnEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetConnEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.path = _path; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetConnEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCONNENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetConnEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetConnEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetConnEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetConnEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetConnEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetConnEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetConnEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetConnEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetConnInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetConnEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.path = path; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETCONNENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetFileEnum_state { - struct srvsvc_NetFileEnum orig; - struct srvsvc_NetFileEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetFileEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetFileEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetFileInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetFileEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetFileEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.path = _path; - state->orig.in.user = _user; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetFileEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETFILEENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetFileEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetFileEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetFileEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetFileEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetFileEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetFileEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetFileEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetFileEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetFileInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetFileEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.path = path; - r.in.user = user; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETFILEENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetFileGetInfo_state { - struct srvsvc_NetFileGetInfo orig; - struct srvsvc_NetFileGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetFileGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetFileGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _fid /* [in] */, - uint32_t _level /* [in] */, - union srvsvc_NetFileInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetFileGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetFileGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.fid = _fid; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetFileGetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETFILEGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetFileGetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetFileGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetFileGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetFileGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetFileGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetFileGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetFileGetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetFileGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t fid /* [in] */, - uint32_t level /* [in] */, - union srvsvc_NetFileInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetFileGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.fid = fid; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETFILEGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetFileClose_state { - struct srvsvc_NetFileClose orig; - struct srvsvc_NetFileClose tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetFileClose_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetFileClose_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _fid /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetFileClose_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetFileClose_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.fid = _fid; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETFILECLOSE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetFileClose_done, req); - return req; -} - -static void rpccli_srvsvc_NetFileClose_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetFileClose_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetFileClose_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetFileClose_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetFileClose_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetFileClose_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetFileClose(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t fid /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetFileClose r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.fid = fid; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETFILECLOSE, - &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_srvsvc_NetSessEnum_state { - struct srvsvc_NetSessEnum orig; - struct srvsvc_NetSessEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetSessEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetSessEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_client /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetSessInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetSessEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetSessEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.client = _client; - state->orig.in.user = _user; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetSessEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSESSENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetSessEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetSessEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetSessEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSessEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetSessEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetSessEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSessEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetSessEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *client /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetSessInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetSessEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.client = client; - r.in.user = user; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSESSENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetSessDel_state { - struct srvsvc_NetSessDel orig; - struct srvsvc_NetSessDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetSessDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetSessDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_client /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetSessDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetSessDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.client = _client; - state->orig.in.user = _user; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSESSDEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetSessDel_done, req); - return req; -} - -static void rpccli_srvsvc_NetSessDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetSessDel_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSessDel_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetSessDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetSessDel_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSessDel_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetSessDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *client /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct srvsvc_NetSessDel r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.client = client; - r.in.user = user; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSESSDEL, - &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_srvsvc_NetShareAdd_state { - struct srvsvc_NetShareAdd orig; - struct srvsvc_NetShareAdd tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareAdd_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetShareInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareAdd_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareAdd_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.parm_error = _parm_error; - - /* Out parameters */ - state->orig.out.parm_error = _parm_error; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareAdd_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareAdd_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareAdd_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareAdd_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareAdd_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_error && state->tmp.out.parm_error) { - *state->orig.out.parm_error = *state->tmp.out.parm_error; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareAdd_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareAdd_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetShareInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetShareAdd r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - r.in.info = info; - r.in.parm_error = parm_error; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREADD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_error && r.out.parm_error) { - *parm_error = *r.out.parm_error; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetShareEnumAll_state { - struct srvsvc_NetShareEnumAll orig; - struct srvsvc_NetShareEnumAll tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareEnumAll_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareEnumAll_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareEnumAll_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareEnumAll_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareEnumAll_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREENUMALL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareEnumAll_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareEnumAll_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareEnumAll_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareEnumAll_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareEnumAll_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareEnumAll_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareEnumAll_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareEnumAll(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetShareEnumAll r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREENUMALL, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetShareGetInfo_state { - struct srvsvc_NetShareGetInfo orig; - struct srvsvc_NetShareGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetShareInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share_name = _share_name; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareGetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareGetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareGetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetShareInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetShareGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share_name = share_name; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetShareSetInfo_state { - struct srvsvc_NetShareSetInfo orig; - struct srvsvc_NetShareSetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareSetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetShareInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareSetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareSetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share_name = _share_name; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.parm_error = _parm_error; - - /* Out parameters */ - state->orig.out.parm_error = _parm_error; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareSetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHARESETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareSetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareSetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareSetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareSetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_error && state->tmp.out.parm_error) { - *state->orig.out.parm_error = *state->tmp.out.parm_error; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareSetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareSetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetShareInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetShareSetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share_name = share_name; - r.in.level = level; - r.in.info = info; - r.in.parm_error = parm_error; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHARESETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_error && r.out.parm_error) { - *parm_error = *r.out.parm_error; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetShareDel_state { - struct srvsvc_NetShareDel orig; - struct srvsvc_NetShareDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _reserved /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share_name = _share_name; - state->orig.in.reserved = _reserved; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDel_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareDel_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDel_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareDel_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDel_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t reserved /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetShareDel r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share_name = share_name; - r.in.reserved = reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDEL, - &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_srvsvc_NetShareDelSticky_state { - struct srvsvc_NetShareDelSticky orig; - struct srvsvc_NetShareDelSticky tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareDelSticky_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareDelSticky_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _reserved /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareDelSticky_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareDelSticky_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share_name = _share_name; - state->orig.in.reserved = _reserved; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDELSTICKY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDelSticky_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareDelSticky_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareDelSticky_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDelSticky_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareDelSticky_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareDelSticky_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDelSticky_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareDelSticky(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t reserved /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetShareDelSticky r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share_name = share_name; - r.in.reserved = reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDELSTICKY, - &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_srvsvc_NetShareCheck_state { - struct srvsvc_NetShareCheck orig; - struct srvsvc_NetShareCheck tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareCheck_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareCheck_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_device_name /* [in] [charset(UTF16)] */, - enum srvsvc_ShareType *_type /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareCheck_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareCheck_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.device_name = _device_name; - - /* Out parameters */ - state->orig.out.type = _type; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareCheck_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHARECHECK, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareCheck_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareCheck_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareCheck_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareCheck_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.type = *state->tmp.out.type; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareCheck_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareCheck_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareCheck_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareCheck(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *device_name /* [in] [charset(UTF16)] */, - enum srvsvc_ShareType *type /* [out] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetShareCheck r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.device_name = device_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHARECHECK, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *type = *r.out.type; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetSrvGetInfo_state { - struct srvsvc_NetSrvGetInfo orig; - struct srvsvc_NetSrvGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetSrvGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetSrvGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetSrvInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetSrvGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetSrvGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetSrvGetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSRVGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetSrvGetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetSrvGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetSrvGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSrvGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetSrvGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetSrvGetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSrvGetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetSrvGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetSrvInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetSrvGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSRVGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetSrvSetInfo_state { - struct srvsvc_NetSrvSetInfo orig; - struct srvsvc_NetSrvSetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetSrvSetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetSrvSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetSrvInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetSrvSetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetSrvSetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.parm_error = _parm_error; - - /* Out parameters */ - state->orig.out.parm_error = _parm_error; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetSrvSetInfo_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSRVSETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetSrvSetInfo_done, req); - return req; -} - -static void rpccli_srvsvc_NetSrvSetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetSrvSetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSrvSetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_error && state->tmp.out.parm_error) { - *state->orig.out.parm_error = *state->tmp.out.parm_error; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetSrvSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetSrvSetInfo_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSrvSetInfo_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetSrvSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetSrvInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetSrvSetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - r.in.info = info; - r.in.parm_error = parm_error; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSRVSETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_error && r.out.parm_error) { - *parm_error = *r.out.parm_error; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetDiskEnum_state { - struct srvsvc_NetDiskEnum orig; - struct srvsvc_NetDiskEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetDiskEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetDiskEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - struct srvsvc_NetDiskInfo *_info /* [in,out] [ref] */, - uint32_t _maxlen /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetDiskEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetDiskEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.maxlen = _maxlen; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetDiskEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETDISKENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetDiskEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetDiskEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetDiskEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetDiskEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetDiskEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetDiskEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetDiskEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetDiskEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - struct srvsvc_NetDiskInfo *info /* [in,out] [ref] */, - uint32_t maxlen /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetDiskEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - r.in.info = info; - r.in.maxlen = maxlen; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETDISKENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetServerStatisticsGet_state { - struct srvsvc_NetServerStatisticsGet orig; - struct srvsvc_NetServerStatisticsGet tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetServerStatisticsGet_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetServerStatisticsGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_service /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - uint32_t _options /* [in] */, - struct srvsvc_Statistics **_stats /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetServerStatisticsGet_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetServerStatisticsGet_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.service = _service; - state->orig.in.level = _level; - state->orig.in.options = _options; - - /* Out parameters */ - state->orig.out.stats = _stats; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetServerStatisticsGet_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSERVERSTATISTICSGET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetServerStatisticsGet_done, req); - return req; -} - -static void rpccli_srvsvc_NetServerStatisticsGet_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetServerStatisticsGet_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetServerStatisticsGet_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.stats = *state->tmp.out.stats; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetServerStatisticsGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetServerStatisticsGet_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetServerStatisticsGet_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *service /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - uint32_t options /* [in] */, - struct srvsvc_Statistics **stats /* [out] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetServerStatisticsGet r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.service = service; - r.in.level = level; - r.in.options = options; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSERVERSTATISTICSGET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *stats = *r.out.stats; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetTransportAdd_state { - struct srvsvc_NetTransportAdd orig; - struct srvsvc_NetTransportAdd tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetTransportAdd_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetTransportAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetTransportInfo _info /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetTransportAdd_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetTransportAdd_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETTRANSPORTADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetTransportAdd_done, req); - return req; -} - -static void rpccli_srvsvc_NetTransportAdd_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetTransportAdd_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetTransportAdd_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetTransportAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetTransportAdd_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetTransportAdd_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetTransportInfo info /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetTransportAdd r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETTRANSPORTADD, - &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_srvsvc_NetTransportEnum_state { - struct srvsvc_NetTransportEnum orig; - struct srvsvc_NetTransportEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetTransportEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetTransportEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetTransportInfoCtr *_transports /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetTransportEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetTransportEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.transports = _transports; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.transports = _transports; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetTransportEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETTRANSPORTENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetTransportEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetTransportEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetTransportEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetTransportEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.transports = *state->tmp.out.transports; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetTransportEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetTransportEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetTransportEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetTransportEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.transports = transports; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETTRANSPORTENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *transports = *r.out.transports; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetTransportDel_state { - struct srvsvc_NetTransportDel orig; - struct srvsvc_NetTransportDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetTransportDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetTransportDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - struct srvsvc_NetTransportInfo0 *_info0 /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetTransportDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetTransportDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - state->orig.in.info0 = _info0; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETTRANSPORTDEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetTransportDel_done, req); - return req; -} - -static void rpccli_srvsvc_NetTransportDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetTransportDel_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetTransportDel_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetTransportDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetTransportDel_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetTransportDel_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetTransportDel r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - r.in.info0 = info0; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETTRANSPORTDEL, - &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_srvsvc_NetRemoteTOD_state { - struct srvsvc_NetRemoteTOD orig; - struct srvsvc_NetRemoteTOD tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetRemoteTOD_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetRemoteTOD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetRemoteTODInfo **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetRemoteTOD_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetRemoteTOD_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetRemoteTOD_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETREMOTETOD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetRemoteTOD_done, req); - return req; -} - -static void rpccli_srvsvc_NetRemoteTOD_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetRemoteTOD_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetRemoteTOD_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetRemoteTOD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetRemoteTOD_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetRemoteTOD_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetRemoteTOD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetRemoteTODInfo **info /* [out] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetRemoteTOD r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETREMOTETOD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetSetServiceBits_state { - struct srvsvc_NetSetServiceBits orig; - struct srvsvc_NetSetServiceBits tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetSetServiceBits_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetSetServiceBits_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_transport /* [in] [unique,charset(UTF16)] */, - uint32_t _servicebits /* [in] */, - uint32_t _updateimmediately /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetSetServiceBits_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetSetServiceBits_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.transport = _transport; - state->orig.in.servicebits = _servicebits; - state->orig.in.updateimmediately = _updateimmediately; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSETSERVICEBITS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetSetServiceBits_done, req); - return req; -} - -static void rpccli_srvsvc_NetSetServiceBits_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetSetServiceBits_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSetServiceBits_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetSetServiceBits_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetSetServiceBits_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSetServiceBits_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetSetServiceBits(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *transport /* [in] [unique,charset(UTF16)] */, - uint32_t servicebits /* [in] */, - uint32_t updateimmediately /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetSetServiceBits r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.transport = transport; - r.in.servicebits = servicebits; - r.in.updateimmediately = updateimmediately; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSETSERVICEBITS, - &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_srvsvc_NetPathType_state { - struct srvsvc_NetPathType orig; - struct srvsvc_NetPathType tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetPathType_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetPathType_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [charset(UTF16)] */, - uint32_t _pathflags /* [in] */, - uint32_t *_pathtype /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetPathType_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetPathType_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.path = _path; - state->orig.in.pathflags = _pathflags; - - /* Out parameters */ - state->orig.out.pathtype = _pathtype; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetPathType_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPATHTYPE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetPathType_done, req); - return req; -} - -static void rpccli_srvsvc_NetPathType_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetPathType_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPathType_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.pathtype = *state->tmp.out.pathtype; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetPathType_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetPathType_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPathType_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetPathType(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [charset(UTF16)] */, - uint32_t pathflags /* [in] */, - uint32_t *pathtype /* [out] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetPathType r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.path = path; - r.in.pathflags = pathflags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPATHTYPE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *pathtype = *r.out.pathtype; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetPathCanonicalize_state { - struct srvsvc_NetPathCanonicalize orig; - struct srvsvc_NetPathCanonicalize tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetPathCanonicalize_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetPathCanonicalize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [charset(UTF16)] */, - uint8_t *_can_path /* [out] [size_is(maxbuf)] */, - uint32_t _maxbuf /* [in] */, - const char *_prefix /* [in] [charset(UTF16)] */, - uint32_t *_pathtype /* [in,out] [ref] */, - uint32_t _pathflags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetPathCanonicalize_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetPathCanonicalize_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.path = _path; - state->orig.in.maxbuf = _maxbuf; - state->orig.in.prefix = _prefix; - state->orig.in.pathtype = _pathtype; - state->orig.in.pathflags = _pathflags; - - /* Out parameters */ - state->orig.out.can_path = _can_path; - state->orig.out.pathtype = _pathtype; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetPathCanonicalize_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPATHCANONICALIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetPathCanonicalize_done, req); - return req; -} - -static void rpccli_srvsvc_NetPathCanonicalize_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetPathCanonicalize_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPathCanonicalize_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.can_path, state->tmp.out.can_path, (state->tmp.in.maxbuf) * sizeof(*state->orig.out.can_path)); - *state->orig.out.pathtype = *state->tmp.out.pathtype; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetPathCanonicalize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetPathCanonicalize_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPathCanonicalize_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetPathCanonicalize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [charset(UTF16)] */, - uint8_t *can_path /* [out] [size_is(maxbuf)] */, - uint32_t maxbuf /* [in] */, - const char *prefix /* [in] [charset(UTF16)] */, - uint32_t *pathtype /* [in,out] [ref] */, - uint32_t pathflags /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetPathCanonicalize r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.path = path; - r.in.maxbuf = maxbuf; - r.in.prefix = prefix; - r.in.pathtype = pathtype; - r.in.pathflags = pathflags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPATHCANONICALIZE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(can_path, r.out.can_path, (r.in.maxbuf) * sizeof(*can_path)); - *pathtype = *r.out.pathtype; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetPathCompare_state { - struct srvsvc_NetPathCompare orig; - struct srvsvc_NetPathCompare tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetPathCompare_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetPathCompare_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path1 /* [in] [charset(UTF16)] */, - const char *_path2 /* [in] [charset(UTF16)] */, - uint32_t _pathtype /* [in] */, - uint32_t _pathflags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetPathCompare_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetPathCompare_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.path1 = _path1; - state->orig.in.path2 = _path2; - state->orig.in.pathtype = _pathtype; - state->orig.in.pathflags = _pathflags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPATHCOMPARE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetPathCompare_done, req); - return req; -} - -static void rpccli_srvsvc_NetPathCompare_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetPathCompare_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPathCompare_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetPathCompare_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetPathCompare_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPathCompare_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetPathCompare(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path1 /* [in] [charset(UTF16)] */, - const char *path2 /* [in] [charset(UTF16)] */, - uint32_t pathtype /* [in] */, - uint32_t pathflags /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetPathCompare r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.path1 = path1; - r.in.path2 = path2; - r.in.pathtype = pathtype; - r.in.pathflags = pathflags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPATHCOMPARE, - &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_srvsvc_NetNameValidate_state { - struct srvsvc_NetNameValidate orig; - struct srvsvc_NetNameValidate tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetNameValidate_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetNameValidate_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_name /* [in] [charset(UTF16)] */, - uint32_t _name_type /* [in] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetNameValidate_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetNameValidate_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.name = _name; - state->orig.in.name_type = _name_type; - state->orig.in.flags = _flags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETNAMEVALIDATE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetNameValidate_done, req); - return req; -} - -static void rpccli_srvsvc_NetNameValidate_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetNameValidate_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetNameValidate_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetNameValidate_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetNameValidate_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetNameValidate_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetNameValidate(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *name /* [in] [charset(UTF16)] */, - uint32_t name_type /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetNameValidate r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.name = name; - r.in.name_type = name_type; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETNAMEVALIDATE, - &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_srvsvc_NETRPRNAMECANONICALIZE_state { - struct srvsvc_NETRPRNAMECANONICALIZE orig; - struct srvsvc_NETRPRNAMECANONICALIZE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRPRNAMECANONICALIZE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRPRNAMECANONICALIZE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRPRNAMECANONICALIZE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRPRNAMECANONICALIZE_done, req); - return req; -} - -static void rpccli_srvsvc_NETRPRNAMECANONICALIZE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRPRNAMECANONICALIZE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRPRNAMECANONICALIZE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRPRNAMECANONICALIZE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRPRNAMECANONICALIZE, - &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_srvsvc_NetPRNameCompare_state { - struct srvsvc_NetPRNameCompare orig; - struct srvsvc_NetPRNameCompare tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetPRNameCompare_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetPRNameCompare_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_name1 /* [in] [charset(UTF16)] */, - const char *_name2 /* [in] [charset(UTF16)] */, - uint32_t _name_type /* [in] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetPRNameCompare_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetPRNameCompare_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.name1 = _name1; - state->orig.in.name2 = _name2; - state->orig.in.name_type = _name_type; - state->orig.in.flags = _flags; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPRNAMECOMPARE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetPRNameCompare_done, req); - return req; -} - -static void rpccli_srvsvc_NetPRNameCompare_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetPRNameCompare_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPRNameCompare_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetPRNameCompare_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetPRNameCompare_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetPRNameCompare_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetPRNameCompare(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *name1 /* [in] [charset(UTF16)] */, - const char *name2 /* [in] [charset(UTF16)] */, - uint32_t name_type /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetPRNameCompare r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.name1 = name1; - r.in.name2 = name2; - r.in.name_type = name_type; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETPRNAMECOMPARE, - &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_srvsvc_NetShareEnum_state { - struct srvsvc_NetShareEnum orig; - struct srvsvc_NetShareEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.info_ctr = _info_ctr; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info_ctr = _info_ctr; - state->orig.out.totalentries = _totalentries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareEnum_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareEnum_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info_ctr = *state->tmp.out.info_ctr; - *state->orig.out.totalentries = *state->tmp.out.totalentries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareEnum_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareEnum_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetShareEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.info_ctr = info_ctr; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_ctr = *r.out.info_ctr; - *totalentries = *r.out.totalentries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetShareDelStart_state { - struct srvsvc_NetShareDelStart orig; - struct srvsvc_NetShareDelStart tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareDelStart_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareDelStart_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share /* [in] [charset(UTF16)] */, - uint32_t _reserved /* [in] */, - struct policy_handle *_hnd /* [out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareDelStart_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareDelStart_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share = _share; - state->orig.in.reserved = _reserved; - - /* Out parameters */ - state->orig.out.hnd = _hnd; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareDelStart_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDELSTART, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDelStart_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareDelStart_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareDelStart_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDelStart_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.hnd && state->tmp.out.hnd) { - *state->orig.out.hnd = *state->tmp.out.hnd; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareDelStart_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareDelStart_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDelStart_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareDelStart(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share /* [in] [charset(UTF16)] */, - uint32_t reserved /* [in] */, - struct policy_handle *hnd /* [out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetShareDelStart r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share = share; - r.in.reserved = reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDELSTART, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (hnd && r.out.hnd) { - *hnd = *r.out.hnd; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetShareDelCommit_state { - struct srvsvc_NetShareDelCommit orig; - struct srvsvc_NetShareDelCommit tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetShareDelCommit_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetShareDelCommit_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_hnd /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetShareDelCommit_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetShareDelCommit_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.hnd = _hnd; - - /* Out parameters */ - state->orig.out.hnd = _hnd; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetShareDelCommit_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDELCOMMIT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDelCommit_done, req); - return req; -} - -static void rpccli_srvsvc_NetShareDelCommit_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetShareDelCommit_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDelCommit_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.hnd && state->tmp.out.hnd) { - *state->orig.out.hnd = *state->tmp.out.hnd; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetShareDelCommit_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetShareDelCommit_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetShareDelCommit_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetShareDelCommit(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *hnd /* [in,out] [unique] */, - WERROR *werror) -{ - struct srvsvc_NetShareDelCommit r; - NTSTATUS status; - - /* In parameters */ - r.in.hnd = hnd; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSHAREDELCOMMIT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (hnd && r.out.hnd) { - *hnd = *r.out.hnd; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetGetFileSecurity_state { - struct srvsvc_NetGetFileSecurity orig; - struct srvsvc_NetGetFileSecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetGetFileSecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetGetFileSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share /* [in] [unique,charset(UTF16)] */, - const char *_file /* [in] [charset(UTF16)] */, - uint32_t _securityinformation /* [in] */, - struct sec_desc_buf **_sd_buf /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetGetFileSecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetGetFileSecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share = _share; - state->orig.in.file = _file; - state->orig.in.securityinformation = _securityinformation; - - /* Out parameters */ - state->orig.out.sd_buf = _sd_buf; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_srvsvc_NetGetFileSecurity_out_memory"); - if (tevent_req_nomem(state->out_mem_ctx, req)) { - return tevent_req_post(req, ev); - } - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETGETFILESECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetGetFileSecurity_done, req); - return req; -} - -static void rpccli_srvsvc_NetGetFileSecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetGetFileSecurity_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetGetFileSecurity_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.sd_buf = *state->tmp.out.sd_buf; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetGetFileSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetGetFileSecurity_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetGetFileSecurity_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetGetFileSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share /* [in] [unique,charset(UTF16)] */, - const char *file /* [in] [charset(UTF16)] */, - uint32_t securityinformation /* [in] */, - struct sec_desc_buf **sd_buf /* [out] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetGetFileSecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share = share; - r.in.file = file; - r.in.securityinformation = securityinformation; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETGETFILESECURITY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sd_buf = *r.out.sd_buf; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_srvsvc_NetSetFileSecurity_state { - struct srvsvc_NetSetFileSecurity orig; - struct srvsvc_NetSetFileSecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetSetFileSecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetSetFileSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share /* [in] [unique,charset(UTF16)] */, - const char *_file /* [in] [charset(UTF16)] */, - uint32_t _securityinformation /* [in] */, - struct sec_desc_buf *_sd_buf /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetSetFileSecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetSetFileSecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.share = _share; - state->orig.in.file = _file; - state->orig.in.securityinformation = _securityinformation; - state->orig.in.sd_buf = _sd_buf; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSETFILESECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetSetFileSecurity_done, req); - return req; -} - -static void rpccli_srvsvc_NetSetFileSecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetSetFileSecurity_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSetFileSecurity_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetSetFileSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetSetFileSecurity_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetSetFileSecurity_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetSetFileSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share /* [in] [unique,charset(UTF16)] */, - const char *file /* [in] [charset(UTF16)] */, - uint32_t securityinformation /* [in] */, - struct sec_desc_buf *sd_buf /* [in] [ref] */, - WERROR *werror) -{ - struct srvsvc_NetSetFileSecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.share = share; - r.in.file = file; - r.in.securityinformation = securityinformation; - r.in.sd_buf = sd_buf; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSETFILESECURITY, - &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_srvsvc_NetServerTransportAddEx_state { - struct srvsvc_NetServerTransportAddEx orig; - struct srvsvc_NetServerTransportAddEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetServerTransportAddEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetServerTransportAddEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetTransportInfo _info /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetServerTransportAddEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetServerTransportAddEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.level = _level; - state->orig.in.info = _info; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSERVERTRANSPORTADDEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetServerTransportAddEx_done, req); - return req; -} - -static void rpccli_srvsvc_NetServerTransportAddEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetServerTransportAddEx_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetServerTransportAddEx_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetServerTransportAddEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetServerTransportAddEx_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetServerTransportAddEx_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetServerTransportAddEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetTransportInfo info /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct srvsvc_NetServerTransportAddEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.level = level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSERVERTRANSPORTADDEX, - &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_srvsvc_NetServerSetServiceBitsEx_state { - struct srvsvc_NetServerSetServiceBitsEx orig; - struct srvsvc_NetServerSetServiceBitsEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NetServerSetServiceBitsEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NetServerSetServiceBitsEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_emulated_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_transport /* [in] [unique,charset(UTF16)] */, - uint32_t _servicebitsofinterest /* [in] */, - uint32_t _servicebits /* [in] */, - uint32_t _updateimmediately /* [in] */) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NetServerSetServiceBitsEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NetServerSetServiceBitsEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_unc = _server_unc; - state->orig.in.emulated_server_unc = _emulated_server_unc; - state->orig.in.transport = _transport; - state->orig.in.servicebitsofinterest = _servicebitsofinterest; - state->orig.in.servicebits = _servicebits; - state->orig.in.updateimmediately = _updateimmediately; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSERVERSETSERVICEBITSEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NetServerSetServiceBitsEx_done, req); - return req; -} - -static void rpccli_srvsvc_NetServerSetServiceBitsEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NetServerSetServiceBitsEx_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetServerSetServiceBitsEx_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NetServerSetServiceBitsEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NetServerSetServiceBitsEx_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NetServerSetServiceBitsEx_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NetServerSetServiceBitsEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *emulated_server_unc /* [in] [unique,charset(UTF16)] */, - const char *transport /* [in] [unique,charset(UTF16)] */, - uint32_t servicebitsofinterest /* [in] */, - uint32_t servicebits /* [in] */, - uint32_t updateimmediately /* [in] */, - WERROR *werror) -{ - struct srvsvc_NetServerSetServiceBitsEx r; - NTSTATUS status; - - /* In parameters */ - r.in.server_unc = server_unc; - r.in.emulated_server_unc = emulated_server_unc; - r.in.transport = transport; - r.in.servicebitsofinterest = servicebitsofinterest; - r.in.servicebits = servicebits; - r.in.updateimmediately = updateimmediately; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETSERVERSETSERVICEBITSEX, - &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_srvsvc_NETRDFSGETVERSION_state { - struct srvsvc_NETRDFSGETVERSION orig; - struct srvsvc_NETRDFSGETVERSION tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSGETVERSION_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSGETVERSION_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSGETVERSION_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSGETVERSION_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSGETVERSION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSGETVERSION_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSGETVERSION_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSGETVERSION_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSGETVERSION_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSGETVERSION_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSGETVERSION_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSGETVERSION_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSGETVERSION(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSGETVERSION r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSGETVERSION, - &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_srvsvc_NETRDFSCREATELOCALPARTITION_state { - struct srvsvc_NETRDFSCREATELOCALPARTITION orig; - struct srvsvc_NETRDFSCREATELOCALPARTITION tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSCREATELOCALPARTITION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSCREATELOCALPARTITION(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSCREATELOCALPARTITION r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSCREATELOCALPARTITION, - &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_srvsvc_NETRDFSDELETELOCALPARTITION_state { - struct srvsvc_NETRDFSDELETELOCALPARTITION orig; - struct srvsvc_NETRDFSDELETELOCALPARTITION tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSDELETELOCALPARTITION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSDELETELOCALPARTITION(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSDELETELOCALPARTITION r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSDELETELOCALPARTITION, - &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_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state { - struct srvsvc_NETRDFSSETLOCALVOLUMESTATE orig; - struct srvsvc_NETRDFSSETLOCALVOLUMESTATE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSSETLOCALVOLUMESTATE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE, - &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_srvsvc_NETRDFSSETSERVERINFO_state { - struct srvsvc_NETRDFSSETSERVERINFO orig; - struct srvsvc_NETRDFSSETSERVERINFO tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSSETSERVERINFO_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSSETSERVERINFO_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSSETSERVERINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSSETSERVERINFO_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSSETSERVERINFO_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSSETSERVERINFO_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSSETSERVERINFO(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSSETSERVERINFO r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSSETSERVERINFO, - &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_srvsvc_NETRDFSCREATEEXITPOINT_state { - struct srvsvc_NETRDFSCREATEEXITPOINT orig; - struct srvsvc_NETRDFSCREATEEXITPOINT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSCREATEEXITPOINT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSCREATEEXITPOINT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSCREATEEXITPOINT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSCREATEEXITPOINT_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSCREATEEXITPOINT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSCREATEEXITPOINT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSCREATEEXITPOINT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSCREATEEXITPOINT r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSCREATEEXITPOINT, - &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_srvsvc_NETRDFSDELETEEXITPOINT_state { - struct srvsvc_NETRDFSDELETEEXITPOINT orig; - struct srvsvc_NETRDFSDELETEEXITPOINT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSDELETEEXITPOINT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSDELETEEXITPOINT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSDELETEEXITPOINT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSDELETEEXITPOINT_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSDELETEEXITPOINT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSDELETEEXITPOINT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSDELETEEXITPOINT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSDELETEEXITPOINT r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSDELETEEXITPOINT, - &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_srvsvc_NETRDFSMODIFYPREFIX_state { - struct srvsvc_NETRDFSMODIFYPREFIX orig; - struct srvsvc_NETRDFSMODIFYPREFIX tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSMODIFYPREFIX_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSMODIFYPREFIX_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSMODIFYPREFIX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSMODIFYPREFIX_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSMODIFYPREFIX_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSMODIFYPREFIX_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSMODIFYPREFIX(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSMODIFYPREFIX r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSMODIFYPREFIX, - &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_srvsvc_NETRDFSFIXLOCALVOLUME_state { - struct srvsvc_NETRDFSFIXLOCALVOLUME orig; - struct srvsvc_NETRDFSFIXLOCALVOLUME tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSFIXLOCALVOLUME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSFIXLOCALVOLUME(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSFIXLOCALVOLUME r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSFIXLOCALVOLUME, - &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_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state { - struct srvsvc_NETRDFSMANAGERREPORTSITEINFO orig; - struct srvsvc_NETRDFSMANAGERREPORTSITEINFO tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_done, req); - return req; -} - -static void rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRDFSMANAGERREPORTSITEINFO r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO, - &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_srvsvc_NETRSERVERTRANSPORTDELEX_state { - struct srvsvc_NETRSERVERTRANSPORTDELEX orig; - struct srvsvc_NETRSERVERTRANSPORTDELEX tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRSERVERTRANSPORTDELEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_done, req); - return req; -} - -static void rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state *state = tevent_req_data( - req, struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_srvsvc_NETRSERVERTRANSPORTDELEX(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct srvsvc_NETRSERVERTRANSPORTDELEX r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_srvsvc, - NDR_SRVSVC_NETRSERVERTRANSPORTDELEX, - &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); -} - diff --git a/librpc/gen_ndr/cli_srvsvc.h b/librpc/gen_ndr/cli_srvsvc.h deleted file mode 100644 index d55fca55a58..00000000000 --- a/librpc/gen_ndr/cli_srvsvc.h +++ /dev/null @@ -1,846 +0,0 @@ -#include "../librpc/gen_ndr/ndr_srvsvc.h" -#ifndef __CLI_SRVSVC__ -#define __CLI_SRVSVC__ -struct tevent_req *rpccli_srvsvc_NetCharDevEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetCharDevEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_device_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetCharDevInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetCharDevGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *device_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetCharDevInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevControl_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_device_name /* [in] [charset(UTF16)] */, - uint32_t _opcode /* [in] */); -NTSTATUS rpccli_srvsvc_NetCharDevControl_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevControl(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *device_name /* [in] [charset(UTF16)] */, - uint32_t opcode /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevQEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevQInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetCharDevQEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetCharDevQInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevQGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */, - const char *_user /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetCharDevQInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetCharDevQGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevQGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - const char *user /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetCharDevQInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevQSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetCharDevQInfo _info /* [in] [switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetCharDevQSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevQSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetCharDevQInfo info /* [in] [switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevQPurge_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_srvsvc_NetCharDevQPurge_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevQPurge(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetCharDevQPurgeSelf_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_queue_name /* [in] [charset(UTF16)] */, - const char *_computer_name /* [in] [charset(UTF16)] */); -NTSTATUS rpccli_srvsvc_NetCharDevQPurgeSelf_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetCharDevQPurgeSelf(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *queue_name /* [in] [charset(UTF16)] */, - const char *computer_name /* [in] [charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetConnEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetConnInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetConnEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetConnEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetConnInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetFileEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetFileInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetFileEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetFileEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetFileInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetFileGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _fid /* [in] */, - uint32_t _level /* [in] */, - union srvsvc_NetFileInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetFileGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetFileGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t fid /* [in] */, - uint32_t level /* [in] */, - union srvsvc_NetFileInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetFileClose_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _fid /* [in] */); -NTSTATUS rpccli_srvsvc_NetFileClose_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetFileClose(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t fid /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetSessEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_client /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetSessInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetSessEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetSessEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *client /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetSessInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetSessDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_client /* [in] [unique,charset(UTF16)] */, - const char *_user /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_srvsvc_NetSessDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetSessDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *client /* [in] [unique,charset(UTF16)] */, - const char *user /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetShareInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetShareAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetShareInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareEnumAll_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetShareEnumAll_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareEnumAll(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetShareInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetShareGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetShareInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetShareInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetShareSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetShareInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _reserved /* [in] */); -NTSTATUS rpccli_srvsvc_NetShareDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t reserved /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareDelSticky_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share_name /* [in] [charset(UTF16)] */, - uint32_t _reserved /* [in] */); -NTSTATUS rpccli_srvsvc_NetShareDelSticky_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareDelSticky(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share_name /* [in] [charset(UTF16)] */, - uint32_t reserved /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareCheck_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_device_name /* [in] [charset(UTF16)] */, - enum srvsvc_ShareType *_type /* [out] [ref] */); -NTSTATUS rpccli_srvsvc_NetShareCheck_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareCheck(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *device_name /* [in] [charset(UTF16)] */, - enum srvsvc_ShareType *type /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetSrvGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetSrvInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetSrvGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetSrvGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetSrvInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetSrvSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetSrvInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetSrvSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetSrvSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetSrvInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetDiskEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - struct srvsvc_NetDiskInfo *_info /* [in,out] [ref] */, - uint32_t _maxlen /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetDiskEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetDiskEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - struct srvsvc_NetDiskInfo *info /* [in,out] [ref] */, - uint32_t maxlen /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetServerStatisticsGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_service /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - uint32_t _options /* [in] */, - struct srvsvc_Statistics **_stats /* [out] [ref] */); -NTSTATUS rpccli_srvsvc_NetServerStatisticsGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *service /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - uint32_t options /* [in] */, - struct srvsvc_Statistics **stats /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetTransportAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetTransportInfo _info /* [in] [switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetTransportAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetTransportInfo info /* [in] [switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetTransportEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetTransportInfoCtr *_transports /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetTransportEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetTransportDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - struct srvsvc_NetTransportInfo0 *_info0 /* [in] [ref] */); -NTSTATUS rpccli_srvsvc_NetTransportDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetRemoteTOD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetRemoteTODInfo **_info /* [out] [ref] */); -NTSTATUS rpccli_srvsvc_NetRemoteTOD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetRemoteTOD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetRemoteTODInfo **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetSetServiceBits_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_transport /* [in] [unique,charset(UTF16)] */, - uint32_t _servicebits /* [in] */, - uint32_t _updateimmediately /* [in] */); -NTSTATUS rpccli_srvsvc_NetSetServiceBits_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetSetServiceBits(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *transport /* [in] [unique,charset(UTF16)] */, - uint32_t servicebits /* [in] */, - uint32_t updateimmediately /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetPathType_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [charset(UTF16)] */, - uint32_t _pathflags /* [in] */, - uint32_t *_pathtype /* [out] [ref] */); -NTSTATUS rpccli_srvsvc_NetPathType_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetPathType(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [charset(UTF16)] */, - uint32_t pathflags /* [in] */, - uint32_t *pathtype /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetPathCanonicalize_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path /* [in] [charset(UTF16)] */, - uint8_t *_can_path /* [out] [size_is(maxbuf)] */, - uint32_t _maxbuf /* [in] */, - const char *_prefix /* [in] [charset(UTF16)] */, - uint32_t *_pathtype /* [in,out] [ref] */, - uint32_t _pathflags /* [in] */); -NTSTATUS rpccli_srvsvc_NetPathCanonicalize_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetPathCanonicalize(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path /* [in] [charset(UTF16)] */, - uint8_t *can_path /* [out] [size_is(maxbuf)] */, - uint32_t maxbuf /* [in] */, - const char *prefix /* [in] [charset(UTF16)] */, - uint32_t *pathtype /* [in,out] [ref] */, - uint32_t pathflags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetPathCompare_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_path1 /* [in] [charset(UTF16)] */, - const char *_path2 /* [in] [charset(UTF16)] */, - uint32_t _pathtype /* [in] */, - uint32_t _pathflags /* [in] */); -NTSTATUS rpccli_srvsvc_NetPathCompare_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetPathCompare(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *path1 /* [in] [charset(UTF16)] */, - const char *path2 /* [in] [charset(UTF16)] */, - uint32_t pathtype /* [in] */, - uint32_t pathflags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetNameValidate_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_name /* [in] [charset(UTF16)] */, - uint32_t _name_type /* [in] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_srvsvc_NetNameValidate_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetNameValidate(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *name /* [in] [charset(UTF16)] */, - uint32_t name_type /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRPRNAMECANONICALIZE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRPRNAMECANONICALIZE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRPRNAMECANONICALIZE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetPRNameCompare_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_name1 /* [in] [charset(UTF16)] */, - const char *_name2 /* [in] [charset(UTF16)] */, - uint32_t _name_type /* [in] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_srvsvc_NetPRNameCompare_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetPRNameCompare(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *name1 /* [in] [charset(UTF16)] */, - const char *name2 /* [in] [charset(UTF16)] */, - uint32_t name_type /* [in] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *_info_ctr /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_totalentries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetShareEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - struct srvsvc_NetShareInfoCtr *info_ctr /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *totalentries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareDelStart_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share /* [in] [charset(UTF16)] */, - uint32_t _reserved /* [in] */, - struct policy_handle *_hnd /* [out] [unique] */); -NTSTATUS rpccli_srvsvc_NetShareDelStart_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareDelStart(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share /* [in] [charset(UTF16)] */, - uint32_t reserved /* [in] */, - struct policy_handle *hnd /* [out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetShareDelCommit_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_hnd /* [in,out] [unique] */); -NTSTATUS rpccli_srvsvc_NetShareDelCommit_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetShareDelCommit(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *hnd /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetGetFileSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share /* [in] [unique,charset(UTF16)] */, - const char *_file /* [in] [charset(UTF16)] */, - uint32_t _securityinformation /* [in] */, - struct sec_desc_buf **_sd_buf /* [out] [ref] */); -NTSTATUS rpccli_srvsvc_NetGetFileSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetGetFileSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share /* [in] [unique,charset(UTF16)] */, - const char *file /* [in] [charset(UTF16)] */, - uint32_t securityinformation /* [in] */, - struct sec_desc_buf **sd_buf /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetSetFileSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_share /* [in] [unique,charset(UTF16)] */, - const char *_file /* [in] [charset(UTF16)] */, - uint32_t _securityinformation /* [in] */, - struct sec_desc_buf *_sd_buf /* [in] [ref] */); -NTSTATUS rpccli_srvsvc_NetSetFileSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetSetFileSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *share /* [in] [unique,charset(UTF16)] */, - const char *file /* [in] [charset(UTF16)] */, - uint32_t securityinformation /* [in] */, - struct sec_desc_buf *sd_buf /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetServerTransportAddEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union srvsvc_NetTransportInfo _info /* [in] [switch_is(level)] */); -NTSTATUS rpccli_srvsvc_NetServerTransportAddEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetServerTransportAddEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union srvsvc_NetTransportInfo info /* [in] [switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NetServerSetServiceBitsEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_emulated_server_unc /* [in] [unique,charset(UTF16)] */, - const char *_transport /* [in] [unique,charset(UTF16)] */, - uint32_t _servicebitsofinterest /* [in] */, - uint32_t _servicebits /* [in] */, - uint32_t _updateimmediately /* [in] */); -NTSTATUS rpccli_srvsvc_NetServerSetServiceBitsEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NetServerSetServiceBitsEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_unc /* [in] [unique,charset(UTF16)] */, - const char *emulated_server_unc /* [in] [unique,charset(UTF16)] */, - const char *transport /* [in] [unique,charset(UTF16)] */, - uint32_t servicebitsofinterest /* [in] */, - uint32_t servicebits /* [in] */, - uint32_t updateimmediately /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSGETVERSION_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSGETVERSION_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSGETVERSION(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSCREATELOCALPARTITION(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSDELETELOCALPARTITION(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSSETSERVERINFO_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSSETSERVERINFO_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSSETSERVERINFO(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSCREATEEXITPOINT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSCREATEEXITPOINT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSCREATEEXITPOINT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSDELETEEXITPOINT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSDELETEEXITPOINT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSDELETEEXITPOINT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSMODIFYPREFIX_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSMODIFYPREFIX_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSMODIFYPREFIX(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSFIXLOCALVOLUME(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_srvsvc_NETRSERVERTRANSPORTDELEX(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -#endif /* __CLI_SRVSVC__ */ diff --git a/librpc/gen_ndr/cli_svcctl.c b/librpc/gen_ndr/cli_svcctl.c deleted file mode 100644 index 80237c58890..00000000000 --- a/librpc/gen_ndr/cli_svcctl.c +++ /dev/null @@ -1,7054 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_svcctl.h" - -struct rpccli_svcctl_CloseServiceHandle_state { - struct svcctl_CloseServiceHandle orig; - struct svcctl_CloseServiceHandle tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_CloseServiceHandle_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_CloseServiceHandle_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_CloseServiceHandle_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_CloseServiceHandle_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_CloseServiceHandle_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_svcctl, - NDR_SVCCTL_CLOSESERVICEHANDLE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_CloseServiceHandle_done, req); - return req; -} - -static void rpccli_svcctl_CloseServiceHandle_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_CloseServiceHandle_state *state = tevent_req_data( - req, struct rpccli_svcctl_CloseServiceHandle_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_CloseServiceHandle_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_CloseServiceHandle_state *state = tevent_req_data( - req, struct rpccli_svcctl_CloseServiceHandle_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_svcctl_CloseServiceHandle(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror) -{ - struct svcctl_CloseServiceHandle r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CLOSESERVICEHANDLE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_ControlService_state { - struct svcctl_ControlService orig; - struct svcctl_ControlService tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_ControlService_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_ControlService_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum SERVICE_CONTROL _control /* [in] */, - struct SERVICE_STATUS *_service_status /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_ControlService_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_ControlService_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.control = _control; - - /* Out parameters */ - state->orig.out.service_status = _service_status; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_ControlService_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_svcctl, - NDR_SVCCTL_CONTROLSERVICE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_ControlService_done, req); - return req; -} - -static void rpccli_svcctl_ControlService_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_ControlService_state *state = tevent_req_data( - req, struct rpccli_svcctl_ControlService_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.service_status = *state->tmp.out.service_status; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_ControlService_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_ControlService_state *state = tevent_req_data( - req, struct rpccli_svcctl_ControlService_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_svcctl_ControlService(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum SERVICE_CONTROL control /* [in] */, - struct SERVICE_STATUS *service_status /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_ControlService r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.control = control; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CONTROLSERVICE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *service_status = *r.out.service_status; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_DeleteService_state { - struct svcctl_DeleteService orig; - struct svcctl_DeleteService tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_DeleteService_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_DeleteService_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_DeleteService_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_DeleteService_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_svcctl, - NDR_SVCCTL_DELETESERVICE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_DeleteService_done, req); - return req; -} - -static void rpccli_svcctl_DeleteService_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_DeleteService_state *state = tevent_req_data( - req, struct rpccli_svcctl_DeleteService_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_svcctl_DeleteService_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_DeleteService_state *state = tevent_req_data( - req, struct rpccli_svcctl_DeleteService_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_svcctl_DeleteService(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct svcctl_DeleteService r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_DELETESERVICE, - &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_svcctl_LockServiceDatabase_state { - struct svcctl_LockServiceDatabase orig; - struct svcctl_LockServiceDatabase tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_LockServiceDatabase_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_LockServiceDatabase_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct policy_handle *_lock /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_LockServiceDatabase_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_LockServiceDatabase_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.lock = _lock; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_LockServiceDatabase_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_svcctl, - NDR_SVCCTL_LOCKSERVICEDATABASE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_LockServiceDatabase_done, req); - return req; -} - -static void rpccli_svcctl_LockServiceDatabase_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_LockServiceDatabase_state *state = tevent_req_data( - req, struct rpccli_svcctl_LockServiceDatabase_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.lock = *state->tmp.out.lock; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_LockServiceDatabase_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_LockServiceDatabase_state *state = tevent_req_data( - req, struct rpccli_svcctl_LockServiceDatabase_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_svcctl_LockServiceDatabase(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct policy_handle *lock /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_LockServiceDatabase r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_LOCKSERVICEDATABASE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *lock = *r.out.lock; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_QueryServiceObjectSecurity_state { - struct svcctl_QueryServiceObjectSecurity orig; - struct svcctl_QueryServiceObjectSecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceObjectSecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceObjectSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _security_flags /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceObjectSecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceObjectSecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.security_flags = _security_flags; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceObjectSecurity_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_svcctl, - NDR_SVCCTL_QUERYSERVICEOBJECTSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceObjectSecurity_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceObjectSecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceObjectSecurity_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceObjectSecurity_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.offered) * sizeof(*state->orig.out.buffer)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceObjectSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceObjectSecurity_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceObjectSecurity_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_svcctl_QueryServiceObjectSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t security_flags /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - WERROR *werror) -{ - struct svcctl_QueryServiceObjectSecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.security_flags = security_flags; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICEOBJECTSECURITY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(buffer, r.out.buffer, (r.in.offered) * sizeof(*buffer)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_SetServiceObjectSecurity_state { - struct svcctl_SetServiceObjectSecurity orig; - struct svcctl_SetServiceObjectSecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_SetServiceObjectSecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_SetServiceObjectSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _security_flags /* [in] */, - uint8_t *_buffer /* [in] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_SetServiceObjectSecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_SetServiceObjectSecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.security_flags = _security_flags; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* 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_svcctl, - NDR_SVCCTL_SETSERVICEOBJECTSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_SetServiceObjectSecurity_done, req); - return req; -} - -static void rpccli_svcctl_SetServiceObjectSecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_SetServiceObjectSecurity_state *state = tevent_req_data( - req, struct rpccli_svcctl_SetServiceObjectSecurity_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_svcctl_SetServiceObjectSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_SetServiceObjectSecurity_state *state = tevent_req_data( - req, struct rpccli_svcctl_SetServiceObjectSecurity_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_svcctl_SetServiceObjectSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t security_flags /* [in] */, - uint8_t *buffer /* [in] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - WERROR *werror) -{ - struct svcctl_SetServiceObjectSecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.security_flags = security_flags; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_SETSERVICEOBJECTSECURITY, - &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_svcctl_QueryServiceStatus_state { - struct svcctl_QueryServiceStatus orig; - struct svcctl_QueryServiceStatus tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceStatus_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct SERVICE_STATUS *_service_status /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceStatus_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceStatus_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.service_status = _service_status; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceStatus_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_svcctl, - NDR_SVCCTL_QUERYSERVICESTATUS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceStatus_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceStatus_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceStatus_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceStatus_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.service_status = *state->tmp.out.service_status; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceStatus_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceStatus_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_svcctl_QueryServiceStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct SERVICE_STATUS *service_status /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_QueryServiceStatus r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICESTATUS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *service_status = *r.out.service_status; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_SetServiceStatus_state { - struct svcctl_SetServiceStatus orig; - struct svcctl_SetServiceStatus tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_SetServiceStatus_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_SetServiceStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_svcctl_SetServiceStatus_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_SetServiceStatus_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_svcctl, - NDR_SVCCTL_SETSERVICESTATUS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_SetServiceStatus_done, req); - return req; -} - -static void rpccli_svcctl_SetServiceStatus_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_SetServiceStatus_state *state = tevent_req_data( - req, struct rpccli_svcctl_SetServiceStatus_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_svcctl_SetServiceStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_SetServiceStatus_state *state = tevent_req_data( - req, struct rpccli_svcctl_SetServiceStatus_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_svcctl_SetServiceStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct svcctl_SetServiceStatus r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_SETSERVICESTATUS, - &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_svcctl_UnlockServiceDatabase_state { - struct svcctl_UnlockServiceDatabase orig; - struct svcctl_UnlockServiceDatabase tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_UnlockServiceDatabase_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_UnlockServiceDatabase_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_lock /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_UnlockServiceDatabase_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_UnlockServiceDatabase_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.lock = _lock; - - /* Out parameters */ - state->orig.out.lock = _lock; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_UnlockServiceDatabase_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_svcctl, - NDR_SVCCTL_UNLOCKSERVICEDATABASE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_UnlockServiceDatabase_done, req); - return req; -} - -static void rpccli_svcctl_UnlockServiceDatabase_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_UnlockServiceDatabase_state *state = tevent_req_data( - req, struct rpccli_svcctl_UnlockServiceDatabase_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.lock = *state->tmp.out.lock; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_UnlockServiceDatabase_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_UnlockServiceDatabase_state *state = tevent_req_data( - req, struct rpccli_svcctl_UnlockServiceDatabase_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_svcctl_UnlockServiceDatabase(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *lock /* [in,out] [ref] */, - WERROR *werror) -{ - struct svcctl_UnlockServiceDatabase r; - NTSTATUS status; - - /* In parameters */ - r.in.lock = lock; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_UNLOCKSERVICEDATABASE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *lock = *r.out.lock; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_NotifyBootConfigStatus_state { - struct svcctl_NotifyBootConfigStatus orig; - struct svcctl_NotifyBootConfigStatus tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_NotifyBootConfigStatus_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_NotifyBootConfigStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_svcctl_NotifyBootConfigStatus_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_NotifyBootConfigStatus_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_svcctl, - NDR_SVCCTL_NOTIFYBOOTCONFIGSTATUS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_NotifyBootConfigStatus_done, req); - return req; -} - -static void rpccli_svcctl_NotifyBootConfigStatus_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_NotifyBootConfigStatus_state *state = tevent_req_data( - req, struct rpccli_svcctl_NotifyBootConfigStatus_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_svcctl_NotifyBootConfigStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_NotifyBootConfigStatus_state *state = tevent_req_data( - req, struct rpccli_svcctl_NotifyBootConfigStatus_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_svcctl_NotifyBootConfigStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct svcctl_NotifyBootConfigStatus r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_NOTIFYBOOTCONFIGSTATUS, - &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_svcctl_SCSetServiceBitsW_state { - struct svcctl_SCSetServiceBitsW orig; - struct svcctl_SCSetServiceBitsW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_SCSetServiceBitsW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_SCSetServiceBitsW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _bits /* [in] */, - uint32_t _bitson /* [in] */, - uint32_t _immediate /* [in] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_SCSetServiceBitsW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_SCSetServiceBitsW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.bits = _bits; - state->orig.in.bitson = _bitson; - state->orig.in.immediate = _immediate; - - /* 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_svcctl, - NDR_SVCCTL_SCSETSERVICEBITSW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_SCSetServiceBitsW_done, req); - return req; -} - -static void rpccli_svcctl_SCSetServiceBitsW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_SCSetServiceBitsW_state *state = tevent_req_data( - req, struct rpccli_svcctl_SCSetServiceBitsW_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_svcctl_SCSetServiceBitsW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_SCSetServiceBitsW_state *state = tevent_req_data( - req, struct rpccli_svcctl_SCSetServiceBitsW_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_svcctl_SCSetServiceBitsW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t bits /* [in] */, - uint32_t bitson /* [in] */, - uint32_t immediate /* [in] */, - WERROR *werror) -{ - struct svcctl_SCSetServiceBitsW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.bits = bits; - r.in.bitson = bitson; - r.in.immediate = immediate; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_SCSETSERVICEBITSW, - &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_svcctl_ChangeServiceConfigW_state { - struct svcctl_ChangeServiceConfigW orig; - struct svcctl_ChangeServiceConfigW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_ChangeServiceConfigW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_ChangeServiceConfigW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [unique,charset(UTF16)] */, - const char *_load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *_tag_id /* [out] [ref] */, - const char *_dependencies /* [in] [unique,charset(UTF16)] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - const char *_display_name /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_ChangeServiceConfigW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_ChangeServiceConfigW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.type = _type; - state->orig.in.start_type = _start_type; - state->orig.in.error_control = _error_control; - state->orig.in.binary_path = _binary_path; - state->orig.in.load_order_group = _load_order_group; - state->orig.in.dependencies = _dependencies; - state->orig.in.service_start_name = _service_start_name; - state->orig.in.password = _password; - state->orig.in.display_name = _display_name; - - /* Out parameters */ - state->orig.out.tag_id = _tag_id; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_ChangeServiceConfigW_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_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_ChangeServiceConfigW_done, req); - return req; -} - -static void rpccli_svcctl_ChangeServiceConfigW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_ChangeServiceConfigW_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfigW_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.tag_id = *state->tmp.out.tag_id; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_ChangeServiceConfigW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_ChangeServiceConfigW_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfigW_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_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [unique,charset(UTF16)] */, - const char *load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *tag_id /* [out] [ref] */, - const char *dependencies /* [in] [unique,charset(UTF16)] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - const char *display_name /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct svcctl_ChangeServiceConfigW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.type = type; - r.in.start_type = start_type; - r.in.error_control = error_control; - r.in.binary_path = binary_path; - r.in.load_order_group = load_order_group; - r.in.dependencies = dependencies; - r.in.service_start_name = service_start_name; - r.in.password = password; - r.in.display_name = display_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *tag_id = *r.out.tag_id; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_CreateServiceW_state { - struct svcctl_CreateServiceW orig; - struct svcctl_CreateServiceW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_CreateServiceW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_CreateServiceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [charset(UTF16)] */, - const char *_DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t _desired_access /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [charset(UTF16)] */, - const char *_LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *_TagId /* [in,out] [unique] */, - uint8_t *_dependencies /* [in] [unique,size_is(dependencies_size)] */, - uint32_t _dependencies_size /* [in] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - uint8_t *_password /* [in] [unique,size_is(password_size)] */, - uint32_t _password_size /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_CreateServiceW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_CreateServiceW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.scmanager_handle = _scmanager_handle; - state->orig.in.ServiceName = _ServiceName; - state->orig.in.DisplayName = _DisplayName; - state->orig.in.desired_access = _desired_access; - state->orig.in.type = _type; - state->orig.in.start_type = _start_type; - state->orig.in.error_control = _error_control; - state->orig.in.binary_path = _binary_path; - state->orig.in.LoadOrderGroupKey = _LoadOrderGroupKey; - state->orig.in.TagId = _TagId; - state->orig.in.dependencies = _dependencies; - state->orig.in.dependencies_size = _dependencies_size; - state->orig.in.service_start_name = _service_start_name; - state->orig.in.password = _password; - state->orig.in.password_size = _password_size; - - /* Out parameters */ - state->orig.out.TagId = _TagId; - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_CreateServiceW_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_svcctl, - NDR_SVCCTL_CREATESERVICEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_CreateServiceW_done, req); - return req; -} - -static void rpccli_svcctl_CreateServiceW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_CreateServiceW_state *state = tevent_req_data( - req, struct rpccli_svcctl_CreateServiceW_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.TagId && state->tmp.out.TagId) { - *state->orig.out.TagId = *state->tmp.out.TagId; - } - *state->orig.out.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_CreateServiceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_CreateServiceW_state *state = tevent_req_data( - req, struct rpccli_svcctl_CreateServiceW_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_svcctl_CreateServiceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager_handle /* [in] [ref] */, - const char *ServiceName /* [in] [charset(UTF16)] */, - const char *DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t desired_access /* [in] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [charset(UTF16)] */, - const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *TagId /* [in,out] [unique] */, - uint8_t *dependencies /* [in] [unique,size_is(dependencies_size)] */, - uint32_t dependencies_size /* [in] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - uint8_t *password /* [in] [unique,size_is(password_size)] */, - uint32_t password_size /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_CreateServiceW r; - NTSTATUS status; - - /* In parameters */ - r.in.scmanager_handle = scmanager_handle; - r.in.ServiceName = ServiceName; - r.in.DisplayName = DisplayName; - r.in.desired_access = desired_access; - r.in.type = type; - r.in.start_type = start_type; - r.in.error_control = error_control; - r.in.binary_path = binary_path; - r.in.LoadOrderGroupKey = LoadOrderGroupKey; - r.in.TagId = TagId; - r.in.dependencies = dependencies; - r.in.dependencies_size = dependencies_size; - r.in.service_start_name = service_start_name; - r.in.password = password; - r.in.password_size = password_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CREATESERVICEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (TagId && r.out.TagId) { - *TagId = *r.out.TagId; - } - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_EnumDependentServicesW_state { - struct svcctl_EnumDependentServicesW orig; - struct svcctl_EnumDependentServicesW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_EnumDependentServicesW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_EnumDependentServicesW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_service /* [in] [ref] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_service_status /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *_services_returned /* [out] [ref,range(0,0x40000)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_EnumDependentServicesW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_EnumDependentServicesW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.service = _service; - state->orig.in.state = _state; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.service_status = _service_status; - state->orig.out.needed = _needed; - state->orig.out.services_returned = _services_returned; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_EnumDependentServicesW_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_svcctl, - NDR_SVCCTL_ENUMDEPENDENTSERVICESW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_EnumDependentServicesW_done, req); - return req; -} - -static void rpccli_svcctl_EnumDependentServicesW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_EnumDependentServicesW_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumDependentServicesW_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.service_status, state->tmp.out.service_status, (state->tmp.in.offered) * sizeof(*state->orig.out.service_status)); - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.services_returned = *state->tmp.out.services_returned; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_EnumDependentServicesW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_EnumDependentServicesW_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumDependentServicesW_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_svcctl_EnumDependentServicesW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *service /* [in] [ref] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *service_status /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *services_returned /* [out] [ref,range(0,0x40000)] */, - WERROR *werror) -{ - struct svcctl_EnumDependentServicesW r; - NTSTATUS status; - - /* In parameters */ - r.in.service = service; - r.in.state = state; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_ENUMDEPENDENTSERVICESW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(service_status, r.out.service_status, (r.in.offered) * sizeof(*service_status)); - *needed = *r.out.needed; - *services_returned = *r.out.services_returned; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_EnumServicesStatusW_state { - struct svcctl_EnumServicesStatusW orig; - struct svcctl_EnumServicesStatusW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_EnumServicesStatusW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_EnumServicesStatusW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_service /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *_services_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_EnumServicesStatusW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_EnumServicesStatusW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.type = _type; - state->orig.in.state = _state; - state->orig.in.offered = _offered; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.service = _service; - state->orig.out.needed = _needed; - state->orig.out.services_returned = _services_returned; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_EnumServicesStatusW_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_svcctl, - NDR_SVCCTL_ENUMSERVICESSTATUSW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_EnumServicesStatusW_done, req); - return req; -} - -static void rpccli_svcctl_EnumServicesStatusW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_EnumServicesStatusW_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumServicesStatusW_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.service, state->tmp.out.service, (state->tmp.in.offered) * sizeof(*state->orig.out.service)); - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.services_returned = *state->tmp.out.services_returned; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_EnumServicesStatusW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_EnumServicesStatusW_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumServicesStatusW_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_svcctl_EnumServicesStatusW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *service /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *services_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct svcctl_EnumServicesStatusW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.type = type; - r.in.state = state; - r.in.offered = offered; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_ENUMSERVICESSTATUSW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(service, r.out.service, (r.in.offered) * sizeof(*service)); - *needed = *r.out.needed; - *services_returned = *r.out.services_returned; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_OpenSCManagerW_state { - struct svcctl_OpenSCManagerW orig; - struct svcctl_OpenSCManagerW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_OpenSCManagerW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_OpenSCManagerW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_MachineName /* [in] [unique,charset(UTF16)] */, - const char *_DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_OpenSCManagerW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_OpenSCManagerW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.MachineName = _MachineName; - state->orig.in.DatabaseName = _DatabaseName; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_OpenSCManagerW_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_svcctl, - NDR_SVCCTL_OPENSCMANAGERW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_OpenSCManagerW_done, req); - return req; -} - -static void rpccli_svcctl_OpenSCManagerW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_OpenSCManagerW_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenSCManagerW_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_OpenSCManagerW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_OpenSCManagerW_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenSCManagerW_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_svcctl_OpenSCManagerW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *MachineName /* [in] [unique,charset(UTF16)] */, - const char *DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_OpenSCManagerW r; - NTSTATUS status; - - /* In parameters */ - r.in.MachineName = MachineName; - r.in.DatabaseName = DatabaseName; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_OPENSCMANAGERW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_OpenServiceW_state { - struct svcctl_OpenServiceW orig; - struct svcctl_OpenServiceW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_OpenServiceW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_OpenServiceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_OpenServiceW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_OpenServiceW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.scmanager_handle = _scmanager_handle; - state->orig.in.ServiceName = _ServiceName; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_OpenServiceW_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_svcctl, - NDR_SVCCTL_OPENSERVICEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_OpenServiceW_done, req); - return req; -} - -static void rpccli_svcctl_OpenServiceW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_OpenServiceW_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenServiceW_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_OpenServiceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_OpenServiceW_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenServiceW_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_svcctl_OpenServiceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager_handle /* [in] [ref] */, - const char *ServiceName /* [in] [charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_OpenServiceW r; - NTSTATUS status; - - /* In parameters */ - r.in.scmanager_handle = scmanager_handle; - r.in.ServiceName = ServiceName; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_OPENSERVICEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_QueryServiceConfigW_state { - struct svcctl_QueryServiceConfigW orig; - struct svcctl_QueryServiceConfigW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceConfigW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceConfigW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct QUERY_SERVICE_CONFIG *_query /* [out] [ref] */, - uint32_t _offered /* [in] [range(0,8192)] */, - uint32_t *_needed /* [out] [ref,range(0,8192)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceConfigW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceConfigW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.query = _query; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceConfigW_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_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIGW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceConfigW_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceConfigW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceConfigW_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfigW_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.query = *state->tmp.out.query; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceConfigW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceConfigW_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfigW_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_svcctl_QueryServiceConfigW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct QUERY_SERVICE_CONFIG *query /* [out] [ref] */, - uint32_t offered /* [in] [range(0,8192)] */, - uint32_t *needed /* [out] [ref,range(0,8192)] */, - WERROR *werror) -{ - struct svcctl_QueryServiceConfigW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIGW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *query = *r.out.query; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_QueryServiceLockStatusW_state { - struct svcctl_QueryServiceLockStatusW orig; - struct svcctl_QueryServiceLockStatusW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceLockStatusW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceLockStatusW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _offered /* [in] */, - struct SERVICE_LOCK_STATUS *_lock_status /* [out] [ref] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceLockStatusW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceLockStatusW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.lock_status = _lock_status; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceLockStatusW_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_svcctl, - NDR_SVCCTL_QUERYSERVICELOCKSTATUSW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceLockStatusW_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceLockStatusW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceLockStatusW_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceLockStatusW_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.lock_status = *state->tmp.out.lock_status; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceLockStatusW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceLockStatusW_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceLockStatusW_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_svcctl_QueryServiceLockStatusW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t offered /* [in] */, - struct SERVICE_LOCK_STATUS *lock_status /* [out] [ref] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_QueryServiceLockStatusW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICELOCKSTATUSW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *lock_status = *r.out.lock_status; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_StartServiceW_state { - struct svcctl_StartServiceW orig; - struct svcctl_StartServiceW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_StartServiceW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_StartServiceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _NumArgs /* [in] [range(0,SC_MAX_ARGUMENTS)] */, - struct svcctl_ArgumentString *_Arguments /* [in] [unique,size_is(NumArgs)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_StartServiceW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_StartServiceW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.NumArgs = _NumArgs; - state->orig.in.Arguments = _Arguments; - - /* 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_svcctl, - NDR_SVCCTL_STARTSERVICEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_StartServiceW_done, req); - return req; -} - -static void rpccli_svcctl_StartServiceW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_StartServiceW_state *state = tevent_req_data( - req, struct rpccli_svcctl_StartServiceW_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_svcctl_StartServiceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_StartServiceW_state *state = tevent_req_data( - req, struct rpccli_svcctl_StartServiceW_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_svcctl_StartServiceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t NumArgs /* [in] [range(0,SC_MAX_ARGUMENTS)] */, - struct svcctl_ArgumentString *Arguments /* [in] [unique,size_is(NumArgs)] */, - WERROR *werror) -{ - struct svcctl_StartServiceW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.NumArgs = NumArgs; - r.in.Arguments = Arguments; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_STARTSERVICEW, - &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_svcctl_GetServiceDisplayNameW_state { - struct svcctl_GetServiceDisplayNameW orig; - struct svcctl_GetServiceDisplayNameW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_GetServiceDisplayNameW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_GetServiceDisplayNameW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_GetServiceDisplayNameW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_GetServiceDisplayNameW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.service_name = _service_name; - state->orig.in.display_name_length = _display_name_length; - - /* Out parameters */ - state->orig.out.display_name = _display_name; - state->orig.out.display_name_length = _display_name_length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_GetServiceDisplayNameW_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_svcctl, - NDR_SVCCTL_GETSERVICEDISPLAYNAMEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_GetServiceDisplayNameW_done, req); - return req; -} - -static void rpccli_svcctl_GetServiceDisplayNameW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_GetServiceDisplayNameW_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceDisplayNameW_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.display_name = *state->tmp.out.display_name; - if (state->orig.out.display_name_length && state->tmp.out.display_name_length) { - *state->orig.out.display_name_length = *state->tmp.out.display_name_length; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_GetServiceDisplayNameW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_GetServiceDisplayNameW_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceDisplayNameW_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_svcctl_GetServiceDisplayNameW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror) -{ - struct svcctl_GetServiceDisplayNameW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.service_name = service_name; - r.in.display_name_length = display_name_length; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_GETSERVICEDISPLAYNAMEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *display_name = *r.out.display_name; - if (display_name_length && r.out.display_name_length) { - *display_name_length = *r.out.display_name_length; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_GetServiceKeyNameW_state { - struct svcctl_GetServiceKeyNameW orig; - struct svcctl_GetServiceKeyNameW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_GetServiceKeyNameW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_GetServiceKeyNameW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_GetServiceKeyNameW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_GetServiceKeyNameW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.service_name = _service_name; - state->orig.in.display_name_length = _display_name_length; - - /* Out parameters */ - state->orig.out.key_name = _key_name; - state->orig.out.display_name_length = _display_name_length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_GetServiceKeyNameW_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_svcctl, - NDR_SVCCTL_GETSERVICEKEYNAMEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_GetServiceKeyNameW_done, req); - return req; -} - -static void rpccli_svcctl_GetServiceKeyNameW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_GetServiceKeyNameW_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceKeyNameW_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.key_name = *state->tmp.out.key_name; - if (state->orig.out.display_name_length && state->tmp.out.display_name_length) { - *state->orig.out.display_name_length = *state->tmp.out.display_name_length; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_GetServiceKeyNameW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_GetServiceKeyNameW_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceKeyNameW_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_svcctl_GetServiceKeyNameW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror) -{ - struct svcctl_GetServiceKeyNameW r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.service_name = service_name; - r.in.display_name_length = display_name_length; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_GETSERVICEKEYNAMEW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *key_name = *r.out.key_name; - if (display_name_length && r.out.display_name_length) { - *display_name_length = *r.out.display_name_length; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_SCSetServiceBitsA_state { - struct svcctl_SCSetServiceBitsA orig; - struct svcctl_SCSetServiceBitsA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_SCSetServiceBitsA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_SCSetServiceBitsA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _bits /* [in] */, - uint32_t _bitson /* [in] */, - uint32_t _immediate /* [in] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_SCSetServiceBitsA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_SCSetServiceBitsA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.bits = _bits; - state->orig.in.bitson = _bitson; - state->orig.in.immediate = _immediate; - - /* 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_svcctl, - NDR_SVCCTL_SCSETSERVICEBITSA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_SCSetServiceBitsA_done, req); - return req; -} - -static void rpccli_svcctl_SCSetServiceBitsA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_SCSetServiceBitsA_state *state = tevent_req_data( - req, struct rpccli_svcctl_SCSetServiceBitsA_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_svcctl_SCSetServiceBitsA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_SCSetServiceBitsA_state *state = tevent_req_data( - req, struct rpccli_svcctl_SCSetServiceBitsA_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_svcctl_SCSetServiceBitsA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t bits /* [in] */, - uint32_t bitson /* [in] */, - uint32_t immediate /* [in] */, - WERROR *werror) -{ - struct svcctl_SCSetServiceBitsA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.bits = bits; - r.in.bitson = bitson; - r.in.immediate = immediate; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_SCSETSERVICEBITSA, - &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_svcctl_ChangeServiceConfigA_state { - struct svcctl_ChangeServiceConfigA orig; - struct svcctl_ChangeServiceConfigA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_ChangeServiceConfigA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_ChangeServiceConfigA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [unique,charset(UTF16)] */, - const char *_load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *_tag_id /* [out] [ref] */, - const char *_dependencies /* [in] [unique,charset(UTF16)] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - const char *_display_name /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_ChangeServiceConfigA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_ChangeServiceConfigA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.type = _type; - state->orig.in.start_type = _start_type; - state->orig.in.error_control = _error_control; - state->orig.in.binary_path = _binary_path; - state->orig.in.load_order_group = _load_order_group; - state->orig.in.dependencies = _dependencies; - state->orig.in.service_start_name = _service_start_name; - state->orig.in.password = _password; - state->orig.in.display_name = _display_name; - - /* Out parameters */ - state->orig.out.tag_id = _tag_id; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_ChangeServiceConfigA_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_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_ChangeServiceConfigA_done, req); - return req; -} - -static void rpccli_svcctl_ChangeServiceConfigA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_ChangeServiceConfigA_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfigA_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.tag_id = *state->tmp.out.tag_id; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_ChangeServiceConfigA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_ChangeServiceConfigA_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfigA_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_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [unique,charset(UTF16)] */, - const char *load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *tag_id /* [out] [ref] */, - const char *dependencies /* [in] [unique,charset(UTF16)] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - const char *display_name /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct svcctl_ChangeServiceConfigA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.type = type; - r.in.start_type = start_type; - r.in.error_control = error_control; - r.in.binary_path = binary_path; - r.in.load_order_group = load_order_group; - r.in.dependencies = dependencies; - r.in.service_start_name = service_start_name; - r.in.password = password; - r.in.display_name = display_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *tag_id = *r.out.tag_id; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_CreateServiceA_state { - struct svcctl_CreateServiceA orig; - struct svcctl_CreateServiceA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_CreateServiceA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_CreateServiceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [unique,charset(UTF16)] */, - const char *_DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t _desired_access /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [unique,charset(UTF16)] */, - const char *_LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *_TagId /* [out] [unique] */, - const char *_dependencies /* [in] [unique,charset(UTF16)] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_CreateServiceA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_CreateServiceA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.ServiceName = _ServiceName; - state->orig.in.DisplayName = _DisplayName; - state->orig.in.desired_access = _desired_access; - state->orig.in.type = _type; - state->orig.in.start_type = _start_type; - state->orig.in.error_control = _error_control; - state->orig.in.binary_path = _binary_path; - state->orig.in.LoadOrderGroupKey = _LoadOrderGroupKey; - state->orig.in.dependencies = _dependencies; - state->orig.in.service_start_name = _service_start_name; - state->orig.in.password = _password; - - /* Out parameters */ - state->orig.out.TagId = _TagId; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_CreateServiceA_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_svcctl, - NDR_SVCCTL_CREATESERVICEA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_CreateServiceA_done, req); - return req; -} - -static void rpccli_svcctl_CreateServiceA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_CreateServiceA_state *state = tevent_req_data( - req, struct rpccli_svcctl_CreateServiceA_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.TagId && state->tmp.out.TagId) { - *state->orig.out.TagId = *state->tmp.out.TagId; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_CreateServiceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_CreateServiceA_state *state = tevent_req_data( - req, struct rpccli_svcctl_CreateServiceA_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_svcctl_CreateServiceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *ServiceName /* [in] [unique,charset(UTF16)] */, - const char *DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t desired_access /* [in] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [unique,charset(UTF16)] */, - const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *TagId /* [out] [unique] */, - const char *dependencies /* [in] [unique,charset(UTF16)] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct svcctl_CreateServiceA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.ServiceName = ServiceName; - r.in.DisplayName = DisplayName; - r.in.desired_access = desired_access; - r.in.type = type; - r.in.start_type = start_type; - r.in.error_control = error_control; - r.in.binary_path = binary_path; - r.in.LoadOrderGroupKey = LoadOrderGroupKey; - r.in.dependencies = dependencies; - r.in.service_start_name = service_start_name; - r.in.password = password; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CREATESERVICEA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (TagId && r.out.TagId) { - *TagId = *r.out.TagId; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_EnumDependentServicesA_state { - struct svcctl_EnumDependentServicesA orig; - struct svcctl_EnumDependentServicesA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_EnumDependentServicesA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_EnumDependentServicesA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_service /* [in] [ref] */, - enum svcctl_ServiceState _state /* [in] */, - struct ENUM_SERVICE_STATUSA *_service_status /* [out] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_services_returned /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_EnumDependentServicesA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_EnumDependentServicesA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.service = _service; - state->orig.in.state = _state; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.service_status = _service_status; - state->orig.out.needed = _needed; - state->orig.out.services_returned = _services_returned; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_EnumDependentServicesA_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_svcctl, - NDR_SVCCTL_ENUMDEPENDENTSERVICESA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_EnumDependentServicesA_done, req); - return req; -} - -static void rpccli_svcctl_EnumDependentServicesA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_EnumDependentServicesA_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumDependentServicesA_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.service_status && state->tmp.out.service_status) { - *state->orig.out.service_status = *state->tmp.out.service_status; - } - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.services_returned = *state->tmp.out.services_returned; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_EnumDependentServicesA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_EnumDependentServicesA_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumDependentServicesA_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_svcctl_EnumDependentServicesA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *service /* [in] [ref] */, - enum svcctl_ServiceState state /* [in] */, - struct ENUM_SERVICE_STATUSA *service_status /* [out] [unique] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *services_returned /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_EnumDependentServicesA r; - NTSTATUS status; - - /* In parameters */ - r.in.service = service; - r.in.state = state; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_ENUMDEPENDENTSERVICESA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (service_status && r.out.service_status) { - *service_status = *r.out.service_status; - } - *needed = *r.out.needed; - *services_returned = *r.out.services_returned; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_EnumServicesStatusA_state { - struct svcctl_EnumServicesStatusA orig; - struct svcctl_EnumServicesStatusA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_EnumServicesStatusA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_EnumServicesStatusA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint32_t _offered /* [in] */, - uint8_t *_service /* [out] [size_is(offered)] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_services_returned /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_EnumServicesStatusA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_EnumServicesStatusA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.type = _type; - state->orig.in.state = _state; - state->orig.in.offered = _offered; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.service = _service; - state->orig.out.needed = _needed; - state->orig.out.services_returned = _services_returned; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_EnumServicesStatusA_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_svcctl, - NDR_SVCCTL_ENUMSERVICESSTATUSA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_EnumServicesStatusA_done, req); - return req; -} - -static void rpccli_svcctl_EnumServicesStatusA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_EnumServicesStatusA_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumServicesStatusA_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.service, state->tmp.out.service, (state->tmp.in.offered) * sizeof(*state->orig.out.service)); - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.services_returned = *state->tmp.out.services_returned; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_EnumServicesStatusA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_EnumServicesStatusA_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumServicesStatusA_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_svcctl_EnumServicesStatusA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint32_t offered /* [in] */, - uint8_t *service /* [out] [size_is(offered)] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *services_returned /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct svcctl_EnumServicesStatusA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.type = type; - r.in.state = state; - r.in.offered = offered; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_ENUMSERVICESSTATUSA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(service, r.out.service, (r.in.offered) * sizeof(*service)); - *needed = *r.out.needed; - *services_returned = *r.out.services_returned; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_OpenSCManagerA_state { - struct svcctl_OpenSCManagerA orig; - struct svcctl_OpenSCManagerA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_OpenSCManagerA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_OpenSCManagerA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_MachineName /* [in] [unique,charset(UTF16)] */, - const char *_DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_OpenSCManagerA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_OpenSCManagerA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.MachineName = _MachineName; - state->orig.in.DatabaseName = _DatabaseName; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_OpenSCManagerA_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_svcctl, - NDR_SVCCTL_OPENSCMANAGERA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_OpenSCManagerA_done, req); - return req; -} - -static void rpccli_svcctl_OpenSCManagerA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_OpenSCManagerA_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenSCManagerA_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_OpenSCManagerA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_OpenSCManagerA_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenSCManagerA_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_svcctl_OpenSCManagerA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *MachineName /* [in] [unique,charset(UTF16)] */, - const char *DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_OpenSCManagerA r; - NTSTATUS status; - - /* In parameters */ - r.in.MachineName = MachineName; - r.in.DatabaseName = DatabaseName; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_OPENSCMANAGERA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_OpenServiceA_state { - struct svcctl_OpenServiceA orig; - struct svcctl_OpenServiceA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_OpenServiceA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_OpenServiceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_OpenServiceA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_OpenServiceA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.scmanager_handle = _scmanager_handle; - state->orig.in.ServiceName = _ServiceName; - state->orig.in.access_mask = _access_mask; - - /* 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_svcctl, - NDR_SVCCTL_OPENSERVICEA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_OpenServiceA_done, req); - return req; -} - -static void rpccli_svcctl_OpenServiceA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_OpenServiceA_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenServiceA_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_svcctl_OpenServiceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_OpenServiceA_state *state = tevent_req_data( - req, struct rpccli_svcctl_OpenServiceA_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_svcctl_OpenServiceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager_handle /* [in] [ref] */, - const char *ServiceName /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - WERROR *werror) -{ - struct svcctl_OpenServiceA r; - NTSTATUS status; - - /* In parameters */ - r.in.scmanager_handle = scmanager_handle; - r.in.ServiceName = ServiceName; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_OPENSERVICEA, - &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_svcctl_QueryServiceConfigA_state { - struct svcctl_QueryServiceConfigA orig; - struct svcctl_QueryServiceConfigA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceConfigA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceConfigA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t *_query /* [out] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceConfigA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceConfigA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.query = _query; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceConfigA_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_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIGA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceConfigA_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceConfigA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceConfigA_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfigA_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.query, state->tmp.out.query, (state->tmp.in.offered) * sizeof(*state->orig.out.query)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceConfigA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceConfigA_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfigA_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_svcctl_QueryServiceConfigA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t *query /* [out] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_QueryServiceConfigA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIGA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(query, r.out.query, (r.in.offered) * sizeof(*query)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_QueryServiceLockStatusA_state { - struct svcctl_QueryServiceLockStatusA orig; - struct svcctl_QueryServiceLockStatusA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceLockStatusA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceLockStatusA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _offered /* [in] */, - struct SERVICE_LOCK_STATUS *_lock_status /* [out] [ref] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceLockStatusA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceLockStatusA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.lock_status = _lock_status; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceLockStatusA_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_svcctl, - NDR_SVCCTL_QUERYSERVICELOCKSTATUSA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceLockStatusA_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceLockStatusA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceLockStatusA_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceLockStatusA_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.lock_status = *state->tmp.out.lock_status; - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceLockStatusA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceLockStatusA_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceLockStatusA_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_svcctl_QueryServiceLockStatusA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t offered /* [in] */, - struct SERVICE_LOCK_STATUS *lock_status /* [out] [ref] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_QueryServiceLockStatusA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICELOCKSTATUSA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *lock_status = *r.out.lock_status; - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_StartServiceA_state { - struct svcctl_StartServiceA orig; - struct svcctl_StartServiceA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_StartServiceA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_StartServiceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _NumArgs /* [in] */, - const char *_Arguments /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_StartServiceA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_StartServiceA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.NumArgs = _NumArgs; - state->orig.in.Arguments = _Arguments; - - /* 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_svcctl, - NDR_SVCCTL_STARTSERVICEA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_StartServiceA_done, req); - return req; -} - -static void rpccli_svcctl_StartServiceA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_StartServiceA_state *state = tevent_req_data( - req, struct rpccli_svcctl_StartServiceA_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_svcctl_StartServiceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_StartServiceA_state *state = tevent_req_data( - req, struct rpccli_svcctl_StartServiceA_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_svcctl_StartServiceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t NumArgs /* [in] */, - const char *Arguments /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct svcctl_StartServiceA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.NumArgs = NumArgs; - r.in.Arguments = Arguments; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_STARTSERVICEA, - &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_svcctl_GetServiceDisplayNameA_state { - struct svcctl_GetServiceDisplayNameA orig; - struct svcctl_GetServiceDisplayNameA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_GetServiceDisplayNameA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_GetServiceDisplayNameA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_GetServiceDisplayNameA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_GetServiceDisplayNameA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.service_name = _service_name; - state->orig.in.display_name_length = _display_name_length; - - /* Out parameters */ - state->orig.out.display_name = _display_name; - state->orig.out.display_name_length = _display_name_length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_GetServiceDisplayNameA_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_svcctl, - NDR_SVCCTL_GETSERVICEDISPLAYNAMEA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_GetServiceDisplayNameA_done, req); - return req; -} - -static void rpccli_svcctl_GetServiceDisplayNameA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_GetServiceDisplayNameA_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceDisplayNameA_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.display_name = *state->tmp.out.display_name; - if (state->orig.out.display_name_length && state->tmp.out.display_name_length) { - *state->orig.out.display_name_length = *state->tmp.out.display_name_length; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_GetServiceDisplayNameA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_GetServiceDisplayNameA_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceDisplayNameA_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_svcctl_GetServiceDisplayNameA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror) -{ - struct svcctl_GetServiceDisplayNameA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.service_name = service_name; - r.in.display_name_length = display_name_length; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_GETSERVICEDISPLAYNAMEA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *display_name = *r.out.display_name; - if (display_name_length && r.out.display_name_length) { - *display_name_length = *r.out.display_name_length; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_GetServiceKeyNameA_state { - struct svcctl_GetServiceKeyNameA orig; - struct svcctl_GetServiceKeyNameA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_GetServiceKeyNameA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_GetServiceKeyNameA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_GetServiceKeyNameA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_GetServiceKeyNameA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.service_name = _service_name; - state->orig.in.display_name_length = _display_name_length; - - /* Out parameters */ - state->orig.out.key_name = _key_name; - state->orig.out.display_name_length = _display_name_length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_GetServiceKeyNameA_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_svcctl, - NDR_SVCCTL_GETSERVICEKEYNAMEA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_GetServiceKeyNameA_done, req); - return req; -} - -static void rpccli_svcctl_GetServiceKeyNameA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_GetServiceKeyNameA_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceKeyNameA_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.key_name = *state->tmp.out.key_name; - if (state->orig.out.display_name_length && state->tmp.out.display_name_length) { - *state->orig.out.display_name_length = *state->tmp.out.display_name_length; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_GetServiceKeyNameA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_GetServiceKeyNameA_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetServiceKeyNameA_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_svcctl_GetServiceKeyNameA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror) -{ - struct svcctl_GetServiceKeyNameA r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.service_name = service_name; - r.in.display_name_length = display_name_length; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_GETSERVICEKEYNAMEA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *key_name = *r.out.key_name; - if (display_name_length && r.out.display_name_length) { - *display_name_length = *r.out.display_name_length; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_GetCurrentGroupeStateW_state { - struct svcctl_GetCurrentGroupeStateW orig; - struct svcctl_GetCurrentGroupeStateW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_GetCurrentGroupeStateW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_GetCurrentGroupeStateW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_svcctl_GetCurrentGroupeStateW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_GetCurrentGroupeStateW_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_svcctl, - NDR_SVCCTL_GETCURRENTGROUPESTATEW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_GetCurrentGroupeStateW_done, req); - return req; -} - -static void rpccli_svcctl_GetCurrentGroupeStateW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_GetCurrentGroupeStateW_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetCurrentGroupeStateW_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_svcctl_GetCurrentGroupeStateW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_GetCurrentGroupeStateW_state *state = tevent_req_data( - req, struct rpccli_svcctl_GetCurrentGroupeStateW_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_svcctl_GetCurrentGroupeStateW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct svcctl_GetCurrentGroupeStateW r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_GETCURRENTGROUPESTATEW, - &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_svcctl_EnumServiceGroupW_state { - struct svcctl_EnumServiceGroupW orig; - struct svcctl_EnumServiceGroupW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_EnumServiceGroupW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_EnumServiceGroupW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_svcctl_EnumServiceGroupW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_EnumServiceGroupW_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_svcctl, - NDR_SVCCTL_ENUMSERVICEGROUPW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_EnumServiceGroupW_done, req); - return req; -} - -static void rpccli_svcctl_EnumServiceGroupW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_EnumServiceGroupW_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumServiceGroupW_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_svcctl_EnumServiceGroupW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_EnumServiceGroupW_state *state = tevent_req_data( - req, struct rpccli_svcctl_EnumServiceGroupW_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_svcctl_EnumServiceGroupW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct svcctl_EnumServiceGroupW r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_ENUMSERVICEGROUPW, - &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_svcctl_ChangeServiceConfig2A_state { - struct svcctl_ChangeServiceConfig2A orig; - struct svcctl_ChangeServiceConfig2A tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_ChangeServiceConfig2A_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_ChangeServiceConfig2A_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint8_t *_info /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_ChangeServiceConfig2A_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_ChangeServiceConfig2A_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.info_level = _info_level; - state->orig.in.info = _info; - - /* 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_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIG2A, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_ChangeServiceConfig2A_done, req); - return req; -} - -static void rpccli_svcctl_ChangeServiceConfig2A_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_ChangeServiceConfig2A_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfig2A_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_svcctl_ChangeServiceConfig2A_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_ChangeServiceConfig2A_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfig2A_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_svcctl_ChangeServiceConfig2A(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint8_t *info /* [in] [unique] */, - WERROR *werror) -{ - struct svcctl_ChangeServiceConfig2A r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.info_level = info_level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIG2A, - &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_svcctl_ChangeServiceConfig2W_state { - struct svcctl_ChangeServiceConfig2W orig; - struct svcctl_ChangeServiceConfig2W tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_ChangeServiceConfig2W_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_ChangeServiceConfig2W_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint8_t *_info /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_ChangeServiceConfig2W_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_ChangeServiceConfig2W_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.info_level = _info_level; - state->orig.in.info = _info; - - /* 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_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIG2W, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_ChangeServiceConfig2W_done, req); - return req; -} - -static void rpccli_svcctl_ChangeServiceConfig2W_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_ChangeServiceConfig2W_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfig2W_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_svcctl_ChangeServiceConfig2W_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_ChangeServiceConfig2W_state *state = tevent_req_data( - req, struct rpccli_svcctl_ChangeServiceConfig2W_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_svcctl_ChangeServiceConfig2W(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint8_t *info /* [in] [unique] */, - WERROR *werror) -{ - struct svcctl_ChangeServiceConfig2W r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.info_level = info_level; - r.in.info = info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_CHANGESERVICECONFIG2W, - &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_svcctl_QueryServiceConfig2A_state { - struct svcctl_QueryServiceConfig2A orig; - struct svcctl_QueryServiceConfig2A tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceConfig2A_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceConfig2A_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum svcctl_ConfigLevel _info_level /* [in] */, - uint8_t *_buffer /* [out] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceConfig2A_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceConfig2A_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.info_level = _info_level; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceConfig2A_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_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIG2A, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceConfig2A_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceConfig2A_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceConfig2A_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfig2A_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.offered) * sizeof(*state->orig.out.buffer)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceConfig2A_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceConfig2A_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfig2A_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_svcctl_QueryServiceConfig2A(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum svcctl_ConfigLevel info_level /* [in] */, - uint8_t *buffer /* [out] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct svcctl_QueryServiceConfig2A r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.info_level = info_level; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIG2A, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(buffer, r.out.buffer, (r.in.offered) * sizeof(*buffer)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_QueryServiceConfig2W_state { - struct svcctl_QueryServiceConfig2W orig; - struct svcctl_QueryServiceConfig2W tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceConfig2W_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceConfig2W_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum svcctl_ConfigLevel _info_level /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,8192)] */, - uint32_t *_needed /* [out] [ref,range(0,8192)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceConfig2W_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceConfig2W_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.info_level = _info_level; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceConfig2W_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_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIG2W, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceConfig2W_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceConfig2W_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceConfig2W_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfig2W_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.offered) * sizeof(*state->orig.out.buffer)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceConfig2W_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceConfig2W_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceConfig2W_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_svcctl_QueryServiceConfig2W(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum svcctl_ConfigLevel info_level /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,8192)] */, - uint32_t *needed /* [out] [ref,range(0,8192)] */, - WERROR *werror) -{ - struct svcctl_QueryServiceConfig2W r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.info_level = info_level; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICECONFIG2W, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(buffer, r.out.buffer, (r.in.offered) * sizeof(*buffer)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_QueryServiceStatusEx_state { - struct svcctl_QueryServiceStatusEx orig; - struct svcctl_QueryServiceStatusEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_QueryServiceStatusEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_QueryServiceStatusEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum svcctl_StatusLevel _info_level /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,8192)] */, - uint32_t *_needed /* [out] [ref,range(0,8192)] */) -{ - struct tevent_req *req; - struct rpccli_svcctl_QueryServiceStatusEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_QueryServiceStatusEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.info_level = _info_level; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.buffer = _buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_svcctl_QueryServiceStatusEx_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_svcctl, - NDR_SVCCTL_QUERYSERVICESTATUSEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_QueryServiceStatusEx_done, req); - return req; -} - -static void rpccli_svcctl_QueryServiceStatusEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_QueryServiceStatusEx_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceStatusEx_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.offered) * sizeof(*state->orig.out.buffer)); - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_svcctl_QueryServiceStatusEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_QueryServiceStatusEx_state *state = tevent_req_data( - req, struct rpccli_svcctl_QueryServiceStatusEx_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_svcctl_QueryServiceStatusEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum svcctl_StatusLevel info_level /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,8192)] */, - uint32_t *needed /* [out] [ref,range(0,8192)] */, - WERROR *werror) -{ - struct svcctl_QueryServiceStatusEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.info_level = info_level; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_QUERYSERVICESTATUSEX, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(buffer, r.out.buffer, (r.in.offered) * sizeof(*buffer)); - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_EnumServicesStatusExA_state { - struct EnumServicesStatusExA orig; - struct EnumServicesStatusExA tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_EnumServicesStatusExA_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_EnumServicesStatusExA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_services /* [out] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_service_returned /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */, - const char **_group_name /* [out] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_EnumServicesStatusExA_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_EnumServicesStatusExA_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.scmanager = _scmanager; - state->orig.in.info_level = _info_level; - state->orig.in.type = _type; - state->orig.in.state = _state; - state->orig.in.offered = _offered; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.services = _services; - state->orig.out.needed = _needed; - state->orig.out.service_returned = _service_returned; - state->orig.out.resume_handle = _resume_handle; - state->orig.out.group_name = _group_name; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_EnumServicesStatusExA_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_svcctl, - NDR_ENUMSERVICESSTATUSEXA, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_EnumServicesStatusExA_done, req); - return req; -} - -static void rpccli_EnumServicesStatusExA_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_EnumServicesStatusExA_state *state = tevent_req_data( - req, struct rpccli_EnumServicesStatusExA_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.services, state->tmp.out.services, (state->tmp.in.offered) * sizeof(*state->orig.out.services)); - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.service_returned = *state->tmp.out.service_returned; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - *state->orig.out.group_name = *state->tmp.out.group_name; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_EnumServicesStatusExA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_EnumServicesStatusExA_state *state = tevent_req_data( - req, struct rpccli_EnumServicesStatusExA_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_EnumServicesStatusExA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *services /* [out] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *service_returned /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - const char **group_name /* [out] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct EnumServicesStatusExA r; - NTSTATUS status; - - /* In parameters */ - r.in.scmanager = scmanager; - r.in.info_level = info_level; - r.in.type = type; - r.in.state = state; - r.in.offered = offered; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_ENUMSERVICESSTATUSEXA, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(services, r.out.services, (r.in.offered) * sizeof(*services)); - *needed = *r.out.needed; - *service_returned = *r.out.service_returned; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - *group_name = *r.out.group_name; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_EnumServicesStatusExW_state { - struct EnumServicesStatusExW orig; - struct EnumServicesStatusExW tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_EnumServicesStatusExW_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_EnumServicesStatusExW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_services /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *_service_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *_resume_handle /* [in,out] [unique,range(0,0x40000)] */, - const char *_group_name /* [in] [unique,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_EnumServicesStatusExW_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_EnumServicesStatusExW_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.scmanager = _scmanager; - state->orig.in.info_level = _info_level; - state->orig.in.type = _type; - state->orig.in.state = _state; - state->orig.in.offered = _offered; - state->orig.in.resume_handle = _resume_handle; - state->orig.in.group_name = _group_name; - - /* Out parameters */ - state->orig.out.services = _services; - state->orig.out.needed = _needed; - state->orig.out.service_returned = _service_returned; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_EnumServicesStatusExW_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_svcctl, - NDR_ENUMSERVICESSTATUSEXW, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_EnumServicesStatusExW_done, req); - return req; -} - -static void rpccli_EnumServicesStatusExW_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_EnumServicesStatusExW_state *state = tevent_req_data( - req, struct rpccli_EnumServicesStatusExW_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.services, state->tmp.out.services, (state->tmp.in.offered) * sizeof(*state->orig.out.services)); - *state->orig.out.needed = *state->tmp.out.needed; - *state->orig.out.service_returned = *state->tmp.out.service_returned; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_EnumServicesStatusExW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_EnumServicesStatusExW_state *state = tevent_req_data( - req, struct rpccli_EnumServicesStatusExW_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_EnumServicesStatusExW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *services /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *service_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *resume_handle /* [in,out] [unique,range(0,0x40000)] */, - const char *group_name /* [in] [unique,charset(UTF16)] */, - WERROR *werror) -{ - struct EnumServicesStatusExW r; - NTSTATUS status; - - /* In parameters */ - r.in.scmanager = scmanager; - r.in.info_level = info_level; - r.in.type = type; - r.in.state = state; - r.in.offered = offered; - r.in.resume_handle = resume_handle; - r.in.group_name = group_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_ENUMSERVICESSTATUSEXW, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(services, r.out.services, (r.in.offered) * sizeof(*services)); - *needed = *r.out.needed; - *service_returned = *r.out.service_returned; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_svcctl_SCSendTSMessage_state { - struct svcctl_SCSendTSMessage orig; - struct svcctl_SCSendTSMessage tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_svcctl_SCSendTSMessage_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_svcctl_SCSendTSMessage_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_svcctl_SCSendTSMessage_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_svcctl_SCSendTSMessage_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_svcctl, - NDR_SVCCTL_SCSENDTSMESSAGE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_svcctl_SCSendTSMessage_done, req); - return req; -} - -static void rpccli_svcctl_SCSendTSMessage_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_svcctl_SCSendTSMessage_state *state = tevent_req_data( - req, struct rpccli_svcctl_SCSendTSMessage_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_svcctl_SCSendTSMessage_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_svcctl_SCSendTSMessage_state *state = tevent_req_data( - req, struct rpccli_svcctl_SCSendTSMessage_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_svcctl_SCSendTSMessage(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct svcctl_SCSendTSMessage r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_svcctl, - NDR_SVCCTL_SCSENDTSMESSAGE, - &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); -} - diff --git a/librpc/gen_ndr/cli_svcctl.h b/librpc/gen_ndr/cli_svcctl.h deleted file mode 100644 index 40a37f10ee2..00000000000 --- a/librpc/gen_ndr/cli_svcctl.h +++ /dev/null @@ -1,800 +0,0 @@ -#include "../librpc/gen_ndr/ndr_svcctl.h" -#ifndef __CLI_SVCCTL__ -#define __CLI_SVCCTL__ -struct tevent_req *rpccli_svcctl_CloseServiceHandle_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_svcctl_CloseServiceHandle_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_CloseServiceHandle(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_ControlService_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum SERVICE_CONTROL _control /* [in] */, - struct SERVICE_STATUS *_service_status /* [out] [ref] */); -NTSTATUS rpccli_svcctl_ControlService_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_ControlService(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum SERVICE_CONTROL control /* [in] */, - struct SERVICE_STATUS *service_status /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_DeleteService_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_svcctl_DeleteService_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_DeleteService(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_LockServiceDatabase_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct policy_handle *_lock /* [out] [ref] */); -NTSTATUS rpccli_svcctl_LockServiceDatabase_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_LockServiceDatabase(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct policy_handle *lock /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceObjectSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _security_flags /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */); -NTSTATUS rpccli_svcctl_QueryServiceObjectSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceObjectSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t security_flags /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_SetServiceObjectSecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _security_flags /* [in] */, - uint8_t *_buffer /* [in] [ref,size_is(offered)] */, - uint32_t _offered /* [in] */); -NTSTATUS rpccli_svcctl_SetServiceObjectSecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_SetServiceObjectSecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t security_flags /* [in] */, - uint8_t *buffer /* [in] [ref,size_is(offered)] */, - uint32_t offered /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct SERVICE_STATUS *_service_status /* [out] [ref] */); -NTSTATUS rpccli_svcctl_QueryServiceStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct SERVICE_STATUS *service_status /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_SetServiceStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_svcctl_SetServiceStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_SetServiceStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_svcctl_UnlockServiceDatabase_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_lock /* [in,out] [ref] */); -NTSTATUS rpccli_svcctl_UnlockServiceDatabase_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_UnlockServiceDatabase(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *lock /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_NotifyBootConfigStatus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_svcctl_NotifyBootConfigStatus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_NotifyBootConfigStatus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_svcctl_SCSetServiceBitsW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _bits /* [in] */, - uint32_t _bitson /* [in] */, - uint32_t _immediate /* [in] */); -NTSTATUS rpccli_svcctl_SCSetServiceBitsW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_SCSetServiceBitsW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t bits /* [in] */, - uint32_t bitson /* [in] */, - uint32_t immediate /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_ChangeServiceConfigW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [unique,charset(UTF16)] */, - const char *_load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *_tag_id /* [out] [ref] */, - const char *_dependencies /* [in] [unique,charset(UTF16)] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - const char *_display_name /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_svcctl_ChangeServiceConfigW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [unique,charset(UTF16)] */, - const char *load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *tag_id /* [out] [ref] */, - const char *dependencies /* [in] [unique,charset(UTF16)] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - const char *display_name /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_CreateServiceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [charset(UTF16)] */, - const char *_DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t _desired_access /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [charset(UTF16)] */, - const char *_LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *_TagId /* [in,out] [unique] */, - uint8_t *_dependencies /* [in] [unique,size_is(dependencies_size)] */, - uint32_t _dependencies_size /* [in] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - uint8_t *_password /* [in] [unique,size_is(password_size)] */, - uint32_t _password_size /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_svcctl_CreateServiceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_CreateServiceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager_handle /* [in] [ref] */, - const char *ServiceName /* [in] [charset(UTF16)] */, - const char *DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t desired_access /* [in] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [charset(UTF16)] */, - const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *TagId /* [in,out] [unique] */, - uint8_t *dependencies /* [in] [unique,size_is(dependencies_size)] */, - uint32_t dependencies_size /* [in] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - uint8_t *password /* [in] [unique,size_is(password_size)] */, - uint32_t password_size /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_EnumDependentServicesW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_service /* [in] [ref] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_service_status /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *_services_returned /* [out] [ref,range(0,0x40000)] */); -NTSTATUS rpccli_svcctl_EnumDependentServicesW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_EnumDependentServicesW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *service /* [in] [ref] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *service_status /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *services_returned /* [out] [ref,range(0,0x40000)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_EnumServicesStatusW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_service /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *_services_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_svcctl_EnumServicesStatusW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_EnumServicesStatusW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *service /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *services_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_OpenSCManagerW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_MachineName /* [in] [unique,charset(UTF16)] */, - const char *_DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_svcctl_OpenSCManagerW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_OpenSCManagerW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *MachineName /* [in] [unique,charset(UTF16)] */, - const char *DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_OpenServiceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_svcctl_OpenServiceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_OpenServiceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager_handle /* [in] [ref] */, - const char *ServiceName /* [in] [charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceConfigW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct QUERY_SERVICE_CONFIG *_query /* [out] [ref] */, - uint32_t _offered /* [in] [range(0,8192)] */, - uint32_t *_needed /* [out] [ref,range(0,8192)] */); -NTSTATUS rpccli_svcctl_QueryServiceConfigW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceConfigW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct QUERY_SERVICE_CONFIG *query /* [out] [ref] */, - uint32_t offered /* [in] [range(0,8192)] */, - uint32_t *needed /* [out] [ref,range(0,8192)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceLockStatusW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _offered /* [in] */, - struct SERVICE_LOCK_STATUS *_lock_status /* [out] [ref] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_svcctl_QueryServiceLockStatusW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceLockStatusW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t offered /* [in] */, - struct SERVICE_LOCK_STATUS *lock_status /* [out] [ref] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_StartServiceW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _NumArgs /* [in] [range(0,SC_MAX_ARGUMENTS)] */, - struct svcctl_ArgumentString *_Arguments /* [in] [unique,size_is(NumArgs)] */); -NTSTATUS rpccli_svcctl_StartServiceW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_StartServiceW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t NumArgs /* [in] [range(0,SC_MAX_ARGUMENTS)] */, - struct svcctl_ArgumentString *Arguments /* [in] [unique,size_is(NumArgs)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_GetServiceDisplayNameW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */); -NTSTATUS rpccli_svcctl_GetServiceDisplayNameW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_GetServiceDisplayNameW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_GetServiceKeyNameW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */); -NTSTATUS rpccli_svcctl_GetServiceKeyNameW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_GetServiceKeyNameW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_SCSetServiceBitsA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _bits /* [in] */, - uint32_t _bitson /* [in] */, - uint32_t _immediate /* [in] */); -NTSTATUS rpccli_svcctl_SCSetServiceBitsA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_SCSetServiceBitsA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t bits /* [in] */, - uint32_t bitson /* [in] */, - uint32_t immediate /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_ChangeServiceConfigA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [unique,charset(UTF16)] */, - const char *_load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *_tag_id /* [out] [ref] */, - const char *_dependencies /* [in] [unique,charset(UTF16)] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - const char *_display_name /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_svcctl_ChangeServiceConfigA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [unique,charset(UTF16)] */, - const char *load_order_group /* [in] [unique,charset(UTF16)] */, - uint32_t *tag_id /* [out] [ref] */, - const char *dependencies /* [in] [unique,charset(UTF16)] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - const char *display_name /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_CreateServiceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [unique,charset(UTF16)] */, - const char *_DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t _desired_access /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_StartType _start_type /* [in] */, - enum svcctl_ErrorControl _error_control /* [in] */, - const char *_binary_path /* [in] [unique,charset(UTF16)] */, - const char *_LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *_TagId /* [out] [unique] */, - const char *_dependencies /* [in] [unique,charset(UTF16)] */, - const char *_service_start_name /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_svcctl_CreateServiceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_CreateServiceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *ServiceName /* [in] [unique,charset(UTF16)] */, - const char *DisplayName /* [in] [unique,charset(UTF16)] */, - uint32_t desired_access /* [in] */, - uint32_t type /* [in] */, - enum svcctl_StartType start_type /* [in] */, - enum svcctl_ErrorControl error_control /* [in] */, - const char *binary_path /* [in] [unique,charset(UTF16)] */, - const char *LoadOrderGroupKey /* [in] [unique,charset(UTF16)] */, - uint32_t *TagId /* [out] [unique] */, - const char *dependencies /* [in] [unique,charset(UTF16)] */, - const char *service_start_name /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_EnumDependentServicesA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_service /* [in] [ref] */, - enum svcctl_ServiceState _state /* [in] */, - struct ENUM_SERVICE_STATUSA *_service_status /* [out] [unique] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_services_returned /* [out] [ref] */); -NTSTATUS rpccli_svcctl_EnumDependentServicesA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_EnumDependentServicesA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *service /* [in] [ref] */, - enum svcctl_ServiceState state /* [in] */, - struct ENUM_SERVICE_STATUSA *service_status /* [out] [unique] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *services_returned /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_EnumServicesStatusA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint32_t _offered /* [in] */, - uint8_t *_service /* [out] [size_is(offered)] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_services_returned /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_svcctl_EnumServicesStatusA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_EnumServicesStatusA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint32_t offered /* [in] */, - uint8_t *service /* [out] [size_is(offered)] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *services_returned /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_OpenSCManagerA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_MachineName /* [in] [unique,charset(UTF16)] */, - const char *_DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_svcctl_OpenSCManagerA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_OpenSCManagerA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *MachineName /* [in] [unique,charset(UTF16)] */, - const char *DatabaseName /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_OpenServiceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager_handle /* [in] [ref] */, - const char *_ServiceName /* [in] [unique,charset(UTF16)] */, - uint32_t _access_mask /* [in] */); -NTSTATUS rpccli_svcctl_OpenServiceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_OpenServiceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager_handle /* [in] [ref] */, - const char *ServiceName /* [in] [unique,charset(UTF16)] */, - uint32_t access_mask /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceConfigA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t *_query /* [out] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_svcctl_QueryServiceConfigA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceConfigA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t *query /* [out] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceLockStatusA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _offered /* [in] */, - struct SERVICE_LOCK_STATUS *_lock_status /* [out] [ref] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_svcctl_QueryServiceLockStatusA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceLockStatusA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t offered /* [in] */, - struct SERVICE_LOCK_STATUS *lock_status /* [out] [ref] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_StartServiceA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _NumArgs /* [in] */, - const char *_Arguments /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_svcctl_StartServiceA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_StartServiceA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t NumArgs /* [in] */, - const char *Arguments /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_GetServiceDisplayNameA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */); -NTSTATUS rpccli_svcctl_GetServiceDisplayNameA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_GetServiceDisplayNameA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **display_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_GetServiceKeyNameA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - const char *_service_name /* [in] [unique,charset(UTF16)] */, - const char **_key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *_display_name_length /* [in,out] [unique] */); -NTSTATUS rpccli_svcctl_GetServiceKeyNameA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_GetServiceKeyNameA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - const char *service_name /* [in] [unique,charset(UTF16)] */, - const char **key_name /* [out] [ref,charset(UTF16)] */, - uint32_t *display_name_length /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_GetCurrentGroupeStateW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_svcctl_GetCurrentGroupeStateW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_GetCurrentGroupeStateW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_svcctl_EnumServiceGroupW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_svcctl_EnumServiceGroupW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_EnumServiceGroupW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -struct tevent_req *rpccli_svcctl_ChangeServiceConfig2A_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint8_t *_info /* [in] [unique] */); -NTSTATUS rpccli_svcctl_ChangeServiceConfig2A_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_ChangeServiceConfig2A(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint8_t *info /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_ChangeServiceConfig2W_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint8_t *_info /* [in] [unique] */); -NTSTATUS rpccli_svcctl_ChangeServiceConfig2W_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_ChangeServiceConfig2W(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint8_t *info /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceConfig2A_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum svcctl_ConfigLevel _info_level /* [in] */, - uint8_t *_buffer /* [out] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_svcctl_QueryServiceConfig2A_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceConfig2A(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum svcctl_ConfigLevel info_level /* [in] */, - uint8_t *buffer /* [out] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceConfig2W_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum svcctl_ConfigLevel _info_level /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,8192)] */, - uint32_t *_needed /* [out] [ref,range(0,8192)] */); -NTSTATUS rpccli_svcctl_QueryServiceConfig2W_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceConfig2W(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum svcctl_ConfigLevel info_level /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,8192)] */, - uint32_t *needed /* [out] [ref,range(0,8192)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_QueryServiceStatusEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - enum svcctl_StatusLevel _info_level /* [in] */, - uint8_t *_buffer /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,8192)] */, - uint32_t *_needed /* [out] [ref,range(0,8192)] */); -NTSTATUS rpccli_svcctl_QueryServiceStatusEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_QueryServiceStatusEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - enum svcctl_StatusLevel info_level /* [in] */, - uint8_t *buffer /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,8192)] */, - uint32_t *needed /* [out] [ref,range(0,8192)] */, - WERROR *werror); -struct tevent_req *rpccli_EnumServicesStatusExA_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_services /* [out] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */, - uint32_t *_service_returned /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */, - const char **_group_name /* [out] [ref,charset(UTF16)] */); -NTSTATUS rpccli_EnumServicesStatusExA_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_EnumServicesStatusExA(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *services /* [out] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - uint32_t *service_returned /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - const char **group_name /* [out] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_EnumServicesStatusExW_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_scmanager /* [in] [ref] */, - uint32_t _info_level /* [in] */, - uint32_t _type /* [in] */, - enum svcctl_ServiceState _state /* [in] */, - uint8_t *_services /* [out] [ref,size_is(offered)] */, - uint32_t _offered /* [in] [range(0,0x40000)] */, - uint32_t *_needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *_service_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *_resume_handle /* [in,out] [unique,range(0,0x40000)] */, - const char *_group_name /* [in] [unique,charset(UTF16)] */); -NTSTATUS rpccli_EnumServicesStatusExW_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_EnumServicesStatusExW(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *scmanager /* [in] [ref] */, - uint32_t info_level /* [in] */, - uint32_t type /* [in] */, - enum svcctl_ServiceState state /* [in] */, - uint8_t *services /* [out] [ref,size_is(offered)] */, - uint32_t offered /* [in] [range(0,0x40000)] */, - uint32_t *needed /* [out] [ref,range(0,0x40000)] */, - uint32_t *service_returned /* [out] [ref,range(0,0x40000)] */, - uint32_t *resume_handle /* [in,out] [unique,range(0,0x40000)] */, - const char *group_name /* [in] [unique,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_svcctl_SCSendTSMessage_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli); -NTSTATUS rpccli_svcctl_SCSendTSMessage_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_svcctl_SCSendTSMessage(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror); -#endif /* __CLI_SVCCTL__ */ diff --git a/librpc/gen_ndr/cli_winreg.c b/librpc/gen_ndr/cli_winreg.c deleted file mode 100644 index 5eb7fb9ccc9..00000000000 --- a/librpc/gen_ndr/cli_winreg.c +++ /dev/null @@ -1,5684 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_winreg.h" - -struct rpccli_winreg_OpenHKCR_state { - struct winreg_OpenHKCR orig; - struct winreg_OpenHKCR tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKCR_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKCR_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKCR_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKCR_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKCR_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_winreg, - NDR_WINREG_OPENHKCR, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKCR_done, req); - return req; -} - -static void rpccli_winreg_OpenHKCR_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKCR_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKCR_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKCR_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKCR_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKCR_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_winreg_OpenHKCR(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKCR r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKCR, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKCU_state { - struct winreg_OpenHKCU orig; - struct winreg_OpenHKCU tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKCU_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKCU_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKCU_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKCU_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKCU_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_winreg, - NDR_WINREG_OPENHKCU, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKCU_done, req); - return req; -} - -static void rpccli_winreg_OpenHKCU_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKCU_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKCU_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKCU_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKCU_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKCU_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_winreg_OpenHKCU(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKCU r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKCU, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKLM_state { - struct winreg_OpenHKLM orig; - struct winreg_OpenHKLM tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKLM_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKLM_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKLM_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKLM_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKLM_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_winreg, - NDR_WINREG_OPENHKLM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKLM_done, req); - return req; -} - -static void rpccli_winreg_OpenHKLM_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKLM_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKLM_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKLM_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKLM_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKLM_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_winreg_OpenHKLM(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKLM r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKLM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKPD_state { - struct winreg_OpenHKPD orig; - struct winreg_OpenHKPD tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKPD_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKPD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKPD_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKPD_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKPD_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_winreg, - NDR_WINREG_OPENHKPD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKPD_done, req); - return req; -} - -static void rpccli_winreg_OpenHKPD_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKPD_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKPD_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKPD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKPD_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKPD_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_winreg_OpenHKPD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKPD r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKPD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKU_state { - struct winreg_OpenHKU orig; - struct winreg_OpenHKU tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKU_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKU_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKU_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKU_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKU_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_winreg, - NDR_WINREG_OPENHKU, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKU_done, req); - return req; -} - -static void rpccli_winreg_OpenHKU_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKU_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKU_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKU_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKU_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKU_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_winreg_OpenHKU(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKU r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKU, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_CloseKey_state { - struct winreg_CloseKey orig; - struct winreg_CloseKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_CloseKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_CloseKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_CloseKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_CloseKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_CloseKey_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_winreg, - NDR_WINREG_CLOSEKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_CloseKey_done, req); - return req; -} - -static void rpccli_winreg_CloseKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_CloseKey_state *state = tevent_req_data( - req, struct rpccli_winreg_CloseKey_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_CloseKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_CloseKey_state *state = tevent_req_data( - req, struct rpccli_winreg_CloseKey_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_winreg_CloseKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror) -{ - struct winreg_CloseKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_CLOSEKEY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_CreateKey_state { - struct winreg_CreateKey orig; - struct winreg_CreateKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_CreateKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_CreateKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _name /* [in] */, - struct winreg_String _keyclass /* [in] */, - uint32_t _options /* [in] */, - uint32_t _access_mask /* [in] */, - struct winreg_SecBuf *_secdesc /* [in] [unique] */, - struct policy_handle *_new_handle /* [out] [ref] */, - enum winreg_CreateAction *_action_taken /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_CreateKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_CreateKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.keyclass = _keyclass; - state->orig.in.options = _options; - state->orig.in.access_mask = _access_mask; - state->orig.in.secdesc = _secdesc; - state->orig.in.action_taken = _action_taken; - - /* Out parameters */ - state->orig.out.new_handle = _new_handle; - state->orig.out.action_taken = _action_taken; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_CreateKey_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_winreg, - NDR_WINREG_CREATEKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_CreateKey_done, req); - return req; -} - -static void rpccli_winreg_CreateKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_CreateKey_state *state = tevent_req_data( - req, struct rpccli_winreg_CreateKey_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.new_handle = *state->tmp.out.new_handle; - if (state->orig.out.action_taken && state->tmp.out.action_taken) { - *state->orig.out.action_taken = *state->tmp.out.action_taken; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_CreateKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_CreateKey_state *state = tevent_req_data( - req, struct rpccli_winreg_CreateKey_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_winreg_CreateKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String name /* [in] */, - struct winreg_String keyclass /* [in] */, - uint32_t options /* [in] */, - uint32_t access_mask /* [in] */, - struct winreg_SecBuf *secdesc /* [in] [unique] */, - struct policy_handle *new_handle /* [out] [ref] */, - enum winreg_CreateAction *action_taken /* [in,out] [unique] */, - WERROR *werror) -{ - struct winreg_CreateKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.keyclass = keyclass; - r.in.options = options; - r.in.access_mask = access_mask; - r.in.secdesc = secdesc; - r.in.action_taken = action_taken; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_CREATEKEY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *new_handle = *r.out.new_handle; - if (action_taken && r.out.action_taken) { - *action_taken = *r.out.action_taken; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_DeleteKey_state { - struct winreg_DeleteKey orig; - struct winreg_DeleteKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_DeleteKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_DeleteKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _key /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_DeleteKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_DeleteKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key = _key; - - /* 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_winreg, - NDR_WINREG_DELETEKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_DeleteKey_done, req); - return req; -} - -static void rpccli_winreg_DeleteKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_DeleteKey_state *state = tevent_req_data( - req, struct rpccli_winreg_DeleteKey_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_winreg_DeleteKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_DeleteKey_state *state = tevent_req_data( - req, struct rpccli_winreg_DeleteKey_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_winreg_DeleteKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String key /* [in] */, - WERROR *werror) -{ - struct winreg_DeleteKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key = key; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_DELETEKEY, - &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_winreg_DeleteValue_state { - struct winreg_DeleteValue orig; - struct winreg_DeleteValue tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_DeleteValue_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_DeleteValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _value /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_DeleteValue_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_DeleteValue_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.value = _value; - - /* 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_winreg, - NDR_WINREG_DELETEVALUE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_DeleteValue_done, req); - return req; -} - -static void rpccli_winreg_DeleteValue_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_DeleteValue_state *state = tevent_req_data( - req, struct rpccli_winreg_DeleteValue_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_winreg_DeleteValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_DeleteValue_state *state = tevent_req_data( - req, struct rpccli_winreg_DeleteValue_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_winreg_DeleteValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String value /* [in] */, - WERROR *werror) -{ - struct winreg_DeleteValue r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.value = value; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_DELETEVALUE, - &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_winreg_EnumKey_state { - struct winreg_EnumKey orig; - struct winreg_EnumKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_EnumKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_EnumKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _enum_index /* [in] */, - struct winreg_StringBuf *_name /* [in,out] [ref] */, - struct winreg_StringBuf *_keyclass /* [in,out] [unique] */, - NTTIME *_last_changed_time /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_EnumKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_EnumKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.enum_index = _enum_index; - state->orig.in.name = _name; - state->orig.in.keyclass = _keyclass; - state->orig.in.last_changed_time = _last_changed_time; - - /* Out parameters */ - state->orig.out.name = _name; - state->orig.out.keyclass = _keyclass; - state->orig.out.last_changed_time = _last_changed_time; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_EnumKey_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_winreg, - NDR_WINREG_ENUMKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_EnumKey_done, req); - return req; -} - -static void rpccli_winreg_EnumKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_EnumKey_state *state = tevent_req_data( - req, struct rpccli_winreg_EnumKey_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.name = *state->tmp.out.name; - if (state->orig.out.keyclass && state->tmp.out.keyclass) { - *state->orig.out.keyclass = *state->tmp.out.keyclass; - } - if (state->orig.out.last_changed_time && state->tmp.out.last_changed_time) { - *state->orig.out.last_changed_time = *state->tmp.out.last_changed_time; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_EnumKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_EnumKey_state *state = tevent_req_data( - req, struct rpccli_winreg_EnumKey_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_winreg_EnumKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t enum_index /* [in] */, - struct winreg_StringBuf *name /* [in,out] [ref] */, - struct winreg_StringBuf *keyclass /* [in,out] [unique] */, - NTTIME *last_changed_time /* [in,out] [unique] */, - WERROR *werror) -{ - struct winreg_EnumKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.enum_index = enum_index; - r.in.name = name; - r.in.keyclass = keyclass; - r.in.last_changed_time = last_changed_time; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_ENUMKEY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *name = *r.out.name; - if (keyclass && r.out.keyclass) { - *keyclass = *r.out.keyclass; - } - if (last_changed_time && r.out.last_changed_time) { - *last_changed_time = *r.out.last_changed_time; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_EnumValue_state { - struct winreg_EnumValue orig; - struct winreg_EnumValue tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_EnumValue_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_EnumValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _enum_index /* [in] */, - struct winreg_ValNameBuf *_name /* [in,out] [ref] */, - enum winreg_Type *_type /* [in,out] [unique] */, - uint8_t *_value /* [in,out] [unique,length_is(*length),size_is(*size)] */, - uint32_t *_size /* [in,out] [unique] */, - uint32_t *_length /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_EnumValue_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_EnumValue_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.enum_index = _enum_index; - state->orig.in.name = _name; - state->orig.in.type = _type; - state->orig.in.value = _value; - state->orig.in.size = _size; - state->orig.in.length = _length; - - /* Out parameters */ - state->orig.out.name = _name; - state->orig.out.type = _type; - state->orig.out.value = _value; - state->orig.out.size = _size; - state->orig.out.length = _length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_EnumValue_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_winreg, - NDR_WINREG_ENUMVALUE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_EnumValue_done, req); - return req; -} - -static void rpccli_winreg_EnumValue_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_EnumValue_state *state = tevent_req_data( - req, struct rpccli_winreg_EnumValue_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.name = *state->tmp.out.name; - if (state->orig.out.type && state->tmp.out.type) { - *state->orig.out.type = *state->tmp.out.type; - } - if (state->orig.out.value && state->tmp.out.value) { - memcpy(state->orig.out.value, state->tmp.out.value, (*state->tmp.in.size) * sizeof(*state->orig.out.value)); - } - if (state->orig.out.size && state->tmp.out.size) { - *state->orig.out.size = *state->tmp.out.size; - } - if (state->orig.out.length && state->tmp.out.length) { - *state->orig.out.length = *state->tmp.out.length; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_EnumValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_EnumValue_state *state = tevent_req_data( - req, struct rpccli_winreg_EnumValue_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_winreg_EnumValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t enum_index /* [in] */, - struct winreg_ValNameBuf *name /* [in,out] [ref] */, - enum winreg_Type *type /* [in,out] [unique] */, - uint8_t *value /* [in,out] [unique,length_is(*length),size_is(*size)] */, - uint32_t *size /* [in,out] [unique] */, - uint32_t *length /* [in,out] [unique] */, - WERROR *werror) -{ - struct winreg_EnumValue r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.enum_index = enum_index; - r.in.name = name; - r.in.type = type; - r.in.value = value; - r.in.size = size; - r.in.length = length; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_ENUMVALUE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *name = *r.out.name; - if (type && r.out.type) { - *type = *r.out.type; - } - if (value && r.out.value) { - memcpy(value, r.out.value, (*r.in.size) * sizeof(*value)); - } - if (size && r.out.size) { - *size = *r.out.size; - } - if (length && r.out.length) { - *length = *r.out.length; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_FlushKey_state { - struct winreg_FlushKey orig; - struct winreg_FlushKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_FlushKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_FlushKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_FlushKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_FlushKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* 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_winreg, - NDR_WINREG_FLUSHKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_FlushKey_done, req); - return req; -} - -static void rpccli_winreg_FlushKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_FlushKey_state *state = tevent_req_data( - req, struct rpccli_winreg_FlushKey_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_winreg_FlushKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_FlushKey_state *state = tevent_req_data( - req, struct rpccli_winreg_FlushKey_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_winreg_FlushKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror) -{ - struct winreg_FlushKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_FLUSHKEY, - &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_winreg_GetKeySecurity_state { - struct winreg_GetKeySecurity orig; - struct winreg_GetKeySecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_GetKeySecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_GetKeySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct KeySecurityData *_sd /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_GetKeySecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_GetKeySecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sec_info = _sec_info; - state->orig.in.sd = _sd; - - /* Out parameters */ - state->orig.out.sd = _sd; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_GetKeySecurity_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_winreg, - NDR_WINREG_GETKEYSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_GetKeySecurity_done, req); - return req; -} - -static void rpccli_winreg_GetKeySecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_GetKeySecurity_state *state = tevent_req_data( - req, struct rpccli_winreg_GetKeySecurity_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.sd = *state->tmp.out.sd; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_GetKeySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_GetKeySecurity_state *state = tevent_req_data( - req, struct rpccli_winreg_GetKeySecurity_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_winreg_GetKeySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct KeySecurityData *sd /* [in,out] [ref] */, - WERROR *werror) -{ - struct winreg_GetKeySecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sec_info = sec_info; - r.in.sd = sd; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_GETKEYSECURITY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *sd = *r.out.sd; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_LoadKey_state { - struct winreg_LoadKey orig; - struct winreg_LoadKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_LoadKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_LoadKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_keyname /* [in] [unique] */, - struct winreg_String *_filename /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_LoadKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_LoadKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.keyname = _keyname; - state->orig.in.filename = _filename; - - /* 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_winreg, - NDR_WINREG_LOADKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_LoadKey_done, req); - return req; -} - -static void rpccli_winreg_LoadKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_LoadKey_state *state = tevent_req_data( - req, struct rpccli_winreg_LoadKey_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_winreg_LoadKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_LoadKey_state *state = tevent_req_data( - req, struct rpccli_winreg_LoadKey_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_winreg_LoadKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *keyname /* [in] [unique] */, - struct winreg_String *filename /* [in] [unique] */, - WERROR *werror) -{ - struct winreg_LoadKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.keyname = keyname; - r.in.filename = filename; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_LOADKEY, - &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_winreg_NotifyChangeKeyValue_state { - struct winreg_NotifyChangeKeyValue orig; - struct winreg_NotifyChangeKeyValue tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_NotifyChangeKeyValue_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_NotifyChangeKeyValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t _watch_subtree /* [in] */, - uint32_t _notify_filter /* [in] */, - uint32_t _unknown /* [in] */, - struct winreg_String _string1 /* [in] */, - struct winreg_String _string2 /* [in] */, - uint32_t _unknown2 /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_NotifyChangeKeyValue_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_NotifyChangeKeyValue_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.watch_subtree = _watch_subtree; - state->orig.in.notify_filter = _notify_filter; - state->orig.in.unknown = _unknown; - state->orig.in.string1 = _string1; - state->orig.in.string2 = _string2; - state->orig.in.unknown2 = _unknown2; - - /* 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_winreg, - NDR_WINREG_NOTIFYCHANGEKEYVALUE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_NotifyChangeKeyValue_done, req); - return req; -} - -static void rpccli_winreg_NotifyChangeKeyValue_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_NotifyChangeKeyValue_state *state = tevent_req_data( - req, struct rpccli_winreg_NotifyChangeKeyValue_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_winreg_NotifyChangeKeyValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_NotifyChangeKeyValue_state *state = tevent_req_data( - req, struct rpccli_winreg_NotifyChangeKeyValue_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_winreg_NotifyChangeKeyValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t watch_subtree /* [in] */, - uint32_t notify_filter /* [in] */, - uint32_t unknown /* [in] */, - struct winreg_String string1 /* [in] */, - struct winreg_String string2 /* [in] */, - uint32_t unknown2 /* [in] */, - WERROR *werror) -{ - struct winreg_NotifyChangeKeyValue r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.watch_subtree = watch_subtree; - r.in.notify_filter = notify_filter; - r.in.unknown = unknown; - r.in.string1 = string1; - r.in.string2 = string2; - r.in.unknown2 = unknown2; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_NOTIFYCHANGEKEYVALUE, - &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_winreg_OpenKey_state { - struct winreg_OpenKey orig; - struct winreg_OpenKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_parent_handle /* [in] [ref] */, - struct winreg_String _keyname /* [in] */, - uint32_t _options /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.parent_handle = _parent_handle; - state->orig.in.keyname = _keyname; - state->orig.in.options = _options; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenKey_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_winreg, - NDR_WINREG_OPENKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenKey_done, req); - return req; -} - -static void rpccli_winreg_OpenKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenKey_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenKey_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenKey_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenKey_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_winreg_OpenKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *parent_handle /* [in] [ref] */, - struct winreg_String keyname /* [in] */, - uint32_t options /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenKey r; - NTSTATUS status; - - /* In parameters */ - r.in.parent_handle = parent_handle; - r.in.keyname = keyname; - r.in.options = options; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENKEY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_QueryInfoKey_state { - struct winreg_QueryInfoKey orig; - struct winreg_QueryInfoKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_QueryInfoKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_QueryInfoKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_classname /* [in,out] [ref] */, - uint32_t *_num_subkeys /* [out] [ref] */, - uint32_t *_max_subkeylen /* [out] [ref] */, - uint32_t *_max_classlen /* [out] [ref] */, - uint32_t *_num_values /* [out] [ref] */, - uint32_t *_max_valnamelen /* [out] [ref] */, - uint32_t *_max_valbufsize /* [out] [ref] */, - uint32_t *_secdescsize /* [out] [ref] */, - NTTIME *_last_changed_time /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_QueryInfoKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_QueryInfoKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.classname = _classname; - - /* Out parameters */ - state->orig.out.classname = _classname; - state->orig.out.num_subkeys = _num_subkeys; - state->orig.out.max_subkeylen = _max_subkeylen; - state->orig.out.max_classlen = _max_classlen; - state->orig.out.num_values = _num_values; - state->orig.out.max_valnamelen = _max_valnamelen; - state->orig.out.max_valbufsize = _max_valbufsize; - state->orig.out.secdescsize = _secdescsize; - state->orig.out.last_changed_time = _last_changed_time; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_QueryInfoKey_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_winreg, - NDR_WINREG_QUERYINFOKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_QueryInfoKey_done, req); - return req; -} - -static void rpccli_winreg_QueryInfoKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_QueryInfoKey_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryInfoKey_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.classname = *state->tmp.out.classname; - *state->orig.out.num_subkeys = *state->tmp.out.num_subkeys; - *state->orig.out.max_subkeylen = *state->tmp.out.max_subkeylen; - *state->orig.out.max_classlen = *state->tmp.out.max_classlen; - *state->orig.out.num_values = *state->tmp.out.num_values; - *state->orig.out.max_valnamelen = *state->tmp.out.max_valnamelen; - *state->orig.out.max_valbufsize = *state->tmp.out.max_valbufsize; - *state->orig.out.secdescsize = *state->tmp.out.secdescsize; - *state->orig.out.last_changed_time = *state->tmp.out.last_changed_time; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_QueryInfoKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_QueryInfoKey_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryInfoKey_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_winreg_QueryInfoKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *classname /* [in,out] [ref] */, - uint32_t *num_subkeys /* [out] [ref] */, - uint32_t *max_subkeylen /* [out] [ref] */, - uint32_t *max_classlen /* [out] [ref] */, - uint32_t *num_values /* [out] [ref] */, - uint32_t *max_valnamelen /* [out] [ref] */, - uint32_t *max_valbufsize /* [out] [ref] */, - uint32_t *secdescsize /* [out] [ref] */, - NTTIME *last_changed_time /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_QueryInfoKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.classname = classname; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_QUERYINFOKEY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *classname = *r.out.classname; - *num_subkeys = *r.out.num_subkeys; - *max_subkeylen = *r.out.max_subkeylen; - *max_classlen = *r.out.max_classlen; - *num_values = *r.out.num_values; - *max_valnamelen = *r.out.max_valnamelen; - *max_valbufsize = *r.out.max_valbufsize; - *secdescsize = *r.out.secdescsize; - *last_changed_time = *r.out.last_changed_time; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_QueryValue_state { - struct winreg_QueryValue orig; - struct winreg_QueryValue tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_QueryValue_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_QueryValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_value_name /* [in] [ref] */, - enum winreg_Type *_type /* [in,out] [unique] */, - uint8_t *_data /* [in,out] [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */, - uint32_t *_data_size /* [in,out] [unique] */, - uint32_t *_data_length /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_QueryValue_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_QueryValue_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.value_name = _value_name; - state->orig.in.type = _type; - state->orig.in.data = _data; - state->orig.in.data_size = _data_size; - state->orig.in.data_length = _data_length; - - /* Out parameters */ - state->orig.out.type = _type; - state->orig.out.data = _data; - state->orig.out.data_size = _data_size; - state->orig.out.data_length = _data_length; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_QueryValue_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_winreg, - NDR_WINREG_QUERYVALUE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_QueryValue_done, req); - return req; -} - -static void rpccli_winreg_QueryValue_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_QueryValue_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryValue_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.type && state->tmp.out.type) { - *state->orig.out.type = *state->tmp.out.type; - } - if (state->orig.out.data && state->tmp.out.data) { - memcpy(state->orig.out.data, state->tmp.out.data, (state->tmp.in.data_size?*state->tmp.in.data_size:0) * sizeof(*state->orig.out.data)); - } - if (state->orig.out.data_size && state->tmp.out.data_size) { - *state->orig.out.data_size = *state->tmp.out.data_size; - } - if (state->orig.out.data_length && state->tmp.out.data_length) { - *state->orig.out.data_length = *state->tmp.out.data_length; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_QueryValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_QueryValue_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryValue_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_winreg_QueryValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *value_name /* [in] [ref] */, - enum winreg_Type *type /* [in,out] [unique] */, - uint8_t *data /* [in,out] [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */, - uint32_t *data_size /* [in,out] [unique] */, - uint32_t *data_length /* [in,out] [unique] */, - WERROR *werror) -{ - struct winreg_QueryValue r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.value_name = value_name; - r.in.type = type; - r.in.data = data; - r.in.data_size = data_size; - r.in.data_length = data_length; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_QUERYVALUE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (type && r.out.type) { - *type = *r.out.type; - } - if (data && r.out.data) { - memcpy(data, r.out.data, (r.in.data_size?*r.in.data_size:0) * sizeof(*data)); - } - if (data_size && r.out.data_size) { - *data_size = *r.out.data_size; - } - if (data_length && r.out.data_length) { - *data_length = *r.out.data_length; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_ReplaceKey_state { - struct winreg_ReplaceKey orig; - struct winreg_ReplaceKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_ReplaceKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_ReplaceKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_subkey /* [in] [ref] */, - struct winreg_String *_new_file /* [in] [ref] */, - struct winreg_String *_old_file /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_ReplaceKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_ReplaceKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.subkey = _subkey; - state->orig.in.new_file = _new_file; - state->orig.in.old_file = _old_file; - - /* 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_winreg, - NDR_WINREG_REPLACEKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_ReplaceKey_done, req); - return req; -} - -static void rpccli_winreg_ReplaceKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_ReplaceKey_state *state = tevent_req_data( - req, struct rpccli_winreg_ReplaceKey_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_winreg_ReplaceKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_ReplaceKey_state *state = tevent_req_data( - req, struct rpccli_winreg_ReplaceKey_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_winreg_ReplaceKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *subkey /* [in] [ref] */, - struct winreg_String *new_file /* [in] [ref] */, - struct winreg_String *old_file /* [in] [ref] */, - WERROR *werror) -{ - struct winreg_ReplaceKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.subkey = subkey; - r.in.new_file = new_file; - r.in.old_file = old_file; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_REPLACEKEY, - &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_winreg_RestoreKey_state { - struct winreg_RestoreKey orig; - struct winreg_RestoreKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_RestoreKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_RestoreKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_filename /* [in] [ref] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_RestoreKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_RestoreKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.filename = _filename; - state->orig.in.flags = _flags; - - /* 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_winreg, - NDR_WINREG_RESTOREKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_RestoreKey_done, req); - return req; -} - -static void rpccli_winreg_RestoreKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_RestoreKey_state *state = tevent_req_data( - req, struct rpccli_winreg_RestoreKey_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_winreg_RestoreKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_RestoreKey_state *state = tevent_req_data( - req, struct rpccli_winreg_RestoreKey_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_winreg_RestoreKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *filename /* [in] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct winreg_RestoreKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.filename = filename; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_RESTOREKEY, - &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_winreg_SaveKey_state { - struct winreg_SaveKey orig; - struct winreg_SaveKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_SaveKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_SaveKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_filename /* [in] [ref] */, - struct KeySecurityAttribute *_sec_attrib /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_SaveKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_SaveKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.filename = _filename; - state->orig.in.sec_attrib = _sec_attrib; - - /* 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_winreg, - NDR_WINREG_SAVEKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_SaveKey_done, req); - return req; -} - -static void rpccli_winreg_SaveKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_SaveKey_state *state = tevent_req_data( - req, struct rpccli_winreg_SaveKey_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_winreg_SaveKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_SaveKey_state *state = tevent_req_data( - req, struct rpccli_winreg_SaveKey_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_winreg_SaveKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *filename /* [in] [ref] */, - struct KeySecurityAttribute *sec_attrib /* [in] [unique] */, - WERROR *werror) -{ - struct winreg_SaveKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.filename = filename; - r.in.sec_attrib = sec_attrib; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_SAVEKEY, - &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_winreg_SetKeySecurity_state { - struct winreg_SetKeySecurity orig; - struct winreg_SetKeySecurity tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_SetKeySecurity_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_SetKeySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct KeySecurityData *_sd /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_SetKeySecurity_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_SetKeySecurity_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.sec_info = _sec_info; - state->orig.in.sd = _sd; - - /* 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_winreg, - NDR_WINREG_SETKEYSECURITY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_SetKeySecurity_done, req); - return req; -} - -static void rpccli_winreg_SetKeySecurity_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_SetKeySecurity_state *state = tevent_req_data( - req, struct rpccli_winreg_SetKeySecurity_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_winreg_SetKeySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_SetKeySecurity_state *state = tevent_req_data( - req, struct rpccli_winreg_SetKeySecurity_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_winreg_SetKeySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct KeySecurityData *sd /* [in] [ref] */, - WERROR *werror) -{ - struct winreg_SetKeySecurity r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.sec_info = sec_info; - r.in.sd = sd; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_SETKEYSECURITY, - &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_winreg_SetValue_state { - struct winreg_SetValue orig; - struct winreg_SetValue tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_SetValue_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_SetValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _name /* [in] */, - enum winreg_Type _type /* [in] */, - uint8_t *_data /* [in] [ref,size_is(size)] */, - uint32_t _size /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_SetValue_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_SetValue_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.name = _name; - state->orig.in.type = _type; - state->orig.in.data = _data; - state->orig.in.size = _size; - - /* 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_winreg, - NDR_WINREG_SETVALUE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_SetValue_done, req); - return req; -} - -static void rpccli_winreg_SetValue_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_SetValue_state *state = tevent_req_data( - req, struct rpccli_winreg_SetValue_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_winreg_SetValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_SetValue_state *state = tevent_req_data( - req, struct rpccli_winreg_SetValue_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_winreg_SetValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String name /* [in] */, - enum winreg_Type type /* [in] */, - uint8_t *data /* [in] [ref,size_is(size)] */, - uint32_t size /* [in] */, - WERROR *werror) -{ - struct winreg_SetValue r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.name = name; - r.in.type = type; - r.in.data = data; - r.in.size = size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_SETVALUE, - &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_winreg_UnLoadKey_state { - struct winreg_UnLoadKey orig; - struct winreg_UnLoadKey tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_UnLoadKey_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_UnLoadKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_subkey /* [in] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_UnLoadKey_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_UnLoadKey_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.subkey = _subkey; - - /* 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_winreg, - NDR_WINREG_UNLOADKEY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_UnLoadKey_done, req); - return req; -} - -static void rpccli_winreg_UnLoadKey_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_UnLoadKey_state *state = tevent_req_data( - req, struct rpccli_winreg_UnLoadKey_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_winreg_UnLoadKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_UnLoadKey_state *state = tevent_req_data( - req, struct rpccli_winreg_UnLoadKey_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_winreg_UnLoadKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *subkey /* [in] [ref] */, - WERROR *werror) -{ - struct winreg_UnLoadKey r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.subkey = subkey; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_UNLOADKEY, - &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_winreg_InitiateSystemShutdown_state { - struct winreg_InitiateSystemShutdown orig; - struct winreg_InitiateSystemShutdown tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_InitiateSystemShutdown_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_InitiateSystemShutdown_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_InitiateSystemShutdown_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_InitiateSystemShutdown_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.hostname = _hostname; - state->orig.in.message = _message; - state->orig.in.timeout = _timeout; - state->orig.in.force_apps = _force_apps; - state->orig.in.do_reboot = _do_reboot; - - /* 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_winreg, - NDR_WINREG_INITIATESYSTEMSHUTDOWN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_InitiateSystemShutdown_done, req); - return req; -} - -static void rpccli_winreg_InitiateSystemShutdown_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_InitiateSystemShutdown_state *state = tevent_req_data( - req, struct rpccli_winreg_InitiateSystemShutdown_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_winreg_InitiateSystemShutdown_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_InitiateSystemShutdown_state *state = tevent_req_data( - req, struct rpccli_winreg_InitiateSystemShutdown_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_winreg_InitiateSystemShutdown(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - WERROR *werror) -{ - struct winreg_InitiateSystemShutdown r; - NTSTATUS status; - - /* In parameters */ - r.in.hostname = hostname; - r.in.message = message; - r.in.timeout = timeout; - r.in.force_apps = force_apps; - r.in.do_reboot = do_reboot; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_INITIATESYSTEMSHUTDOWN, - &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_winreg_AbortSystemShutdown_state { - struct winreg_AbortSystemShutdown orig; - struct winreg_AbortSystemShutdown tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_AbortSystemShutdown_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_AbortSystemShutdown_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_server /* [in] [unique] */) -{ - struct tevent_req *req; - struct rpccli_winreg_AbortSystemShutdown_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_AbortSystemShutdown_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server = _server; - - /* 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_winreg, - NDR_WINREG_ABORTSYSTEMSHUTDOWN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_AbortSystemShutdown_done, req); - return req; -} - -static void rpccli_winreg_AbortSystemShutdown_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_AbortSystemShutdown_state *state = tevent_req_data( - req, struct rpccli_winreg_AbortSystemShutdown_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_winreg_AbortSystemShutdown_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_AbortSystemShutdown_state *state = tevent_req_data( - req, struct rpccli_winreg_AbortSystemShutdown_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_winreg_AbortSystemShutdown(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *server /* [in] [unique] */, - WERROR *werror) -{ - struct winreg_AbortSystemShutdown r; - NTSTATUS status; - - /* In parameters */ - r.in.server = server; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_ABORTSYSTEMSHUTDOWN, - &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_winreg_GetVersion_state { - struct winreg_GetVersion orig; - struct winreg_GetVersion tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_GetVersion_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_GetVersion_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_version /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_GetVersion_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_GetVersion_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - - /* Out parameters */ - state->orig.out.version = _version; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_GetVersion_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_winreg, - NDR_WINREG_GETVERSION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_GetVersion_done, req); - return req; -} - -static void rpccli_winreg_GetVersion_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_GetVersion_state *state = tevent_req_data( - req, struct rpccli_winreg_GetVersion_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.version = *state->tmp.out.version; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_GetVersion_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_GetVersion_state *state = tevent_req_data( - req, struct rpccli_winreg_GetVersion_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_winreg_GetVersion(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *version /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_GetVersion r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_GETVERSION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *version = *r.out.version; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKCC_state { - struct winreg_OpenHKCC orig; - struct winreg_OpenHKCC tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKCC_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKCC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKCC_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKCC_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKCC_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_winreg, - NDR_WINREG_OPENHKCC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKCC_done, req); - return req; -} - -static void rpccli_winreg_OpenHKCC_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKCC_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKCC_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKCC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKCC_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKCC_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_winreg_OpenHKCC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKCC r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKCC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKDD_state { - struct winreg_OpenHKDD orig; - struct winreg_OpenHKDD tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKDD_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKDD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKDD_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKDD_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKDD_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_winreg, - NDR_WINREG_OPENHKDD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKDD_done, req); - return req; -} - -static void rpccli_winreg_OpenHKDD_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKDD_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKDD_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKDD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKDD_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKDD_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_winreg_OpenHKDD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKDD r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKDD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_QueryMultipleValues_state { - struct winreg_QueryMultipleValues orig; - struct winreg_QueryMultipleValues tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_QueryMultipleValues_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_QueryMultipleValues_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_key_handle /* [in] [ref] */, - struct QueryMultipleValue *_values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t _num_values /* [in] */, - uint8_t *_buffer /* [in,out] [unique,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *_buffer_size /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_QueryMultipleValues_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_QueryMultipleValues_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.key_handle = _key_handle; - state->orig.in.values = _values; - state->orig.in.num_values = _num_values; - state->orig.in.buffer = _buffer; - state->orig.in.buffer_size = _buffer_size; - - /* Out parameters */ - state->orig.out.values = _values; - state->orig.out.buffer = _buffer; - state->orig.out.buffer_size = _buffer_size; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_QueryMultipleValues_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_winreg, - NDR_WINREG_QUERYMULTIPLEVALUES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_QueryMultipleValues_done, req); - return req; -} - -static void rpccli_winreg_QueryMultipleValues_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_QueryMultipleValues_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryMultipleValues_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.values, state->tmp.out.values, (state->tmp.in.num_values) * sizeof(*state->orig.out.values)); - if (state->orig.out.buffer && state->tmp.out.buffer) { - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (*state->tmp.in.buffer_size) * sizeof(*state->orig.out.buffer)); - } - *state->orig.out.buffer_size = *state->tmp.out.buffer_size; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_QueryMultipleValues_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_QueryMultipleValues_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryMultipleValues_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_winreg_QueryMultipleValues(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *key_handle /* [in] [ref] */, - struct QueryMultipleValue *values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t num_values /* [in] */, - uint8_t *buffer /* [in,out] [unique,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *buffer_size /* [in,out] [ref] */, - WERROR *werror) -{ - struct winreg_QueryMultipleValues r; - NTSTATUS status; - - /* In parameters */ - r.in.key_handle = key_handle; - r.in.values = values; - r.in.num_values = num_values; - r.in.buffer = buffer; - r.in.buffer_size = buffer_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_QUERYMULTIPLEVALUES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(values, r.out.values, (r.in.num_values) * sizeof(*values)); - if (buffer && r.out.buffer) { - memcpy(buffer, r.out.buffer, (*r.in.buffer_size) * sizeof(*buffer)); - } - *buffer_size = *r.out.buffer_size; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_InitiateSystemShutdownEx_state { - struct winreg_InitiateSystemShutdownEx orig; - struct winreg_InitiateSystemShutdownEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_InitiateSystemShutdownEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_InitiateSystemShutdownEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */, - uint32_t _reason /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_InitiateSystemShutdownEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_InitiateSystemShutdownEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.hostname = _hostname; - state->orig.in.message = _message; - state->orig.in.timeout = _timeout; - state->orig.in.force_apps = _force_apps; - state->orig.in.do_reboot = _do_reboot; - state->orig.in.reason = _reason; - - /* 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_winreg, - NDR_WINREG_INITIATESYSTEMSHUTDOWNEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_InitiateSystemShutdownEx_done, req); - return req; -} - -static void rpccli_winreg_InitiateSystemShutdownEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_InitiateSystemShutdownEx_state *state = tevent_req_data( - req, struct rpccli_winreg_InitiateSystemShutdownEx_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_winreg_InitiateSystemShutdownEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_InitiateSystemShutdownEx_state *state = tevent_req_data( - req, struct rpccli_winreg_InitiateSystemShutdownEx_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_winreg_InitiateSystemShutdownEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - uint32_t reason /* [in] */, - WERROR *werror) -{ - struct winreg_InitiateSystemShutdownEx r; - NTSTATUS status; - - /* In parameters */ - r.in.hostname = hostname; - r.in.message = message; - r.in.timeout = timeout; - r.in.force_apps = force_apps; - r.in.do_reboot = do_reboot; - r.in.reason = reason; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_INITIATESYSTEMSHUTDOWNEX, - &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_winreg_SaveKeyEx_state { - struct winreg_SaveKeyEx orig; - struct winreg_SaveKeyEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_SaveKeyEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_SaveKeyEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_filename /* [in] [ref] */, - struct KeySecurityAttribute *_sec_attrib /* [in] [unique] */, - uint32_t _flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_SaveKeyEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_SaveKeyEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.filename = _filename; - state->orig.in.sec_attrib = _sec_attrib; - state->orig.in.flags = _flags; - - /* 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_winreg, - NDR_WINREG_SAVEKEYEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_SaveKeyEx_done, req); - return req; -} - -static void rpccli_winreg_SaveKeyEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_SaveKeyEx_state *state = tevent_req_data( - req, struct rpccli_winreg_SaveKeyEx_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_winreg_SaveKeyEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_SaveKeyEx_state *state = tevent_req_data( - req, struct rpccli_winreg_SaveKeyEx_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_winreg_SaveKeyEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *filename /* [in] [ref] */, - struct KeySecurityAttribute *sec_attrib /* [in] [unique] */, - uint32_t flags /* [in] */, - WERROR *werror) -{ - struct winreg_SaveKeyEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.filename = filename; - r.in.sec_attrib = sec_attrib; - r.in.flags = flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_SAVEKEYEX, - &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_winreg_OpenHKPT_state { - struct winreg_OpenHKPT orig; - struct winreg_OpenHKPT tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKPT_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKPT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKPT_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKPT_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKPT_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_winreg, - NDR_WINREG_OPENHKPT, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKPT_done, req); - return req; -} - -static void rpccli_winreg_OpenHKPT_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKPT_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKPT_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKPT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKPT_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKPT_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_winreg_OpenHKPT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKPT r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKPT, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_OpenHKPN_state { - struct winreg_OpenHKPN orig; - struct winreg_OpenHKPN tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_OpenHKPN_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_OpenHKPN_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_OpenHKPN_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_OpenHKPN_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.system_name = _system_name; - state->orig.in.access_mask = _access_mask; - - /* Out parameters */ - state->orig.out.handle = _handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_OpenHKPN_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_winreg, - NDR_WINREG_OPENHKPN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_OpenHKPN_done, req); - return req; -} - -static void rpccli_winreg_OpenHKPN_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_OpenHKPN_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKPN_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.handle = *state->tmp.out.handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_OpenHKPN_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_OpenHKPN_state *state = tevent_req_data( - req, struct rpccli_winreg_OpenHKPN_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_winreg_OpenHKPN(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_OpenHKPN r; - NTSTATUS status; - - /* In parameters */ - r.in.system_name = system_name; - r.in.access_mask = access_mask; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_OPENHKPN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *handle = *r.out.handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_QueryMultipleValues2_state { - struct winreg_QueryMultipleValues2 orig; - struct winreg_QueryMultipleValues2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_QueryMultipleValues2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_QueryMultipleValues2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_key_handle /* [in] [ref] */, - struct QueryMultipleValue *_values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t _num_values /* [in] */, - uint8_t *_buffer /* [in,out] [unique,length_is(offered),size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_winreg_QueryMultipleValues2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_QueryMultipleValues2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.key_handle = _key_handle; - state->orig.in.values = _values; - state->orig.in.num_values = _num_values; - state->orig.in.buffer = _buffer; - state->orig.in.offered = _offered; - - /* Out parameters */ - state->orig.out.values = _values; - state->orig.out.buffer = _buffer; - state->orig.out.needed = _needed; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_winreg_QueryMultipleValues2_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_winreg, - NDR_WINREG_QUERYMULTIPLEVALUES2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_QueryMultipleValues2_done, req); - return req; -} - -static void rpccli_winreg_QueryMultipleValues2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_QueryMultipleValues2_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryMultipleValues2_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - memcpy(state->orig.out.values, state->tmp.out.values, (state->tmp.in.num_values) * sizeof(*state->orig.out.values)); - if (state->orig.out.buffer && state->tmp.out.buffer) { - memcpy(state->orig.out.buffer, state->tmp.out.buffer, (state->tmp.in.offered) * sizeof(*state->orig.out.buffer)); - } - *state->orig.out.needed = *state->tmp.out.needed; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_winreg_QueryMultipleValues2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_QueryMultipleValues2_state *state = tevent_req_data( - req, struct rpccli_winreg_QueryMultipleValues2_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_winreg_QueryMultipleValues2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *key_handle /* [in] [ref] */, - struct QueryMultipleValue *values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t num_values /* [in] */, - uint8_t *buffer /* [in,out] [unique,length_is(offered),size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror) -{ - struct winreg_QueryMultipleValues2 r; - NTSTATUS status; - - /* In parameters */ - r.in.key_handle = key_handle; - r.in.values = values; - r.in.num_values = num_values; - r.in.buffer = buffer; - r.in.offered = offered; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_QUERYMULTIPLEVALUES2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - memcpy(values, r.out.values, (r.in.num_values) * sizeof(*values)); - if (buffer && r.out.buffer) { - memcpy(buffer, r.out.buffer, (r.in.offered) * sizeof(*buffer)); - } - *needed = *r.out.needed; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_winreg_DeleteKeyEx_state { - struct winreg_DeleteKeyEx orig; - struct winreg_DeleteKeyEx tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_winreg_DeleteKeyEx_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_winreg_DeleteKeyEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_key /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _reserved /* [in] */) -{ - struct tevent_req *req; - struct rpccli_winreg_DeleteKeyEx_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_winreg_DeleteKeyEx_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.handle = _handle; - state->orig.in.key = _key; - state->orig.in.access_mask = _access_mask; - state->orig.in.reserved = _reserved; - - /* 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_winreg, - NDR_WINREG_DELETEKEYEX, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_winreg_DeleteKeyEx_done, req); - return req; -} - -static void rpccli_winreg_DeleteKeyEx_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_winreg_DeleteKeyEx_state *state = tevent_req_data( - req, struct rpccli_winreg_DeleteKeyEx_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_winreg_DeleteKeyEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_winreg_DeleteKeyEx_state *state = tevent_req_data( - req, struct rpccli_winreg_DeleteKeyEx_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_winreg_DeleteKeyEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *key /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t reserved /* [in] */, - WERROR *werror) -{ - struct winreg_DeleteKeyEx r; - NTSTATUS status; - - /* In parameters */ - r.in.handle = handle; - r.in.key = key; - r.in.access_mask = access_mask; - r.in.reserved = reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_winreg, - NDR_WINREG_DELETEKEYEX, - &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); -} - diff --git a/librpc/gen_ndr/cli_winreg.h b/librpc/gen_ndr/cli_winreg.h deleted file mode 100644 index f6922d4ad9c..00000000000 --- a/librpc/gen_ndr/cli_winreg.h +++ /dev/null @@ -1,608 +0,0 @@ -#include "../librpc/gen_ndr/ndr_winreg.h" -#ifndef __CLI_WINREG__ -#define __CLI_WINREG__ -struct tevent_req *rpccli_winreg_OpenHKCR_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKCR_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKCR(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKCU_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKCU_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKCU(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKLM_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKLM_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKLM(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKPD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKPD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKPD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKU_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKU_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKU(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_CloseKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in,out] [ref] */); -NTSTATUS rpccli_winreg_CloseKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_CloseKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_CreateKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _name /* [in] */, - struct winreg_String _keyclass /* [in] */, - uint32_t _options /* [in] */, - uint32_t _access_mask /* [in] */, - struct winreg_SecBuf *_secdesc /* [in] [unique] */, - struct policy_handle *_new_handle /* [out] [ref] */, - enum winreg_CreateAction *_action_taken /* [in,out] [unique] */); -NTSTATUS rpccli_winreg_CreateKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_CreateKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String name /* [in] */, - struct winreg_String keyclass /* [in] */, - uint32_t options /* [in] */, - uint32_t access_mask /* [in] */, - struct winreg_SecBuf *secdesc /* [in] [unique] */, - struct policy_handle *new_handle /* [out] [ref] */, - enum winreg_CreateAction *action_taken /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_DeleteKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _key /* [in] */); -NTSTATUS rpccli_winreg_DeleteKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_DeleteKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String key /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_DeleteValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _value /* [in] */); -NTSTATUS rpccli_winreg_DeleteValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_DeleteValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String value /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_EnumKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _enum_index /* [in] */, - struct winreg_StringBuf *_name /* [in,out] [ref] */, - struct winreg_StringBuf *_keyclass /* [in,out] [unique] */, - NTTIME *_last_changed_time /* [in,out] [unique] */); -NTSTATUS rpccli_winreg_EnumKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_EnumKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t enum_index /* [in] */, - struct winreg_StringBuf *name /* [in,out] [ref] */, - struct winreg_StringBuf *keyclass /* [in,out] [unique] */, - NTTIME *last_changed_time /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_EnumValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _enum_index /* [in] */, - struct winreg_ValNameBuf *_name /* [in,out] [ref] */, - enum winreg_Type *_type /* [in,out] [unique] */, - uint8_t *_value /* [in,out] [unique,length_is(*length),size_is(*size)] */, - uint32_t *_size /* [in,out] [unique] */, - uint32_t *_length /* [in,out] [unique] */); -NTSTATUS rpccli_winreg_EnumValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_EnumValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t enum_index /* [in] */, - struct winreg_ValNameBuf *name /* [in,out] [ref] */, - enum winreg_Type *type /* [in,out] [unique] */, - uint8_t *value /* [in,out] [unique,length_is(*length),size_is(*size)] */, - uint32_t *size /* [in,out] [unique] */, - uint32_t *length /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_FlushKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */); -NTSTATUS rpccli_winreg_FlushKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_FlushKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_GetKeySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct KeySecurityData *_sd /* [in,out] [ref] */); -NTSTATUS rpccli_winreg_GetKeySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_GetKeySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct KeySecurityData *sd /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_LoadKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_keyname /* [in] [unique] */, - struct winreg_String *_filename /* [in] [unique] */); -NTSTATUS rpccli_winreg_LoadKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_LoadKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *keyname /* [in] [unique] */, - struct winreg_String *filename /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_NotifyChangeKeyValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint8_t _watch_subtree /* [in] */, - uint32_t _notify_filter /* [in] */, - uint32_t _unknown /* [in] */, - struct winreg_String _string1 /* [in] */, - struct winreg_String _string2 /* [in] */, - uint32_t _unknown2 /* [in] */); -NTSTATUS rpccli_winreg_NotifyChangeKeyValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_NotifyChangeKeyValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint8_t watch_subtree /* [in] */, - uint32_t notify_filter /* [in] */, - uint32_t unknown /* [in] */, - struct winreg_String string1 /* [in] */, - struct winreg_String string2 /* [in] */, - uint32_t unknown2 /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_parent_handle /* [in] [ref] */, - struct winreg_String _keyname /* [in] */, - uint32_t _options /* [in] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *parent_handle /* [in] [ref] */, - struct winreg_String keyname /* [in] */, - uint32_t options /* [in] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_QueryInfoKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_classname /* [in,out] [ref] */, - uint32_t *_num_subkeys /* [out] [ref] */, - uint32_t *_max_subkeylen /* [out] [ref] */, - uint32_t *_max_classlen /* [out] [ref] */, - uint32_t *_num_values /* [out] [ref] */, - uint32_t *_max_valnamelen /* [out] [ref] */, - uint32_t *_max_valbufsize /* [out] [ref] */, - uint32_t *_secdescsize /* [out] [ref] */, - NTTIME *_last_changed_time /* [out] [ref] */); -NTSTATUS rpccli_winreg_QueryInfoKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_QueryInfoKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *classname /* [in,out] [ref] */, - uint32_t *num_subkeys /* [out] [ref] */, - uint32_t *max_subkeylen /* [out] [ref] */, - uint32_t *max_classlen /* [out] [ref] */, - uint32_t *num_values /* [out] [ref] */, - uint32_t *max_valnamelen /* [out] [ref] */, - uint32_t *max_valbufsize /* [out] [ref] */, - uint32_t *secdescsize /* [out] [ref] */, - NTTIME *last_changed_time /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_QueryValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_value_name /* [in] [ref] */, - enum winreg_Type *_type /* [in,out] [unique] */, - uint8_t *_data /* [in,out] [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */, - uint32_t *_data_size /* [in,out] [unique] */, - uint32_t *_data_length /* [in,out] [unique] */); -NTSTATUS rpccli_winreg_QueryValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_QueryValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *value_name /* [in] [ref] */, - enum winreg_Type *type /* [in,out] [unique] */, - uint8_t *data /* [in,out] [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */, - uint32_t *data_size /* [in,out] [unique] */, - uint32_t *data_length /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_ReplaceKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_subkey /* [in] [ref] */, - struct winreg_String *_new_file /* [in] [ref] */, - struct winreg_String *_old_file /* [in] [ref] */); -NTSTATUS rpccli_winreg_ReplaceKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_ReplaceKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *subkey /* [in] [ref] */, - struct winreg_String *new_file /* [in] [ref] */, - struct winreg_String *old_file /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_RestoreKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_filename /* [in] [ref] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_winreg_RestoreKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_RestoreKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *filename /* [in] [ref] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_SaveKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_filename /* [in] [ref] */, - struct KeySecurityAttribute *_sec_attrib /* [in] [unique] */); -NTSTATUS rpccli_winreg_SaveKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_SaveKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *filename /* [in] [ref] */, - struct KeySecurityAttribute *sec_attrib /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_SetKeySecurity_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t _sec_info /* [in] */, - struct KeySecurityData *_sd /* [in] [ref] */); -NTSTATUS rpccli_winreg_SetKeySecurity_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_SetKeySecurity(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t sec_info /* [in] */, - struct KeySecurityData *sd /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_SetValue_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String _name /* [in] */, - enum winreg_Type _type /* [in] */, - uint8_t *_data /* [in] [ref,size_is(size)] */, - uint32_t _size /* [in] */); -NTSTATUS rpccli_winreg_SetValue_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_SetValue(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String name /* [in] */, - enum winreg_Type type /* [in] */, - uint8_t *data /* [in] [ref,size_is(size)] */, - uint32_t size /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_UnLoadKey_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_subkey /* [in] [ref] */); -NTSTATUS rpccli_winreg_UnLoadKey_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_UnLoadKey(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *subkey /* [in] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_InitiateSystemShutdown_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */); -NTSTATUS rpccli_winreg_InitiateSystemShutdown_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_InitiateSystemShutdown(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_AbortSystemShutdown_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_server /* [in] [unique] */); -NTSTATUS rpccli_winreg_AbortSystemShutdown_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_AbortSystemShutdown(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *server /* [in] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_GetVersion_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - uint32_t *_version /* [out] [ref] */); -NTSTATUS rpccli_winreg_GetVersion_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_GetVersion(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - uint32_t *version /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKCC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKCC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKCC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKDD_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKDD_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKDD(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_QueryMultipleValues_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_key_handle /* [in] [ref] */, - struct QueryMultipleValue *_values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t _num_values /* [in] */, - uint8_t *_buffer /* [in,out] [unique,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *_buffer_size /* [in,out] [ref] */); -NTSTATUS rpccli_winreg_QueryMultipleValues_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_QueryMultipleValues(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *key_handle /* [in] [ref] */, - struct QueryMultipleValue *values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t num_values /* [in] */, - uint8_t *buffer /* [in,out] [unique,length_is(*buffer_size),size_is(*buffer_size)] */, - uint32_t *buffer_size /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_InitiateSystemShutdownEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_hostname /* [in] [unique] */, - struct lsa_StringLarge *_message /* [in] [unique] */, - uint32_t _timeout /* [in] */, - uint8_t _force_apps /* [in] */, - uint8_t _do_reboot /* [in] */, - uint32_t _reason /* [in] */); -NTSTATUS rpccli_winreg_InitiateSystemShutdownEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_InitiateSystemShutdownEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *hostname /* [in] [unique] */, - struct lsa_StringLarge *message /* [in] [unique] */, - uint32_t timeout /* [in] */, - uint8_t force_apps /* [in] */, - uint8_t do_reboot /* [in] */, - uint32_t reason /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_SaveKeyEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_filename /* [in] [ref] */, - struct KeySecurityAttribute *_sec_attrib /* [in] [unique] */, - uint32_t _flags /* [in] */); -NTSTATUS rpccli_winreg_SaveKeyEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_SaveKeyEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *filename /* [in] [ref] */, - struct KeySecurityAttribute *sec_attrib /* [in] [unique] */, - uint32_t flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKPT_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKPT_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKPT(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_OpenHKPN_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - uint16_t *_system_name /* [in] [unique] */, - uint32_t _access_mask /* [in] */, - struct policy_handle *_handle /* [out] [ref] */); -NTSTATUS rpccli_winreg_OpenHKPN_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_OpenHKPN(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint16_t *system_name /* [in] [unique] */, - uint32_t access_mask /* [in] */, - struct policy_handle *handle /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_QueryMultipleValues2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_key_handle /* [in] [ref] */, - struct QueryMultipleValue *_values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t _num_values /* [in] */, - uint8_t *_buffer /* [in,out] [unique,length_is(offered),size_is(offered)] */, - uint32_t _offered /* [in] */, - uint32_t *_needed /* [out] [ref] */); -NTSTATUS rpccli_winreg_QueryMultipleValues2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_QueryMultipleValues2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *key_handle /* [in] [ref] */, - struct QueryMultipleValue *values /* [in,out] [ref,length_is(num_values),size_is(num_values)] */, - uint32_t num_values /* [in] */, - uint8_t *buffer /* [in,out] [unique,length_is(offered),size_is(offered)] */, - uint32_t offered /* [in] */, - uint32_t *needed /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_winreg_DeleteKeyEx_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_handle /* [in] [ref] */, - struct winreg_String *_key /* [in] [ref] */, - uint32_t _access_mask /* [in] */, - uint32_t _reserved /* [in] */); -NTSTATUS rpccli_winreg_DeleteKeyEx_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_winreg_DeleteKeyEx(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *handle /* [in] [ref] */, - struct winreg_String *key /* [in] [ref] */, - uint32_t access_mask /* [in] */, - uint32_t reserved /* [in] */, - WERROR *werror); -#endif /* __CLI_WINREG__ */ diff --git a/librpc/gen_ndr/cli_wkssvc.c b/librpc/gen_ndr/cli_wkssvc.c deleted file mode 100644 index b8465d9bef5..00000000000 --- a/librpc/gen_ndr/cli_wkssvc.c +++ /dev/null @@ -1,4889 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_wkssvc.h" - -struct rpccli_wkssvc_NetWkstaGetInfo_state { - struct wkssvc_NetWkstaGetInfo orig; - struct wkssvc_NetWkstaGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetWkstaGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetWkstaGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetWkstaInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetWkstaGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetWkstaGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetWkstaGetInfo_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_wkssvc, - NDR_WKSSVC_NETWKSTAGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaGetInfo_done, req); - return req; -} - -static void rpccli_wkssvc_NetWkstaGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetWkstaGetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetWkstaGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetWkstaGetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaGetInfo_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_wkssvc_NetWkstaGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetWkstaInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct wkssvc_NetWkstaGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETWKSTAGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetWkstaSetInfo_state { - struct wkssvc_NetWkstaSetInfo orig; - struct wkssvc_NetWkstaSetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetWkstaSetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetWkstaSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetWkstaInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetWkstaSetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetWkstaSetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.parm_error = _parm_error; - - /* Out parameters */ - state->orig.out.parm_error = _parm_error; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetWkstaSetInfo_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_wkssvc, - NDR_WKSSVC_NETWKSTASETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaSetInfo_done, req); - return req; -} - -static void rpccli_wkssvc_NetWkstaSetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetWkstaSetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaSetInfo_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.parm_error = *state->tmp.out.parm_error; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetWkstaSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetWkstaSetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaSetInfo_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_wkssvc_NetWkstaSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetWkstaInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [ref] */, - WERROR *werror) -{ - struct wkssvc_NetWkstaSetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.level = level; - r.in.info = info; - r.in.parm_error = parm_error; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETWKSTASETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *parm_error = *r.out.parm_error; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetWkstaEnumUsers_state { - struct wkssvc_NetWkstaEnumUsers orig; - struct wkssvc_NetWkstaEnumUsers tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetWkstaEnumUsers_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetWkstaEnumUsers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaEnumUsersInfo *_info /* [in,out] [ref] */, - uint32_t _prefmaxlen /* [in] */, - uint32_t *_entries_read /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetWkstaEnumUsers_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetWkstaEnumUsers_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.info = _info; - state->orig.in.prefmaxlen = _prefmaxlen; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.entries_read = _entries_read; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetWkstaEnumUsers_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_wkssvc, - NDR_WKSSVC_NETWKSTAENUMUSERS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaEnumUsers_done, req); - return req; -} - -static void rpccli_wkssvc_NetWkstaEnumUsers_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetWkstaEnumUsers_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaEnumUsers_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.entries_read = *state->tmp.out.entries_read; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetWkstaEnumUsers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetWkstaEnumUsers_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaEnumUsers_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_wkssvc_NetWkstaEnumUsers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaEnumUsersInfo *info /* [in,out] [ref] */, - uint32_t prefmaxlen /* [in] */, - uint32_t *entries_read /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct wkssvc_NetWkstaEnumUsers r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.info = info; - r.in.prefmaxlen = prefmaxlen; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETWKSTAENUMUSERS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - *entries_read = *r.out.entries_read; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrWkstaUserGetInfo_state { - struct wkssvc_NetrWkstaUserGetInfo orig; - struct wkssvc_NetrWkstaUserGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrWkstaUserGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrWkstaUserGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_unknown /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrWkstaUserInfo *_info /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrWkstaUserGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrWkstaUserGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.unknown = _unknown; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrWkstaUserGetInfo_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_wkssvc, - NDR_WKSSVC_NETRWKSTAUSERGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaUserGetInfo_done, req); - return req; -} - -static void rpccli_wkssvc_NetrWkstaUserGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrWkstaUserGetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaUserGetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrWkstaUserGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrWkstaUserGetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaUserGetInfo_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_wkssvc_NetrWkstaUserGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *unknown /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrWkstaUserInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct wkssvc_NetrWkstaUserGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.unknown = unknown; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRWKSTAUSERGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrWkstaUserSetInfo_state { - struct wkssvc_NetrWkstaUserSetInfo orig; - struct wkssvc_NetrWkstaUserSetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrWkstaUserSetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrWkstaUserSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_unknown /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrWkstaUserInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_err /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrWkstaUserSetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrWkstaUserSetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.unknown = _unknown; - state->orig.in.level = _level; - state->orig.in.info = _info; - state->orig.in.parm_err = _parm_err; - - /* Out parameters */ - state->orig.out.parm_err = _parm_err; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrWkstaUserSetInfo_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_wkssvc, - NDR_WKSSVC_NETRWKSTAUSERSETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaUserSetInfo_done, req); - return req; -} - -static void rpccli_wkssvc_NetrWkstaUserSetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrWkstaUserSetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaUserSetInfo_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_err && state->tmp.out.parm_err) { - *state->orig.out.parm_err = *state->tmp.out.parm_err; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrWkstaUserSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrWkstaUserSetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaUserSetInfo_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_wkssvc_NetrWkstaUserSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *unknown /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrWkstaUserInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_err /* [in,out] [unique] */, - WERROR *werror) -{ - struct wkssvc_NetrWkstaUserSetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.unknown = unknown; - r.in.level = level; - r.in.info = info; - r.in.parm_err = parm_err; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRWKSTAUSERSETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_err && r.out.parm_err) { - *parm_err = *r.out.parm_err; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetWkstaTransportEnum_state { - struct wkssvc_NetWkstaTransportEnum orig; - struct wkssvc_NetWkstaTransportEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetWkstaTransportEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetWkstaTransportEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaTransportInfo *_info /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_total_entries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetWkstaTransportEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetWkstaTransportEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.info = _info; - state->orig.in.max_buffer = _max_buffer; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.total_entries = _total_entries; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetWkstaTransportEnum_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_wkssvc, - NDR_WKSSVC_NETWKSTATRANSPORTENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetWkstaTransportEnum_done, req); - return req; -} - -static void rpccli_wkssvc_NetWkstaTransportEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetWkstaTransportEnum_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaTransportEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.total_entries = *state->tmp.out.total_entries; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetWkstaTransportEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetWkstaTransportEnum_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetWkstaTransportEnum_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_wkssvc_NetWkstaTransportEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaTransportInfo *info /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *total_entries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct wkssvc_NetWkstaTransportEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.info = info; - r.in.max_buffer = max_buffer; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETWKSTATRANSPORTENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - *total_entries = *r.out.total_entries; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrWkstaTransportAdd_state { - struct wkssvc_NetrWkstaTransportAdd orig; - struct wkssvc_NetrWkstaTransportAdd tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrWkstaTransportAdd_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrWkstaTransportAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - struct wkssvc_NetWkstaTransportInfo0 *_info0 /* [in] [ref] */, - uint32_t *_parm_err /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrWkstaTransportAdd_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrWkstaTransportAdd_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.level = _level; - state->orig.in.info0 = _info0; - state->orig.in.parm_err = _parm_err; - - /* Out parameters */ - state->orig.out.parm_err = _parm_err; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrWkstaTransportAdd_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_wkssvc, - NDR_WKSSVC_NETRWKSTATRANSPORTADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaTransportAdd_done, req); - return req; -} - -static void rpccli_wkssvc_NetrWkstaTransportAdd_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrWkstaTransportAdd_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaTransportAdd_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_err && state->tmp.out.parm_err) { - *state->orig.out.parm_err = *state->tmp.out.parm_err; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrWkstaTransportAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrWkstaTransportAdd_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaTransportAdd_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_wkssvc_NetrWkstaTransportAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - struct wkssvc_NetWkstaTransportInfo0 *info0 /* [in] [ref] */, - uint32_t *parm_err /* [in,out] [unique] */, - WERROR *werror) -{ - struct wkssvc_NetrWkstaTransportAdd r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.level = level; - r.in.info0 = info0; - r.in.parm_err = parm_err; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRWKSTATRANSPORTADD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_err && r.out.parm_err) { - *parm_err = *r.out.parm_err; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrWkstaTransportDel_state { - struct wkssvc_NetrWkstaTransportDel orig; - struct wkssvc_NetrWkstaTransportDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrWkstaTransportDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrWkstaTransportDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_transport_name /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown3 /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrWkstaTransportDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrWkstaTransportDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.transport_name = _transport_name; - state->orig.in.unknown3 = _unknown3; - - /* 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_wkssvc, - NDR_WKSSVC_NETRWKSTATRANSPORTDEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWkstaTransportDel_done, req); - return req; -} - -static void rpccli_wkssvc_NetrWkstaTransportDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrWkstaTransportDel_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaTransportDel_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_wkssvc_NetrWkstaTransportDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrWkstaTransportDel_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWkstaTransportDel_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_wkssvc_NetrWkstaTransportDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *transport_name /* [in] [unique,charset(UTF16)] */, - uint32_t unknown3 /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrWkstaTransportDel r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.transport_name = transport_name; - r.in.unknown3 = unknown3; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRWKSTATRANSPORTDEL, - &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_wkssvc_NetrUseAdd_state { - struct wkssvc_NetrUseAdd orig; - struct wkssvc_NetrUseAdd tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrUseAdd_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrUseAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *_ctr /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_err /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrUseAdd_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrUseAdd_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.level = _level; - state->orig.in.ctr = _ctr; - state->orig.in.parm_err = _parm_err; - - /* Out parameters */ - state->orig.out.parm_err = _parm_err; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrUseAdd_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_wkssvc, - NDR_WKSSVC_NETRUSEADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseAdd_done, req); - return req; -} - -static void rpccli_wkssvc_NetrUseAdd_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrUseAdd_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseAdd_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - if (state->orig.out.parm_err && state->tmp.out.parm_err) { - *state->orig.out.parm_err = *state->tmp.out.parm_err; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrUseAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrUseAdd_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseAdd_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_wkssvc_NetrUseAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *ctr /* [in] [ref,switch_is(level)] */, - uint32_t *parm_err /* [in,out] [unique] */, - WERROR *werror) -{ - struct wkssvc_NetrUseAdd r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.level = level; - r.in.ctr = ctr; - r.in.parm_err = parm_err; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRUSEADD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (parm_err && r.out.parm_err) { - *parm_err = *r.out.parm_err; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrUseGetInfo_state { - struct wkssvc_NetrUseGetInfo orig; - struct wkssvc_NetrUseGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrUseGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrUseGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_use_name /* [in] [ref,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *_ctr /* [out] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrUseGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrUseGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.use_name = _use_name; - state->orig.in.level = _level; - - /* Out parameters */ - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrUseGetInfo_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_wkssvc, - NDR_WKSSVC_NETRUSEGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseGetInfo_done, req); - return req; -} - -static void rpccli_wkssvc_NetrUseGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrUseGetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseGetInfo_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.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_wkssvc_NetrUseGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrUseGetInfo_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseGetInfo_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_wkssvc_NetrUseGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *use_name /* [in] [ref,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *ctr /* [out] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct wkssvc_NetrUseGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.use_name = use_name; - r.in.level = level; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRUSEGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrUseDel_state { - struct wkssvc_NetrUseDel orig; - struct wkssvc_NetrUseDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrUseDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrUseDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_use_name /* [in] [ref,charset(UTF16)] */, - uint32_t _force_cond /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrUseDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrUseDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.use_name = _use_name; - state->orig.in.force_cond = _force_cond; - - /* 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_wkssvc, - NDR_WKSSVC_NETRUSEDEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseDel_done, req); - return req; -} - -static void rpccli_wkssvc_NetrUseDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrUseDel_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseDel_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_wkssvc_NetrUseDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrUseDel_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseDel_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_wkssvc_NetrUseDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *use_name /* [in] [ref,charset(UTF16)] */, - uint32_t force_cond /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrUseDel r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.use_name = use_name; - r.in.force_cond = force_cond; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRUSEDEL, - &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_wkssvc_NetrUseEnum_state { - struct wkssvc_NetrUseEnum orig; - struct wkssvc_NetrUseEnum tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrUseEnum_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrUseEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetrUseEnumInfo *_info /* [in,out] [ref] */, - uint32_t _prefmaxlen /* [in] */, - uint32_t *_entries_read /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrUseEnum_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrUseEnum_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.info = _info; - state->orig.in.prefmaxlen = _prefmaxlen; - state->orig.in.resume_handle = _resume_handle; - - /* Out parameters */ - state->orig.out.info = _info; - state->orig.out.entries_read = _entries_read; - state->orig.out.resume_handle = _resume_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrUseEnum_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_wkssvc, - NDR_WKSSVC_NETRUSEENUM, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUseEnum_done, req); - return req; -} - -static void rpccli_wkssvc_NetrUseEnum_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrUseEnum_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseEnum_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - *state->orig.out.entries_read = *state->tmp.out.entries_read; - if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { - *state->orig.out.resume_handle = *state->tmp.out.resume_handle; - } - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrUseEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrUseEnum_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUseEnum_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_wkssvc_NetrUseEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetrUseEnumInfo *info /* [in,out] [ref] */, - uint32_t prefmaxlen /* [in] */, - uint32_t *entries_read /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror) -{ - struct wkssvc_NetrUseEnum r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.info = info; - r.in.prefmaxlen = prefmaxlen; - r.in.resume_handle = resume_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRUSEENUM, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - *entries_read = *r.out.entries_read; - if (resume_handle && r.out.resume_handle) { - *resume_handle = *r.out.resume_handle; - } - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrMessageBufferSend_state { - struct wkssvc_NetrMessageBufferSend orig; - struct wkssvc_NetrMessageBufferSend tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrMessageBufferSend_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrMessageBufferSend_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_message_name /* [in] [ref,charset(UTF16)] */, - const char *_message_sender_name /* [in] [unique,charset(UTF16)] */, - uint8_t *_message_buffer /* [in] [ref,size_is(message_size)] */, - uint32_t _message_size /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrMessageBufferSend_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrMessageBufferSend_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.message_name = _message_name; - state->orig.in.message_sender_name = _message_sender_name; - state->orig.in.message_buffer = _message_buffer; - state->orig.in.message_size = _message_size; - - /* 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_wkssvc, - NDR_WKSSVC_NETRMESSAGEBUFFERSEND, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrMessageBufferSend_done, req); - return req; -} - -static void rpccli_wkssvc_NetrMessageBufferSend_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrMessageBufferSend_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrMessageBufferSend_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_wkssvc_NetrMessageBufferSend_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrMessageBufferSend_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrMessageBufferSend_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_wkssvc_NetrMessageBufferSend(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *message_name /* [in] [ref,charset(UTF16)] */, - const char *message_sender_name /* [in] [unique,charset(UTF16)] */, - uint8_t *message_buffer /* [in] [ref,size_is(message_size)] */, - uint32_t message_size /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrMessageBufferSend r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.message_name = message_name; - r.in.message_sender_name = message_sender_name; - r.in.message_buffer = message_buffer; - r.in.message_size = message_size; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRMESSAGEBUFFERSEND, - &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_wkssvc_NetrWorkstationStatisticsGet_state { - struct wkssvc_NetrWorkstationStatisticsGet orig; - struct wkssvc_NetrWorkstationStatisticsGet tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrWorkstationStatisticsGet_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrWorkstationStatisticsGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_unknown2 /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown3 /* [in] */, - uint32_t _unknown4 /* [in] */, - struct wkssvc_NetrWorkstationStatistics **_info /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.unknown2 = _unknown2; - state->orig.in.unknown3 = _unknown3; - state->orig.in.unknown4 = _unknown4; - - /* Out parameters */ - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrWorkstationStatisticsGet_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_wkssvc, - NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrWorkstationStatisticsGet_done, req); - return req; -} - -static void rpccli_wkssvc_NetrWorkstationStatisticsGet_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - *state->orig.out.info = *state->tmp.out.info; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrWorkstationStatisticsGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrWorkstationStatisticsGet_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrWorkstationStatisticsGet_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_wkssvc_NetrWorkstationStatisticsGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *unknown2 /* [in] [unique,charset(UTF16)] */, - uint32_t unknown3 /* [in] */, - uint32_t unknown4 /* [in] */, - struct wkssvc_NetrWorkstationStatistics **info /* [out] [ref] */, - WERROR *werror) -{ - struct wkssvc_NetrWorkstationStatisticsGet r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.unknown2 = unknown2; - r.in.unknown3 = unknown3; - r.in.unknown4 = unknown4; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrLogonDomainNameAdd_state { - struct wkssvc_NetrLogonDomainNameAdd orig; - struct wkssvc_NetrLogonDomainNameAdd tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrLogonDomainNameAdd_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrLogonDomainNameAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_domain_name /* [in] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrLogonDomainNameAdd_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrLogonDomainNameAdd_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_name = _domain_name; - - /* 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_wkssvc, - NDR_WKSSVC_NETRLOGONDOMAINNAMEADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrLogonDomainNameAdd_done, req); - return req; -} - -static void rpccli_wkssvc_NetrLogonDomainNameAdd_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrLogonDomainNameAdd_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrLogonDomainNameAdd_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_wkssvc_NetrLogonDomainNameAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrLogonDomainNameAdd_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrLogonDomainNameAdd_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_wkssvc_NetrLogonDomainNameAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct wkssvc_NetrLogonDomainNameAdd r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_name = domain_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRLOGONDOMAINNAMEADD, - &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_wkssvc_NetrLogonDomainNameDel_state { - struct wkssvc_NetrLogonDomainNameDel orig; - struct wkssvc_NetrLogonDomainNameDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrLogonDomainNameDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrLogonDomainNameDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_domain_name /* [in] [ref,charset(UTF16)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrLogonDomainNameDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrLogonDomainNameDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.domain_name = _domain_name; - - /* 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_wkssvc, - NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrLogonDomainNameDel_done, req); - return req; -} - -static void rpccli_wkssvc_NetrLogonDomainNameDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrLogonDomainNameDel_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrLogonDomainNameDel_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_wkssvc_NetrLogonDomainNameDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrLogonDomainNameDel_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrLogonDomainNameDel_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_wkssvc_NetrLogonDomainNameDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - WERROR *werror) -{ - struct wkssvc_NetrLogonDomainNameDel r; - NTSTATUS status; - - /* In parameters */ - r.in.domain_name = domain_name; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL, - &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_wkssvc_NetrJoinDomain_state { - struct wkssvc_NetrJoinDomain orig; - struct wkssvc_NetrJoinDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrJoinDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrJoinDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_account_ou /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - uint32_t _join_flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrJoinDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrJoinDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.domain_name = _domain_name; - state->orig.in.account_ou = _account_ou; - state->orig.in.Account = _Account; - state->orig.in.password = _password; - state->orig.in.join_flags = _join_flags; - - /* 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_wkssvc, - NDR_WKSSVC_NETRJOINDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrJoinDomain_done, req); - return req; -} - -static void rpccli_wkssvc_NetrJoinDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrJoinDomain_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrJoinDomain_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_wkssvc_NetrJoinDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrJoinDomain_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrJoinDomain_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_wkssvc_NetrJoinDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *account_ou /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - uint32_t join_flags /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrJoinDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.domain_name = domain_name; - r.in.account_ou = account_ou; - r.in.Account = Account; - r.in.password = password; - r.in.join_flags = join_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRJOINDOMAIN, - &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_wkssvc_NetrUnjoinDomain_state { - struct wkssvc_NetrUnjoinDomain orig; - struct wkssvc_NetrUnjoinDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrUnjoinDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrUnjoinDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - uint32_t _unjoin_flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrUnjoinDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrUnjoinDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.Account = _Account; - state->orig.in.password = _password; - state->orig.in.unjoin_flags = _unjoin_flags; - - /* 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_wkssvc, - NDR_WKSSVC_NETRUNJOINDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUnjoinDomain_done, req); - return req; -} - -static void rpccli_wkssvc_NetrUnjoinDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrUnjoinDomain_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUnjoinDomain_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_wkssvc_NetrUnjoinDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrUnjoinDomain_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUnjoinDomain_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_wkssvc_NetrUnjoinDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - uint32_t unjoin_flags /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrUnjoinDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.Account = Account; - r.in.password = password; - r.in.unjoin_flags = unjoin_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRUNJOINDOMAIN, - &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_wkssvc_NetrRenameMachineInDomain_state { - struct wkssvc_NetrRenameMachineInDomain orig; - struct wkssvc_NetrRenameMachineInDomain tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrRenameMachineInDomain_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrRenameMachineInDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - uint32_t _RenameOptions /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrRenameMachineInDomain_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrRenameMachineInDomain_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.NewMachineName = _NewMachineName; - state->orig.in.Account = _Account; - state->orig.in.password = _password; - state->orig.in.RenameOptions = _RenameOptions; - - /* 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_wkssvc, - NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrRenameMachineInDomain_done, req); - return req; -} - -static void rpccli_wkssvc_NetrRenameMachineInDomain_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrRenameMachineInDomain_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrRenameMachineInDomain_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_wkssvc_NetrRenameMachineInDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrRenameMachineInDomain_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrRenameMachineInDomain_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_wkssvc_NetrRenameMachineInDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - uint32_t RenameOptions /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrRenameMachineInDomain r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.NewMachineName = NewMachineName; - r.in.Account = Account; - r.in.password = password; - r.in.RenameOptions = RenameOptions; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN, - &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_wkssvc_NetrValidateName_state { - struct wkssvc_NetrValidateName orig; - struct wkssvc_NetrValidateName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrValidateName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrValidateName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_Password /* [in] [unique,charset(UTF16)] */, - enum wkssvc_NetValidateNameType _name_type /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrValidateName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrValidateName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.name = _name; - state->orig.in.Account = _Account; - state->orig.in.Password = _Password; - state->orig.in.name_type = _name_type; - - /* 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_wkssvc, - NDR_WKSSVC_NETRVALIDATENAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrValidateName_done, req); - return req; -} - -static void rpccli_wkssvc_NetrValidateName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrValidateName_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrValidateName_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_wkssvc_NetrValidateName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrValidateName_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrValidateName_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_wkssvc_NetrValidateName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *Password /* [in] [unique,charset(UTF16)] */, - enum wkssvc_NetValidateNameType name_type /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrValidateName r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.name = name; - r.in.Account = Account; - r.in.Password = Password; - r.in.name_type = name_type; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRVALIDATENAME, - &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_wkssvc_NetrGetJoinInformation_state { - struct wkssvc_NetrGetJoinInformation orig; - struct wkssvc_NetrGetJoinInformation tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrGetJoinInformation_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrGetJoinInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char **_name_buffer /* [in,out] [ref,charset(UTF16)] */, - enum wkssvc_NetJoinStatus *_name_type /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrGetJoinInformation_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrGetJoinInformation_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.name_buffer = _name_buffer; - - /* Out parameters */ - state->orig.out.name_buffer = _name_buffer; - state->orig.out.name_type = _name_type; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrGetJoinInformation_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_wkssvc, - NDR_WKSSVC_NETRGETJOININFORMATION, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrGetJoinInformation_done, req); - return req; -} - -static void rpccli_wkssvc_NetrGetJoinInformation_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrGetJoinInformation_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrGetJoinInformation_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.name_buffer = *state->tmp.out.name_buffer; - *state->orig.out.name_type = *state->tmp.out.name_type; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrGetJoinInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrGetJoinInformation_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrGetJoinInformation_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_wkssvc_NetrGetJoinInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char **name_buffer /* [in,out] [ref,charset(UTF16)] */, - enum wkssvc_NetJoinStatus *name_type /* [out] [ref] */, - WERROR *werror) -{ - struct wkssvc_NetrGetJoinInformation r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.name_buffer = name_buffer; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRGETJOININFORMATION, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *name_buffer = *r.out.name_buffer; - *name_type = *r.out.name_type; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrGetJoinableOus_state { - struct wkssvc_NetrGetJoinableOus orig; - struct wkssvc_NetrGetJoinableOus tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrGetJoinableOus_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrGetJoinableOus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_unknown /* [in] [unique,charset(UTF16)] */, - uint32_t *_num_ous /* [in,out] [ref] */, - const char ***_ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrGetJoinableOus_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrGetJoinableOus_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.domain_name = _domain_name; - state->orig.in.Account = _Account; - state->orig.in.unknown = _unknown; - state->orig.in.num_ous = _num_ous; - - /* Out parameters */ - state->orig.out.num_ous = _num_ous; - state->orig.out.ous = _ous; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrGetJoinableOus_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_wkssvc, - NDR_WKSSVC_NETRGETJOINABLEOUS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrGetJoinableOus_done, req); - return req; -} - -static void rpccli_wkssvc_NetrGetJoinableOus_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrGetJoinableOus_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrGetJoinableOus_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.num_ous = *state->tmp.out.num_ous; - *state->orig.out.ous = *state->tmp.out.ous; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrGetJoinableOus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrGetJoinableOus_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrGetJoinableOus_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_wkssvc_NetrGetJoinableOus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *unknown /* [in] [unique,charset(UTF16)] */, - uint32_t *num_ous /* [in,out] [ref] */, - const char ***ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */, - WERROR *werror) -{ - struct wkssvc_NetrGetJoinableOus r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.domain_name = domain_name; - r.in.Account = Account; - r.in.unknown = unknown; - r.in.num_ous = num_ous; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRGETJOINABLEOUS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *num_ous = *r.out.num_ous; - *ous = *r.out.ous; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrJoinDomain2_state { - struct wkssvc_NetrJoinDomain2 orig; - struct wkssvc_NetrJoinDomain2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrJoinDomain2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrJoinDomain2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_account_ou /* [in] [unique,charset(UTF16)] */, - const char *_admin_account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_encrypted_password /* [in] [unique] */, - uint32_t _join_flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrJoinDomain2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrJoinDomain2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.domain_name = _domain_name; - state->orig.in.account_ou = _account_ou; - state->orig.in.admin_account = _admin_account; - state->orig.in.encrypted_password = _encrypted_password; - state->orig.in.join_flags = _join_flags; - - /* 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_wkssvc, - NDR_WKSSVC_NETRJOINDOMAIN2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrJoinDomain2_done, req); - return req; -} - -static void rpccli_wkssvc_NetrJoinDomain2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrJoinDomain2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrJoinDomain2_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_wkssvc_NetrJoinDomain2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrJoinDomain2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrJoinDomain2_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_wkssvc_NetrJoinDomain2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *account_ou /* [in] [unique,charset(UTF16)] */, - const char *admin_account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *encrypted_password /* [in] [unique] */, - uint32_t join_flags /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrJoinDomain2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.domain_name = domain_name; - r.in.account_ou = account_ou; - r.in.admin_account = admin_account; - r.in.encrypted_password = encrypted_password; - r.in.join_flags = join_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRJOINDOMAIN2, - &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_wkssvc_NetrUnjoinDomain2_state { - struct wkssvc_NetrUnjoinDomain2 orig; - struct wkssvc_NetrUnjoinDomain2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrUnjoinDomain2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrUnjoinDomain2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_encrypted_password /* [in] [unique] */, - uint32_t _unjoin_flags /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrUnjoinDomain2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrUnjoinDomain2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.account = _account; - state->orig.in.encrypted_password = _encrypted_password; - state->orig.in.unjoin_flags = _unjoin_flags; - - /* 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_wkssvc, - NDR_WKSSVC_NETRUNJOINDOMAIN2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrUnjoinDomain2_done, req); - return req; -} - -static void rpccli_wkssvc_NetrUnjoinDomain2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrUnjoinDomain2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUnjoinDomain2_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_wkssvc_NetrUnjoinDomain2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrUnjoinDomain2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrUnjoinDomain2_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_wkssvc_NetrUnjoinDomain2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *encrypted_password /* [in] [unique] */, - uint32_t unjoin_flags /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrUnjoinDomain2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.account = account; - r.in.encrypted_password = encrypted_password; - r.in.unjoin_flags = unjoin_flags; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRUNJOINDOMAIN2, - &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_wkssvc_NetrRenameMachineInDomain2_state { - struct wkssvc_NetrRenameMachineInDomain2 orig; - struct wkssvc_NetrRenameMachineInDomain2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrRenameMachineInDomain2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrRenameMachineInDomain2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _RenameOptions /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrRenameMachineInDomain2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrRenameMachineInDomain2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.NewMachineName = _NewMachineName; - state->orig.in.Account = _Account; - state->orig.in.EncryptedPassword = _EncryptedPassword; - state->orig.in.RenameOptions = _RenameOptions; - - /* 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_wkssvc, - NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrRenameMachineInDomain2_done, req); - return req; -} - -static void rpccli_wkssvc_NetrRenameMachineInDomain2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrRenameMachineInDomain2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrRenameMachineInDomain2_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_wkssvc_NetrRenameMachineInDomain2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrRenameMachineInDomain2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrRenameMachineInDomain2_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_wkssvc_NetrRenameMachineInDomain2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t RenameOptions /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrRenameMachineInDomain2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.NewMachineName = NewMachineName; - r.in.Account = Account; - r.in.EncryptedPassword = EncryptedPassword; - r.in.RenameOptions = RenameOptions; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2, - &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_wkssvc_NetrValidateName2_state { - struct wkssvc_NetrValidateName2 orig; - struct wkssvc_NetrValidateName2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrValidateName2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrValidateName2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - enum wkssvc_NetValidateNameType _name_type /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrValidateName2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrValidateName2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.name = _name; - state->orig.in.Account = _Account; - state->orig.in.EncryptedPassword = _EncryptedPassword; - state->orig.in.name_type = _name_type; - - /* 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_wkssvc, - NDR_WKSSVC_NETRVALIDATENAME2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrValidateName2_done, req); - return req; -} - -static void rpccli_wkssvc_NetrValidateName2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrValidateName2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrValidateName2_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_wkssvc_NetrValidateName2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrValidateName2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrValidateName2_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_wkssvc_NetrValidateName2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - enum wkssvc_NetValidateNameType name_type /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrValidateName2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.name = name; - r.in.Account = Account; - r.in.EncryptedPassword = EncryptedPassword; - r.in.name_type = name_type; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRVALIDATENAME2, - &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_wkssvc_NetrGetJoinableOus2_state { - struct wkssvc_NetrGetJoinableOus2 orig; - struct wkssvc_NetrGetJoinableOus2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrGetJoinableOus2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrGetJoinableOus2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t *_num_ous /* [in,out] [ref] */, - const char ***_ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrGetJoinableOus2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrGetJoinableOus2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.domain_name = _domain_name; - state->orig.in.Account = _Account; - state->orig.in.EncryptedPassword = _EncryptedPassword; - state->orig.in.num_ous = _num_ous; - - /* Out parameters */ - state->orig.out.num_ous = _num_ous; - state->orig.out.ous = _ous; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrGetJoinableOus2_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_wkssvc, - NDR_WKSSVC_NETRGETJOINABLEOUS2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrGetJoinableOus2_done, req); - return req; -} - -static void rpccli_wkssvc_NetrGetJoinableOus2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrGetJoinableOus2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrGetJoinableOus2_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.num_ous = *state->tmp.out.num_ous; - *state->orig.out.ous = *state->tmp.out.ous; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_wkssvc_NetrGetJoinableOus2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrGetJoinableOus2_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrGetJoinableOus2_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_wkssvc_NetrGetJoinableOus2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t *num_ous /* [in,out] [ref] */, - const char ***ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */, - WERROR *werror) -{ - struct wkssvc_NetrGetJoinableOus2 r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.domain_name = domain_name; - r.in.Account = Account; - r.in.EncryptedPassword = EncryptedPassword; - r.in.num_ous = num_ous; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRGETJOINABLEOUS2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *num_ous = *r.out.num_ous; - *ous = *r.out.ous; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_wkssvc_NetrAddAlternateComputerName_state { - struct wkssvc_NetrAddAlternateComputerName orig; - struct wkssvc_NetrAddAlternateComputerName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrAddAlternateComputerName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrAddAlternateComputerName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_NewAlternateMachineName /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _Reserved /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrAddAlternateComputerName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrAddAlternateComputerName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.NewAlternateMachineName = _NewAlternateMachineName; - state->orig.in.Account = _Account; - state->orig.in.EncryptedPassword = _EncryptedPassword; - state->orig.in.Reserved = _Reserved; - - /* 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_wkssvc, - NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrAddAlternateComputerName_done, req); - return req; -} - -static void rpccli_wkssvc_NetrAddAlternateComputerName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrAddAlternateComputerName_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrAddAlternateComputerName_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_wkssvc_NetrAddAlternateComputerName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrAddAlternateComputerName_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrAddAlternateComputerName_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_wkssvc_NetrAddAlternateComputerName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *NewAlternateMachineName /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t Reserved /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrAddAlternateComputerName r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.NewAlternateMachineName = NewAlternateMachineName; - r.in.Account = Account; - r.in.EncryptedPassword = EncryptedPassword; - r.in.Reserved = Reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME, - &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_wkssvc_NetrRemoveAlternateComputerName_state { - struct wkssvc_NetrRemoveAlternateComputerName orig; - struct wkssvc_NetrRemoveAlternateComputerName tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrRemoveAlternateComputerName_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrRemoveAlternateComputerName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_AlternateMachineNameToRemove /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _Reserved /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.AlternateMachineNameToRemove = _AlternateMachineNameToRemove; - state->orig.in.Account = _Account; - state->orig.in.EncryptedPassword = _EncryptedPassword; - state->orig.in.Reserved = _Reserved; - - /* 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_wkssvc, - NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrRemoveAlternateComputerName_done, req); - return req; -} - -static void rpccli_wkssvc_NetrRemoveAlternateComputerName_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrRemoveAlternateComputerName_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_wkssvc_NetrRemoveAlternateComputerName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrRemoveAlternateComputerName_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrRemoveAlternateComputerName_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_wkssvc_NetrRemoveAlternateComputerName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *AlternateMachineNameToRemove /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t Reserved /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrRemoveAlternateComputerName r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.AlternateMachineNameToRemove = AlternateMachineNameToRemove; - r.in.Account = Account; - r.in.EncryptedPassword = EncryptedPassword; - r.in.Reserved = Reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME, - &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_wkssvc_NetrSetPrimaryComputername_state { - struct wkssvc_NetrSetPrimaryComputername orig; - struct wkssvc_NetrSetPrimaryComputername tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrSetPrimaryComputername_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrSetPrimaryComputername_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_primary_name /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _Reserved /* [in] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrSetPrimaryComputername_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrSetPrimaryComputername_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.primary_name = _primary_name; - state->orig.in.Account = _Account; - state->orig.in.EncryptedPassword = _EncryptedPassword; - state->orig.in.Reserved = _Reserved; - - /* 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_wkssvc, - NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrSetPrimaryComputername_done, req); - return req; -} - -static void rpccli_wkssvc_NetrSetPrimaryComputername_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrSetPrimaryComputername_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrSetPrimaryComputername_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_wkssvc_NetrSetPrimaryComputername_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrSetPrimaryComputername_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrSetPrimaryComputername_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_wkssvc_NetrSetPrimaryComputername(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *primary_name /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t Reserved /* [in] */, - WERROR *werror) -{ - struct wkssvc_NetrSetPrimaryComputername r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.primary_name = primary_name; - r.in.Account = Account; - r.in.EncryptedPassword = EncryptedPassword; - r.in.Reserved = Reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME, - &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_wkssvc_NetrEnumerateComputerNames_state { - struct wkssvc_NetrEnumerateComputerNames orig; - struct wkssvc_NetrEnumerateComputerNames tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_wkssvc_NetrEnumerateComputerNames_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_wkssvc_NetrEnumerateComputerNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - enum wkssvc_ComputerNameType _name_type /* [in] */, - uint32_t _Reserved /* [in] */, - struct wkssvc_ComputerNamesCtr **_ctr /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_wkssvc_NetrEnumerateComputerNames_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_wkssvc_NetrEnumerateComputerNames_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.server_name = _server_name; - state->orig.in.name_type = _name_type; - state->orig.in.Reserved = _Reserved; - - /* Out parameters */ - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_wkssvc_NetrEnumerateComputerNames_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_wkssvc, - NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_wkssvc_NetrEnumerateComputerNames_done, req); - return req; -} - -static void rpccli_wkssvc_NetrEnumerateComputerNames_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_wkssvc_NetrEnumerateComputerNames_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrEnumerateComputerNames_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.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_wkssvc_NetrEnumerateComputerNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_wkssvc_NetrEnumerateComputerNames_state *state = tevent_req_data( - req, struct rpccli_wkssvc_NetrEnumerateComputerNames_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_wkssvc_NetrEnumerateComputerNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - enum wkssvc_ComputerNameType name_type /* [in] */, - uint32_t Reserved /* [in] */, - struct wkssvc_ComputerNamesCtr **ctr /* [out] [ref] */, - WERROR *werror) -{ - struct wkssvc_NetrEnumerateComputerNames r; - NTSTATUS status; - - /* In parameters */ - r.in.server_name = server_name; - r.in.name_type = name_type; - r.in.Reserved = Reserved; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_wkssvc, - NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - diff --git a/librpc/gen_ndr/cli_wkssvc.h b/librpc/gen_ndr/cli_wkssvc.h deleted file mode 100644 index 1d3165f4396..00000000000 --- a/librpc/gen_ndr/cli_wkssvc.h +++ /dev/null @@ -1,549 +0,0 @@ -#include "../librpc/gen_ndr/ndr_wkssvc.h" -#ifndef __CLI_WKSSVC__ -#define __CLI_WKSSVC__ -struct tevent_req *rpccli_wkssvc_NetWkstaGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetWkstaInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_wkssvc_NetWkstaGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetWkstaGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetWkstaInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetWkstaSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetWkstaInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_error /* [in,out] [ref] */); -NTSTATUS rpccli_wkssvc_NetWkstaSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetWkstaSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetWkstaInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_error /* [in,out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetWkstaEnumUsers_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaEnumUsersInfo *_info /* [in,out] [ref] */, - uint32_t _prefmaxlen /* [in] */, - uint32_t *_entries_read /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_wkssvc_NetWkstaEnumUsers_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetWkstaEnumUsers(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaEnumUsersInfo *info /* [in,out] [ref] */, - uint32_t prefmaxlen /* [in] */, - uint32_t *entries_read /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrWkstaUserGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_unknown /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrWkstaUserInfo *_info /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_wkssvc_NetrWkstaUserGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrWkstaUserGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *unknown /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrWkstaUserInfo *info /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrWkstaUserSetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_unknown /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrWkstaUserInfo *_info /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_err /* [in,out] [unique] */); -NTSTATUS rpccli_wkssvc_NetrWkstaUserSetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrWkstaUserSetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *unknown /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrWkstaUserInfo *info /* [in] [ref,switch_is(level)] */, - uint32_t *parm_err /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetWkstaTransportEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaTransportInfo *_info /* [in,out] [ref] */, - uint32_t _max_buffer /* [in] */, - uint32_t *_total_entries /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_wkssvc_NetWkstaTransportEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetWkstaTransportEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetWkstaTransportInfo *info /* [in,out] [ref] */, - uint32_t max_buffer /* [in] */, - uint32_t *total_entries /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrWkstaTransportAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - struct wkssvc_NetWkstaTransportInfo0 *_info0 /* [in] [ref] */, - uint32_t *_parm_err /* [in,out] [unique] */); -NTSTATUS rpccli_wkssvc_NetrWkstaTransportAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrWkstaTransportAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - struct wkssvc_NetWkstaTransportInfo0 *info0 /* [in] [ref] */, - uint32_t *parm_err /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrWkstaTransportDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_transport_name /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown3 /* [in] */); -NTSTATUS rpccli_wkssvc_NetrWkstaTransportDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrWkstaTransportDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *transport_name /* [in] [unique,charset(UTF16)] */, - uint32_t unknown3 /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrUseAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *_ctr /* [in] [ref,switch_is(level)] */, - uint32_t *_parm_err /* [in,out] [unique] */); -NTSTATUS rpccli_wkssvc_NetrUseAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrUseAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *ctr /* [in] [ref,switch_is(level)] */, - uint32_t *parm_err /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrUseGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_use_name /* [in] [ref,charset(UTF16)] */, - uint32_t _level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *_ctr /* [out] [ref,switch_is(level)] */); -NTSTATUS rpccli_wkssvc_NetrUseGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrUseGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *use_name /* [in] [ref,charset(UTF16)] */, - uint32_t level /* [in] */, - union wkssvc_NetrUseGetInfoCtr *ctr /* [out] [ref,switch_is(level)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrUseDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_use_name /* [in] [ref,charset(UTF16)] */, - uint32_t _force_cond /* [in] */); -NTSTATUS rpccli_wkssvc_NetrUseDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrUseDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *use_name /* [in] [ref,charset(UTF16)] */, - uint32_t force_cond /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrUseEnum_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetrUseEnumInfo *_info /* [in,out] [ref] */, - uint32_t _prefmaxlen /* [in] */, - uint32_t *_entries_read /* [out] [ref] */, - uint32_t *_resume_handle /* [in,out] [unique] */); -NTSTATUS rpccli_wkssvc_NetrUseEnum_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrUseEnum(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - struct wkssvc_NetrUseEnumInfo *info /* [in,out] [ref] */, - uint32_t prefmaxlen /* [in] */, - uint32_t *entries_read /* [out] [ref] */, - uint32_t *resume_handle /* [in,out] [unique] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrMessageBufferSend_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_message_name /* [in] [ref,charset(UTF16)] */, - const char *_message_sender_name /* [in] [unique,charset(UTF16)] */, - uint8_t *_message_buffer /* [in] [ref,size_is(message_size)] */, - uint32_t _message_size /* [in] */); -NTSTATUS rpccli_wkssvc_NetrMessageBufferSend_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrMessageBufferSend(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *message_name /* [in] [ref,charset(UTF16)] */, - const char *message_sender_name /* [in] [unique,charset(UTF16)] */, - uint8_t *message_buffer /* [in] [ref,size_is(message_size)] */, - uint32_t message_size /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrWorkstationStatisticsGet_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_unknown2 /* [in] [unique,charset(UTF16)] */, - uint32_t _unknown3 /* [in] */, - uint32_t _unknown4 /* [in] */, - struct wkssvc_NetrWorkstationStatistics **_info /* [out] [ref] */); -NTSTATUS rpccli_wkssvc_NetrWorkstationStatisticsGet_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrWorkstationStatisticsGet(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *unknown2 /* [in] [unique,charset(UTF16)] */, - uint32_t unknown3 /* [in] */, - uint32_t unknown4 /* [in] */, - struct wkssvc_NetrWorkstationStatistics **info /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrLogonDomainNameAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_domain_name /* [in] [ref,charset(UTF16)] */); -NTSTATUS rpccli_wkssvc_NetrLogonDomainNameAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrLogonDomainNameAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrLogonDomainNameDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_domain_name /* [in] [ref,charset(UTF16)] */); -NTSTATUS rpccli_wkssvc_NetrLogonDomainNameDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrLogonDomainNameDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrJoinDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_account_ou /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - uint32_t _join_flags /* [in] */); -NTSTATUS rpccli_wkssvc_NetrJoinDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrJoinDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *account_ou /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - uint32_t join_flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrUnjoinDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - uint32_t _unjoin_flags /* [in] */); -NTSTATUS rpccli_wkssvc_NetrUnjoinDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrUnjoinDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - uint32_t unjoin_flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrRenameMachineInDomain_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_password /* [in] [unique,charset(UTF16)] */, - uint32_t _RenameOptions /* [in] */); -NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *password /* [in] [unique,charset(UTF16)] */, - uint32_t RenameOptions /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrValidateName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_Password /* [in] [unique,charset(UTF16)] */, - enum wkssvc_NetValidateNameType _name_type /* [in] */); -NTSTATUS rpccli_wkssvc_NetrValidateName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrValidateName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *Password /* [in] [unique,charset(UTF16)] */, - enum wkssvc_NetValidateNameType name_type /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrGetJoinInformation_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char **_name_buffer /* [in,out] [ref,charset(UTF16)] */, - enum wkssvc_NetJoinStatus *_name_type /* [out] [ref] */); -NTSTATUS rpccli_wkssvc_NetrGetJoinInformation_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrGetJoinInformation(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char **name_buffer /* [in,out] [ref,charset(UTF16)] */, - enum wkssvc_NetJoinStatus *name_type /* [out] [ref] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrGetJoinableOus_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - const char *_unknown /* [in] [unique,charset(UTF16)] */, - uint32_t *_num_ous /* [in,out] [ref] */, - const char ***_ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */); -NTSTATUS rpccli_wkssvc_NetrGetJoinableOus_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrGetJoinableOus(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - const char *unknown /* [in] [unique,charset(UTF16)] */, - uint32_t *num_ous /* [in,out] [ref] */, - const char ***ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrJoinDomain2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_account_ou /* [in] [unique,charset(UTF16)] */, - const char *_admin_account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_encrypted_password /* [in] [unique] */, - uint32_t _join_flags /* [in] */); -NTSTATUS rpccli_wkssvc_NetrJoinDomain2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrJoinDomain2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *account_ou /* [in] [unique,charset(UTF16)] */, - const char *admin_account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *encrypted_password /* [in] [unique] */, - uint32_t join_flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrUnjoinDomain2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_encrypted_password /* [in] [unique] */, - uint32_t _unjoin_flags /* [in] */); -NTSTATUS rpccli_wkssvc_NetrUnjoinDomain2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrUnjoinDomain2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *encrypted_password /* [in] [unique] */, - uint32_t unjoin_flags /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrRenameMachineInDomain2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _RenameOptions /* [in] */); -NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrRenameMachineInDomain2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *NewMachineName /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t RenameOptions /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrValidateName2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - enum wkssvc_NetValidateNameType _name_type /* [in] */); -NTSTATUS rpccli_wkssvc_NetrValidateName2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrValidateName2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - enum wkssvc_NetValidateNameType name_type /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrGetJoinableOus2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_domain_name /* [in] [ref,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t *_num_ous /* [in,out] [ref] */, - const char ***_ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */); -NTSTATUS rpccli_wkssvc_NetrGetJoinableOus2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrGetJoinableOus2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *domain_name /* [in] [ref,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t *num_ous /* [in,out] [ref] */, - const char ***ous /* [out] [ref,charset(UTF16),size_is(,*num_ous)] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrAddAlternateComputerName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_NewAlternateMachineName /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _Reserved /* [in] */); -NTSTATUS rpccli_wkssvc_NetrAddAlternateComputerName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrAddAlternateComputerName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *NewAlternateMachineName /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t Reserved /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrRemoveAlternateComputerName_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_AlternateMachineNameToRemove /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _Reserved /* [in] */); -NTSTATUS rpccli_wkssvc_NetrRemoveAlternateComputerName_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrRemoveAlternateComputerName(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *AlternateMachineNameToRemove /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t Reserved /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrSetPrimaryComputername_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - const char *_primary_name /* [in] [unique,charset(UTF16)] */, - const char *_Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *_EncryptedPassword /* [in] [unique] */, - uint32_t _Reserved /* [in] */); -NTSTATUS rpccli_wkssvc_NetrSetPrimaryComputername_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrSetPrimaryComputername(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - const char *primary_name /* [in] [unique,charset(UTF16)] */, - const char *Account /* [in] [unique,charset(UTF16)] */, - struct wkssvc_PasswordBuffer *EncryptedPassword /* [in] [unique] */, - uint32_t Reserved /* [in] */, - WERROR *werror); -struct tevent_req *rpccli_wkssvc_NetrEnumerateComputerNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - const char *_server_name /* [in] [unique,charset(UTF16)] */, - enum wkssvc_ComputerNameType _name_type /* [in] */, - uint32_t _Reserved /* [in] */, - struct wkssvc_ComputerNamesCtr **_ctr /* [out] [ref] */); -NTSTATUS rpccli_wkssvc_NetrEnumerateComputerNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result); -NTSTATUS rpccli_wkssvc_NetrEnumerateComputerNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *server_name /* [in] [unique,charset(UTF16)] */, - enum wkssvc_ComputerNameType name_type /* [in] */, - uint32_t Reserved /* [in] */, - struct wkssvc_ComputerNamesCtr **ctr /* [out] [ref] */, - WERROR *werror); -#endif /* __CLI_WKSSVC__ */ diff --git a/librpc/gen_ndr/dcerpc.h b/librpc/gen_ndr/dcerpc.h deleted file mode 100644 index b0ce5a61b11..00000000000 --- a/librpc/gen_ndr/dcerpc.h +++ /dev/null @@ -1,445 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#ifndef _HEADER_dcerpc -#define _HEADER_dcerpc - -#define DCERPC_REQUEST_LENGTH ( 24 ) -#define DCERPC_BIND_REASON_ASYNTAX ( 1 ) -#define DCERPC_BIND_PROVIDER_REJECT ( 2 ) -#define DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED ( 4 ) -#define DCERPC_BIND_REASON_INVALID_AUTH_TYPE ( 8 ) -#define DCERPC_RESPONSE_LENGTH ( 24 ) -#define DCERPC_FAULT_OP_RNG_ERROR ( 0x1c010002 ) -#define DCERPC_FAULT_UNK_IF ( 0x1c010003 ) -#define DCERPC_FAULT_NDR ( 0x000006f7 ) -#define DCERPC_FAULT_INVALID_TAG ( 0x1c000006 ) -#define DCERPC_FAULT_CONTEXT_MISMATCH ( 0x1c00001a ) -#define DCERPC_FAULT_OTHER ( 0x00000001 ) -#define DCERPC_FAULT_ACCESS_DENIED ( 0x00000005 ) -#define DCERPC_FAULT_CANT_PERFORM ( 0x000006d8 ) -#define DCERPC_FAULT_TODO ( 0x00000042 ) -#define DCERPC_AUTH_LEVEL_DEFAULT ( DCERPC_AUTH_LEVEL_CONNECT ) -#define DCERPC_AUTH_TRAILER_LENGTH ( 8 ) -#define DCERPC_PFC_FLAG_FIRST ( 0x01 ) -#define DCERPC_PFC_FLAG_LAST ( 0x02 ) -#define DCERPC_PFC_FLAG_PENDING_CANCEL ( 0x04 ) -#define DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN ( DCERPC_PFC_FLAG_PENDING_CANCEL ) -#define DCERPC_PFC_FLAG_CONC_MPX ( 0x10 ) -#define DCERPC_PFC_FLAG_DID_NOT_EXECUTE ( 0x20 ) -#define DCERPC_PFC_FLAG_MAYBE ( 0x40 ) -#define DCERPC_PFC_FLAG_OBJECT_UUID ( 0x80 ) -#define DCERPC_PFC_OFFSET ( 3 ) -#define DCERPC_DREP_OFFSET ( 4 ) -#define DCERPC_FRAG_LEN_OFFSET ( 8 ) -#define DCERPC_AUTH_LEN_OFFSET ( 10 ) -#define DCERPC_DREP_LE ( 0x10 ) -struct dcerpc_ctx_list { - uint16_t context_id; - uint8_t num_transfer_syntaxes; - struct ndr_syntax_id abstract_syntax; - struct ndr_syntax_id *transfer_syntaxes; -}; - -struct dcerpc_bind { - uint16_t max_xmit_frag; - uint16_t max_recv_frag; - uint32_t assoc_group_id; - uint8_t num_contexts; - struct dcerpc_ctx_list *ctx_list; - DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -struct dcerpc_empty { - char _empty_; -}; - -union dcerpc_object { - struct dcerpc_empty empty;/* [default] */ - struct GUID object;/* [case(LIBNDR_FLAG_OBJECT_PRESENT)] */ -}/* [nodiscriminant] */; - -struct dcerpc_request { - uint32_t alloc_hint; - uint16_t context_id; - uint16_t opnum; - union dcerpc_object object;/* [switch_is(ndr->flags&LIBNDR_FLAG_OBJECT_PRESENT)] */ - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */ - DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -struct dcerpc_ack_ctx { - uint16_t result; - uint16_t reason; - struct ndr_syntax_id syntax; -}; - -struct dcerpc_bind_ack { - uint16_t max_xmit_frag; - uint16_t max_recv_frag; - uint32_t assoc_group_id; - uint16_t secondary_address_size;/* [value(strlen(secondary_address)+1)] */ - const char *secondary_address;/* [charset(DOS)] */ - DATA_BLOB _pad1;/* [flag(LIBNDR_FLAG_ALIGN4)] */ - uint8_t num_results; - struct dcerpc_ack_ctx *ctx_list; - DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -struct dcerpc_bind_nak_versions { - uint32_t num_versions; - uint32_t *versions; -}; - -union dcerpc_bind_nak_versions_ctr { - struct dcerpc_bind_nak_versions v;/* [case(DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED)] */ -}/* [nodiscriminant] */; - -struct dcerpc_bind_nak { - uint16_t reject_reason; - union dcerpc_bind_nak_versions_ctr versions;/* [switch_is(reject_reason)] */ -}; - -struct dcerpc_response { - uint32_t alloc_hint; - uint16_t context_id; - uint8_t cancel_count; - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */ - DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -enum dcerpc_nca_status -#ifndef USE_UINT_ENUMS - { - DCERPC_NCA_S_COMM_FAILURE=(int)(0x1C010001), - DCERPC_NCA_S_OP_RNG_ERROR=(int)(0x1C010002), - DCERPC_NCA_S_UNKNOWN_IF=(int)(0x1C010003), - DCERPC_NCA_S_WRONG_BOOT_TIME=(int)(0x1C010006), - DCERPC_NCA_S_YOU_CRASHED=(int)(0x1C010009), - DCERPC_NCA_S_PROTO_ERROR=(int)(0x1C01000B), - DCERPC_NCA_S_OUT_ARGS_TOO_BIG=(int)(0x1C010013), - DCERPC_NCA_S_SERVER_TOO_BUSY=(int)(0x1C010014), - DCERPC_NCA_S_FAULT_STRING_TOO_LARGE=(int)(0x1C010015), - DCERPC_NCA_S_UNSUPPORTED_TYPE=(int)(0x1C010017), - DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO=(int)(0x1C000001), - DCERPC_NCA_S_FAULT_ADDR_ERROR=(int)(0x1C000002), - DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO=(int)(0x1C000003), - DCERPC_NCA_S_FAULT_FP_UNDERFLOW=(int)(0x1C000004), - DCERPC_NCA_S_FAULT_FP_OVERRFLOW=(int)(0x1C000005), - DCERPC_NCA_S_FAULT_INVALID_TAG=(int)(0x1C000006), - DCERPC_NCA_S_FAULT_INVALID_BOUND=(int)(0x1C000007), - DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH=(int)(0x1C000008), - DCERPC_NCA_S_FAULT_UNSPEC_REJECT=(int)(0x1C000009), - DCERPC_NCA_S_FAULT_BAD_ACTID=(int)(0x1C00000A), - DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED=(int)(0x1C00000B), - DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED=(int)(0x1C00000C), - DCERPC_NCA_S_FAULT_CANCEL=(int)(0x1C00000D), - DCERPC_NCA_S_FAULT_ILL_INST=(int)(0x1C00000E), - DCERPC_NCA_S_FAULT_FP_ERROR=(int)(0x1C00000F), - DCERPC_NCA_S_FAULT_INT_OVERFLOW=(int)(0x1C000010), - DCERPC_NCA_S_UNUSED_1C000011=(int)(0x1C000011), - DCERPC_NCA_S_FAULT_UNSPEC=(int)(0x1C000012), - DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE=(int)(0x1C000013), - DCERPC_NCA_S_FAULT_PIPE_EMPTY=(int)(0x1C000014), - DCERPC_NCA_S_FAULT_PIPE_CLOSED=(int)(0x1C000015), - DCERPC_NCA_S_FAULT_PIPE_ORDER=(int)(0x1C000016), - DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE=(int)(0x1C000017), - DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR=(int)(0x1C000018), - DCERPC_NCA_S_FAULT_PIPE_MEMORY=(int)(0x1C000019), - DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH=(int)(0x1C00001A), - DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY=(int)(0x1C00001B), - DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID=(int)(0x1C00001C), - DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL=(int)(0x1C00001D), - DCERPC_NCA_S_UNUSED_1C00001E=(int)(0x1C00001E), - DCERPC_NCA_S_INVALID_CHECKSUM=(int)(0x1C00001F), - DCERPC_NCA_S_INVALID_CRC=(int)(0x1C000020), - DCERPC_NCA_S_FAULT_USER_DEFINED=(int)(0x1C000021), - DCERPC_NCA_S_FAULT_TX_OPEN_FAILED=(int)(0x1C000022), - DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR=(int)(0x1C000023), - DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND=(int)(0x1C000024), - DCERPC_NCA_S_FAULT_NO_CLIENT_STUB=(int)(0x1C000025) -} -#else - { __donnot_use_enum_dcerpc_nca_status=0x7FFFFFFF} -#define DCERPC_NCA_S_COMM_FAILURE ( 0x1C010001 ) -#define DCERPC_NCA_S_OP_RNG_ERROR ( 0x1C010002 ) -#define DCERPC_NCA_S_UNKNOWN_IF ( 0x1C010003 ) -#define DCERPC_NCA_S_WRONG_BOOT_TIME ( 0x1C010006 ) -#define DCERPC_NCA_S_YOU_CRASHED ( 0x1C010009 ) -#define DCERPC_NCA_S_PROTO_ERROR ( 0x1C01000B ) -#define DCERPC_NCA_S_OUT_ARGS_TOO_BIG ( 0x1C010013 ) -#define DCERPC_NCA_S_SERVER_TOO_BUSY ( 0x1C010014 ) -#define DCERPC_NCA_S_FAULT_STRING_TOO_LARGE ( 0x1C010015 ) -#define DCERPC_NCA_S_UNSUPPORTED_TYPE ( 0x1C010017 ) -#define DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO ( 0x1C000001 ) -#define DCERPC_NCA_S_FAULT_ADDR_ERROR ( 0x1C000002 ) -#define DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO ( 0x1C000003 ) -#define DCERPC_NCA_S_FAULT_FP_UNDERFLOW ( 0x1C000004 ) -#define DCERPC_NCA_S_FAULT_FP_OVERRFLOW ( 0x1C000005 ) -#define DCERPC_NCA_S_FAULT_INVALID_TAG ( 0x1C000006 ) -#define DCERPC_NCA_S_FAULT_INVALID_BOUND ( 0x1C000007 ) -#define DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH ( 0x1C000008 ) -#define DCERPC_NCA_S_FAULT_UNSPEC_REJECT ( 0x1C000009 ) -#define DCERPC_NCA_S_FAULT_BAD_ACTID ( 0x1C00000A ) -#define DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED ( 0x1C00000B ) -#define DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED ( 0x1C00000C ) -#define DCERPC_NCA_S_FAULT_CANCEL ( 0x1C00000D ) -#define DCERPC_NCA_S_FAULT_ILL_INST ( 0x1C00000E ) -#define DCERPC_NCA_S_FAULT_FP_ERROR ( 0x1C00000F ) -#define DCERPC_NCA_S_FAULT_INT_OVERFLOW ( 0x1C000010 ) -#define DCERPC_NCA_S_UNUSED_1C000011 ( 0x1C000011 ) -#define DCERPC_NCA_S_FAULT_UNSPEC ( 0x1C000012 ) -#define DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE ( 0x1C000013 ) -#define DCERPC_NCA_S_FAULT_PIPE_EMPTY ( 0x1C000014 ) -#define DCERPC_NCA_S_FAULT_PIPE_CLOSED ( 0x1C000015 ) -#define DCERPC_NCA_S_FAULT_PIPE_ORDER ( 0x1C000016 ) -#define DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE ( 0x1C000017 ) -#define DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR ( 0x1C000018 ) -#define DCERPC_NCA_S_FAULT_PIPE_MEMORY ( 0x1C000019 ) -#define DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH ( 0x1C00001A ) -#define DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY ( 0x1C00001B ) -#define DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID ( 0x1C00001C ) -#define DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL ( 0x1C00001D ) -#define DCERPC_NCA_S_UNUSED_1C00001E ( 0x1C00001E ) -#define DCERPC_NCA_S_INVALID_CHECKSUM ( 0x1C00001F ) -#define DCERPC_NCA_S_INVALID_CRC ( 0x1C000020 ) -#define DCERPC_NCA_S_FAULT_USER_DEFINED ( 0x1C000021 ) -#define DCERPC_NCA_S_FAULT_TX_OPEN_FAILED ( 0x1C000022 ) -#define DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR ( 0x1C000023 ) -#define DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND ( 0x1C000024 ) -#define DCERPC_NCA_S_FAULT_NO_CLIENT_STUB ( 0x1C000025 ) -#endif -; - -struct dcerpc_fault { - uint32_t alloc_hint; - uint16_t context_id; - uint8_t cancel_count; - enum dcerpc_nca_status status; - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -enum dcerpc_AuthType -#ifndef USE_UINT_ENUMS - { - DCERPC_AUTH_TYPE_NONE=(int)(0), - DCERPC_AUTH_TYPE_KRB5_1=(int)(1), - DCERPC_AUTH_TYPE_SPNEGO=(int)(9), - DCERPC_AUTH_TYPE_NTLMSSP=(int)(10), - DCERPC_AUTH_TYPE_KRB5=(int)(16), - DCERPC_AUTH_TYPE_DPA=(int)(17), - DCERPC_AUTH_TYPE_MSN=(int)(18), - DCERPC_AUTH_TYPE_DIGEST=(int)(21), - DCERPC_AUTH_TYPE_SCHANNEL=(int)(68), - DCERPC_AUTH_TYPE_MSMQ=(int)(100) -} -#else - { __donnot_use_enum_dcerpc_AuthType=0x7FFFFFFF} -#define DCERPC_AUTH_TYPE_NONE ( 0 ) -#define DCERPC_AUTH_TYPE_KRB5_1 ( 1 ) -#define DCERPC_AUTH_TYPE_SPNEGO ( 9 ) -#define DCERPC_AUTH_TYPE_NTLMSSP ( 10 ) -#define DCERPC_AUTH_TYPE_KRB5 ( 16 ) -#define DCERPC_AUTH_TYPE_DPA ( 17 ) -#define DCERPC_AUTH_TYPE_MSN ( 18 ) -#define DCERPC_AUTH_TYPE_DIGEST ( 21 ) -#define DCERPC_AUTH_TYPE_SCHANNEL ( 68 ) -#define DCERPC_AUTH_TYPE_MSMQ ( 100 ) -#endif -; - -enum dcerpc_AuthLevel -#ifndef USE_UINT_ENUMS - { - DCERPC_AUTH_LEVEL_NONE=(int)(1), - DCERPC_AUTH_LEVEL_CONNECT=(int)(2), - DCERPC_AUTH_LEVEL_CALL=(int)(3), - DCERPC_AUTH_LEVEL_PACKET=(int)(4), - DCERPC_AUTH_LEVEL_INTEGRITY=(int)(5), - DCERPC_AUTH_LEVEL_PRIVACY=(int)(6) -} -#else - { __donnot_use_enum_dcerpc_AuthLevel=0x7FFFFFFF} -#define DCERPC_AUTH_LEVEL_NONE ( 1 ) -#define DCERPC_AUTH_LEVEL_CONNECT ( 2 ) -#define DCERPC_AUTH_LEVEL_CALL ( 3 ) -#define DCERPC_AUTH_LEVEL_PACKET ( 4 ) -#define DCERPC_AUTH_LEVEL_INTEGRITY ( 5 ) -#define DCERPC_AUTH_LEVEL_PRIVACY ( 6 ) -#endif -; - -struct dcerpc_auth { - enum dcerpc_AuthType auth_type; - enum dcerpc_AuthLevel auth_level; - uint8_t auth_pad_length; - uint8_t auth_reserved; - uint32_t auth_context_id; - DATA_BLOB credentials;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct dcerpc_auth3 { - uint32_t _pad;/* [value(0)] */ - DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct dcerpc_orphaned { - uint32_t _pad;/* [value(0)] */ - DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct dcerpc_co_cancel { - uint32_t _pad;/* [value(0)] */ - DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct dcerpc_cl_cancel { - uint32_t version; - uint32_t id; -}/* [public] */; - -struct dcerpc_cancel_ack { - uint32_t version; - uint32_t id; - uint32_t server_is_accepting; -}/* [public] */; - -struct dcerpc_fack { - uint32_t version; - uint8_t _pad1; - uint16_t window_size; - uint32_t max_tdsu; - uint32_t max_frag_size; - uint16_t serial_no; - uint16_t selack_size; - uint32_t *selack; -}/* [public] */; - -struct dcerpc_ack { - char _empty_; -}/* [public] */; - -struct dcerpc_ping { - char _empty_; -}/* [public] */; - -struct dcerpc_shutdown { - char _empty_; -}/* [public] */; - -struct dcerpc_working { - char _empty_; -}/* [public] */; - -enum dcerpc_pkt_type -#ifndef USE_UINT_ENUMS - { - DCERPC_PKT_REQUEST=(int)(0), - DCERPC_PKT_PING=(int)(1), - DCERPC_PKT_RESPONSE=(int)(2), - DCERPC_PKT_FAULT=(int)(3), - DCERPC_PKT_WORKING=(int)(4), - DCERPC_PKT_NOCALL=(int)(5), - DCERPC_PKT_REJECT=(int)(6), - DCERPC_PKT_ACK=(int)(7), - DCERPC_PKT_CL_CANCEL=(int)(8), - DCERPC_PKT_FACK=(int)(9), - DCERPC_PKT_CANCEL_ACK=(int)(10), - DCERPC_PKT_BIND=(int)(11), - DCERPC_PKT_BIND_ACK=(int)(12), - DCERPC_PKT_BIND_NAK=(int)(13), - DCERPC_PKT_ALTER=(int)(14), - DCERPC_PKT_ALTER_RESP=(int)(15), - DCERPC_PKT_AUTH3=(int)(16), - DCERPC_PKT_SHUTDOWN=(int)(17), - DCERPC_PKT_CO_CANCEL=(int)(18), - DCERPC_PKT_ORPHANED=(int)(19) -} -#else - { __donnot_use_enum_dcerpc_pkt_type=0x7FFFFFFF} -#define DCERPC_PKT_REQUEST ( 0 ) -#define DCERPC_PKT_PING ( 1 ) -#define DCERPC_PKT_RESPONSE ( 2 ) -#define DCERPC_PKT_FAULT ( 3 ) -#define DCERPC_PKT_WORKING ( 4 ) -#define DCERPC_PKT_NOCALL ( 5 ) -#define DCERPC_PKT_REJECT ( 6 ) -#define DCERPC_PKT_ACK ( 7 ) -#define DCERPC_PKT_CL_CANCEL ( 8 ) -#define DCERPC_PKT_FACK ( 9 ) -#define DCERPC_PKT_CANCEL_ACK ( 10 ) -#define DCERPC_PKT_BIND ( 11 ) -#define DCERPC_PKT_BIND_ACK ( 12 ) -#define DCERPC_PKT_BIND_NAK ( 13 ) -#define DCERPC_PKT_ALTER ( 14 ) -#define DCERPC_PKT_ALTER_RESP ( 15 ) -#define DCERPC_PKT_AUTH3 ( 16 ) -#define DCERPC_PKT_SHUTDOWN ( 17 ) -#define DCERPC_PKT_CO_CANCEL ( 18 ) -#define DCERPC_PKT_ORPHANED ( 19 ) -#endif -; - -union dcerpc_payload { - struct dcerpc_request request;/* [case(DCERPC_PKT_REQUEST)] */ - struct dcerpc_ping ping;/* [case(DCERPC_PKT_PING)] */ - struct dcerpc_response response;/* [case(DCERPC_PKT_RESPONSE)] */ - struct dcerpc_fault fault;/* [case(DCERPC_PKT_FAULT)] */ - struct dcerpc_working working;/* [case(DCERPC_PKT_WORKING)] */ - struct dcerpc_fack nocall;/* [case(DCERPC_PKT_NOCALL)] */ - struct dcerpc_fault reject;/* [case(DCERPC_PKT_REJECT)] */ - struct dcerpc_ack ack;/* [case(DCERPC_PKT_ACK)] */ - struct dcerpc_cl_cancel cl_cancel;/* [case(DCERPC_PKT_CL_CANCEL)] */ - struct dcerpc_fack fack;/* [case(DCERPC_PKT_FACK)] */ - struct dcerpc_cancel_ack cancel_ack;/* [case(DCERPC_PKT_CANCEL_ACK)] */ - struct dcerpc_bind bind;/* [case(DCERPC_PKT_BIND)] */ - struct dcerpc_bind_ack bind_ack;/* [case(DCERPC_PKT_BIND_ACK)] */ - struct dcerpc_bind_nak bind_nak;/* [case(DCERPC_PKT_BIND_NAK)] */ - struct dcerpc_bind alter;/* [case(DCERPC_PKT_ALTER)] */ - struct dcerpc_bind_ack alter_resp;/* [case(DCERPC_PKT_ALTER_RESP)] */ - struct dcerpc_shutdown shutdown;/* [case(DCERPC_PKT_SHUTDOWN)] */ - struct dcerpc_co_cancel co_cancel;/* [case(DCERPC_PKT_CO_CANCEL)] */ - struct dcerpc_orphaned orphaned;/* [case(DCERPC_PKT_ORPHANED)] */ - struct dcerpc_auth3 auth3;/* [case(DCERPC_PKT_AUTH3)] */ -}/* [nodiscriminant] */; - -struct ncacn_packet { - uint8_t rpc_vers; - uint8_t rpc_vers_minor; - enum dcerpc_pkt_type ptype; - uint8_t pfc_flags; - uint8_t drep[4]; - uint16_t frag_length; - uint16_t auth_length; - uint32_t call_id; - union dcerpc_payload u;/* [switch_is(ptype)] */ -}/* [public] */; - -struct ncadg_packet { - uint8_t rpc_vers; - uint8_t ptype; - uint8_t pfc_flags; - uint8_t ncadg_flags; - uint8_t drep[3]; - uint8_t serial_high; - struct GUID object; - struct GUID iface; - struct GUID activity; - uint32_t server_boot; - uint32_t iface_version; - uint32_t seq_num; - uint16_t opnum; - uint16_t ihint; - uint16_t ahint; - uint16_t len; - uint16_t fragnum; - uint8_t auth_proto; - uint8_t serial_low; - union dcerpc_payload u;/* [switch_is(ptype)] */ -}/* [public] */; - -#endif /* _HEADER_dcerpc */ diff --git a/librpc/gen_ndr/dfs.h b/librpc/gen_ndr/dfs.h deleted file mode 100644 index 5fa27340945..00000000000 --- a/librpc/gen_ndr/dfs.h +++ /dev/null @@ -1,584 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#ifndef _HEADER_netdfs -#define _HEADER_netdfs - -#define DFS_STORAGE_STATES ( 0xf ) -enum dfs_ManagerVersion -#ifndef USE_UINT_ENUMS - { - DFS_MANAGER_VERSION_NT4=(int)(1), - DFS_MANAGER_VERSION_W2K=(int)(2), - DFS_MANAGER_VERSION_W2K3=(int)(4), - DFS_MANAGER_VERSION_W2K8=(int)(6) -} -#else - { __donnot_use_enum_dfs_ManagerVersion=0x7FFFFFFF} -#define DFS_MANAGER_VERSION_NT4 ( 1 ) -#define DFS_MANAGER_VERSION_W2K ( 2 ) -#define DFS_MANAGER_VERSION_W2K3 ( 4 ) -#define DFS_MANAGER_VERSION_W2K8 ( 6 ) -#endif -; - -struct dfs_Info0 { - char _empty_; -}; - -struct dfs_Info1 { - const char *path;/* [unique,charset(UTF16)] */ -}; - -/* bitmap dfs_VolumeState */ -#define DFS_VOLUME_STATE_OK ( 0x1 ) -#define DFS_VOLUME_STATE_INCONSISTENT ( 0x2 ) -#define DFS_VOLUME_STATE_OFFLINE ( 0x3 ) -#define DFS_VOLUME_STATE_ONLINE ( 0x4 ) -#define DFS_VOLUME_STATE_STANDALONE ( DFS_VOLUME_FLAVOR_STANDALONE ) -#define DFS_VOLUME_STATE_AD_BLOB ( DFS_VOLUME_FLAVOR_AD_BLOB ) - -struct dfs_Info2 { - const char *path;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t state; - uint32_t num_stores; -}; - -/* bitmap dfs_StorageState */ -#define DFS_STORAGE_STATE_OFFLINE ( 1 ) -#define DFS_STORAGE_STATE_ONLINE ( 2 ) -#define DFS_STORAGE_STATE_ACTIVE ( 4 ) - -struct dfs_StorageInfo { - uint32_t state; - const char *server;/* [unique,charset(UTF16)] */ - const char *share;/* [unique,charset(UTF16)] */ -}; - -struct dfs_Info3 { - const char *path;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t state; - uint32_t num_stores; - struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */ -}; - -struct dfs_Info4 { - const char *path;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t state; - uint32_t timeout; - struct GUID guid; - uint32_t num_stores; - struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */ -}; - -/* bitmap dfs_PropertyFlags */ -#define DFS_PROPERTY_FLAG_INSITE_REFERRALS ( 0x01 ) -#define DFS_PROPERTY_FLAG_ROOT_SCALABILITY ( 0x02 ) -#define DFS_PROPERTY_FLAG_SITE_COSTING ( 0x04 ) -#define DFS_PROPERTY_FLAG_TARGET_FAILBACK ( 0x08 ) -#define DFS_PROPERTY_FLAG_CLUSTER_ENABLED ( 0x10 ) - -struct dfs_Info5 { - const char *path;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t state; - uint32_t timeout; - struct GUID guid; - uint32_t flags; - uint32_t pktsize; - uint32_t num_stores; -}; - -enum dfs_Target_PriorityClass -#ifndef USE_UINT_ENUMS - { - DFS_INVALID_PRIORITY_CLASS=(int)(-1), - DFS_SITE_COST_NORMAL_PRIORITY_CLASS=(int)(0), - DFS_GLOBAL_HIGH_PRIORITY_CLASS=(int)(1), - DFS_SITE_COST_HIGH_PRIORITY_CLASS=(int)(2), - DFS_SITE_COST_LOW_PRIORITY_CLASS=(int)(3), - DFS_GLOBAL_LOW_PRIORITY_CLASS=(int)(4) -} -#else - { __donnot_use_enum_dfs_Target_PriorityClass=0x7FFFFFFF} -#define DFS_INVALID_PRIORITY_CLASS ( -1 ) -#define DFS_SITE_COST_NORMAL_PRIORITY_CLASS ( 0 ) -#define DFS_GLOBAL_HIGH_PRIORITY_CLASS ( 1 ) -#define DFS_SITE_COST_HIGH_PRIORITY_CLASS ( 2 ) -#define DFS_SITE_COST_LOW_PRIORITY_CLASS ( 3 ) -#define DFS_GLOBAL_LOW_PRIORITY_CLASS ( 4 ) -#endif -; - -struct dfs_Target_Priority { - enum dfs_Target_PriorityClass target_priority_class; - uint16_t target_priority_rank; - uint16_t reserved; -}; - -struct dfs_StorageInfo2 { - struct dfs_StorageInfo info; - struct dfs_Target_Priority target_priority; -}; - -struct dfs_Info6 { - const char *entry_path;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t state; - uint32_t timeout; - struct GUID guid; - uint32_t flags; - uint32_t pktsize; - uint16_t num_stores; - struct dfs_StorageInfo2 *stores;/* [unique,size_is(num_stores)] */ -}; - -struct dfs_Info7 { - struct GUID generation_guid; -}; - -struct dfs_Info100 { - const char *comment;/* [unique,charset(UTF16)] */ -}; - -struct dfs_Info101 { - uint32_t state; -}; - -struct dfs_Info102 { - uint32_t timeout; -}; - -struct dfs_Info103 { - uint32_t flags; -}; - -struct dfs_Info104 { - struct dfs_Target_Priority priority; -}; - -struct dfs_Info105 { - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t state; - uint32_t timeout; - uint32_t property_flag_mask; - uint32_t property_flags; -}; - -struct dfs_Info106 { - uint32_t state; - struct dfs_Target_Priority priority; -}; - -struct dfs_Info200 { - const char *dom_root;/* [unique,charset(UTF16)] */ -}; - -enum dfs_VolumeFlavor -#ifndef USE_UINT_ENUMS - { - DFS_VOLUME_FLAVOR_STANDALONE=(int)(0x100), - DFS_VOLUME_FLAVOR_AD_BLOB=(int)(0x200) -} -#else - { __donnot_use_enum_dfs_VolumeFlavor=0x7FFFFFFF} -#define DFS_VOLUME_FLAVOR_STANDALONE ( 0x100 ) -#define DFS_VOLUME_FLAVOR_AD_BLOB ( 0x200 ) -#endif -; - -struct dfs_Info300 { - enum dfs_VolumeFlavor flavor; - const char *dom_root;/* [unique,charset(UTF16)] */ -}; - -union dfs_Info { - struct dfs_Info0 *info0;/* [unique,case(0)] */ - struct dfs_Info1 *info1;/* [unique,case] */ - struct dfs_Info2 *info2;/* [unique,case(2)] */ - struct dfs_Info3 *info3;/* [unique,case(3)] */ - struct dfs_Info4 *info4;/* [unique,case(4)] */ - struct dfs_Info5 *info5;/* [unique,case(5)] */ - struct dfs_Info6 *info6;/* [unique,case(6)] */ - struct dfs_Info7 *info7;/* [unique,case(7)] */ - struct dfs_Info100 *info100;/* [unique,case(100)] */ - struct dfs_Info101 *info101;/* [unique,case(101)] */ - struct dfs_Info102 *info102;/* [unique,case(102)] */ - struct dfs_Info103 *info103;/* [unique,case(103)] */ - struct dfs_Info104 *info104;/* [unique,case(104)] */ - struct dfs_Info105 *info105;/* [unique,case(105)] */ - struct dfs_Info106 *info106;/* [unique,case(106)] */ -}; - -struct dfs_EnumArray1 { - uint32_t count; - struct dfs_Info1 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray2 { - uint32_t count; - struct dfs_Info2 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray3 { - uint32_t count; - struct dfs_Info3 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray4 { - uint32_t count; - struct dfs_Info4 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray5 { - uint32_t count; - struct dfs_Info5 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray6 { - uint32_t count; - struct dfs_Info6 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray200 { - uint32_t count; - struct dfs_Info200 *s;/* [unique,size_is(count)] */ -}; - -struct dfs_EnumArray300 { - uint32_t count; - struct dfs_Info300 *s;/* [unique,size_is(count)] */ -}; - -union dfs_EnumInfo { - struct dfs_EnumArray1 *info1;/* [unique,case] */ - struct dfs_EnumArray2 *info2;/* [unique,case(2)] */ - struct dfs_EnumArray3 *info3;/* [unique,case(3)] */ - struct dfs_EnumArray4 *info4;/* [unique,case(4)] */ - struct dfs_EnumArray5 *info5;/* [unique,case(5)] */ - struct dfs_EnumArray6 *info6;/* [unique,case(6)] */ - struct dfs_EnumArray200 *info200;/* [unique,case(200)] */ - struct dfs_EnumArray300 *info300;/* [unique,case(300)] */ -}; - -struct dfs_EnumStruct { - uint32_t level; - union dfs_EnumInfo e;/* [switch_is(level)] */ -}; - -struct dfs_UnknownStruct { - uint32_t unknown1; - const char *unknown2;/* [unique,charset(UTF16)] */ -}; - - -struct dfs_GetManagerVersion { - struct { - enum dfs_ManagerVersion *version;/* [ref] */ - } out; - -}; - - -struct dfs_Add { - struct { - const char *path;/* [ref,charset(UTF16)] */ - const char *server;/* [ref,charset(UTF16)] */ - const char *share;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_Remove { - struct { - const char *dfs_entry_path;/* [ref,charset(UTF16)] */ - const char *servername;/* [unique,charset(UTF16)] */ - const char *sharename;/* [unique,charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_SetInfo { - struct { - const char *dfs_entry_path;/* [charset(UTF16)] */ - const char *servername;/* [unique,charset(UTF16)] */ - const char *sharename;/* [unique,charset(UTF16)] */ - uint32_t level; - union dfs_Info *info;/* [ref,switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_GetInfo { - struct { - const char *dfs_entry_path;/* [charset(UTF16)] */ - const char *servername;/* [unique,charset(UTF16)] */ - const char *sharename;/* [unique,charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union dfs_Info *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct dfs_Enum { - struct { - uint32_t level; - uint32_t bufsize; - struct dfs_EnumStruct *info;/* [unique] */ - uint32_t *total;/* [unique] */ - } in; - - struct { - struct dfs_EnumStruct *info;/* [unique] */ - uint32_t *total;/* [unique] */ - WERROR result; - } out; - -}; - - -struct dfs_Rename { - struct { - WERROR result; - } out; - -}; - - -struct dfs_Move { - struct { - WERROR result; - } out; - -}; - - -struct dfs_ManagerGetConfigInfo { - struct { - WERROR result; - } out; - -}; - - -struct dfs_ManagerSendSiteInfo { - struct { - WERROR result; - } out; - -}; - - -struct dfs_AddFtRoot { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *dns_servername;/* [charset(UTF16)] */ - const char *dfsname;/* [charset(UTF16)] */ - const char *rootshare;/* [charset(UTF16)] */ - const char *comment;/* [charset(UTF16)] */ - const char *dfs_config_dn;/* [charset(UTF16)] */ - uint8_t unknown1; - uint32_t flags; - struct dfs_UnknownStruct **unknown2;/* [unique] */ - } in; - - struct { - struct dfs_UnknownStruct **unknown2;/* [unique] */ - WERROR result; - } out; - -}; - - -struct dfs_RemoveFtRoot { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *dns_servername;/* [charset(UTF16)] */ - const char *dfsname;/* [charset(UTF16)] */ - const char *rootshare;/* [charset(UTF16)] */ - uint32_t flags; - struct dfs_UnknownStruct **unknown;/* [unique] */ - } in; - - struct { - struct dfs_UnknownStruct **unknown;/* [unique] */ - WERROR result; - } out; - -}; - - -struct dfs_AddStdRoot { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *rootshare;/* [charset(UTF16)] */ - const char *comment;/* [charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_RemoveStdRoot { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *rootshare;/* [charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_ManagerInitialize { - struct { - const char *servername;/* [ref,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_AddStdRootForced { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *rootshare;/* [charset(UTF16)] */ - const char *comment;/* [charset(UTF16)] */ - const char *store;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_GetDcAddress { - struct { - const char *servername;/* [charset(UTF16)] */ - const char **server_fullname;/* [ref,charset(UTF16)] */ - uint8_t *is_root;/* [ref] */ - uint32_t *ttl;/* [ref] */ - } in; - - struct { - const char **server_fullname;/* [ref,charset(UTF16)] */ - uint8_t *is_root;/* [ref] */ - uint32_t *ttl;/* [ref] */ - WERROR result; - } out; - -}; - - -struct dfs_SetDcAddress { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *server_fullname;/* [charset(UTF16)] */ - uint32_t flags; - uint32_t ttl; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_FlushFtTable { - struct { - const char *servername;/* [charset(UTF16)] */ - const char *rootshare;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct dfs_Add2 { - struct { - WERROR result; - } out; - -}; - - -struct dfs_Remove2 { - struct { - WERROR result; - } out; - -}; - - -struct dfs_EnumEx { - struct { - const char *dfs_name;/* [charset(UTF16)] */ - uint32_t level; - uint32_t bufsize; - struct dfs_EnumStruct *info;/* [unique] */ - uint32_t *total;/* [unique] */ - } in; - - struct { - struct dfs_EnumStruct *info;/* [unique] */ - uint32_t *total;/* [unique] */ - WERROR result; - } out; - -}; - - -struct dfs_SetInfo2 { - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_netdfs */ diff --git a/librpc/gen_ndr/drsblobs.h b/librpc/gen_ndr/drsblobs.h deleted file mode 100644 index 3d5d0f27ef0..00000000000 --- a/librpc/gen_ndr/drsblobs.h +++ /dev/null @@ -1,642 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/drsuapi.h" -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/samr.h" -#include "librpc/gen_ndr/lsa.h" -#include "librpc/gen_ndr/security.h" -#ifndef _HEADER_drsblobs -#define _HEADER_drsblobs - -#define SUPPLEMENTAL_CREDENTIALS_PREFIX ( " " ) -struct replPropertyMetaData1 { - enum drsuapi_DsAttributeId attid; - uint32_t version; - NTTIME originating_change_time; - struct GUID originating_invocation_id; - uint64_t originating_usn; - uint64_t local_usn; -}; - -struct replPropertyMetaDataCtr1 { - uint32_t count; - uint32_t reserved;/* [value(0)] */ - struct replPropertyMetaData1 *array; -}; - -union replPropertyMetaDataCtr { - struct replPropertyMetaDataCtr1 ctr1;/* [case] */ -}/* [nodiscriminant] */; - -struct replPropertyMetaDataBlob { - uint32_t version; - uint32_t reserved;/* [value(0)] */ - union replPropertyMetaDataCtr ctr;/* [switch_is(version)] */ -}/* [public] */; - -struct replUpToDateVectorCtr1 { - uint32_t count; - uint32_t reserved;/* [value(0)] */ - struct drsuapi_DsReplicaCursor *cursors; -}; - -struct replUpToDateVectorCtr2 { - uint32_t count; - uint32_t reserved;/* [value(0)] */ - struct drsuapi_DsReplicaCursor2 *cursors; -}; - -union replUpToDateVectorCtr { - struct replUpToDateVectorCtr1 ctr1;/* [case] */ - struct replUpToDateVectorCtr2 ctr2;/* [case(2)] */ -}/* [nodiscriminant] */; - -struct replUpToDateVectorBlob { - uint32_t version; - uint32_t reserved;/* [value(0)] */ - union replUpToDateVectorCtr ctr;/* [switch_is(version)] */ -}/* [public] */; - -struct repsFromTo1OtherInfo { - uint32_t __dns_name_size;/* [value(strlen(dns_name)+1)] */ - const char *dns_name;/* [charset(DOS)] */ -}/* [gensize,public] */; - -struct repsFromTo1 { - uint32_t blobsize;/* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */ - uint32_t consecutive_sync_failures; - NTTIME last_success; - NTTIME last_attempt; - WERROR result_last_attempt; - struct repsFromTo1OtherInfo *other_info;/* [relative] */ - uint32_t other_info_length;/* [value(ndr_size_repsFromTo1OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */ - uint32_t replica_flags; - uint8_t schedule[84]; - uint32_t reserved;/* [value(0)] */ - struct drsuapi_DsReplicaHighWaterMark highwatermark; - struct GUID source_dsa_obj_guid; - struct GUID source_dsa_invocation_id; - struct GUID transport_guid; -}/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct repsFromTo2OtherInfo { - uint32_t __ndr_size;/* [value(ndr_size_repsFromTo2OtherInfo(this,ndr->iconv_convenience,ndr->flags))] */ - const char * dns_name1;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t unknown1; - const char * dns_name2;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint64_t unknown2; -}/* [relative_base,gensize,public] */; - -struct repsFromTo2 { - uint32_t blobsize;/* [value(ndr_size_repsFromTo2(this,ndr->iconv_convenience,ndr->flags)+8)] */ - uint32_t consecutive_sync_failures; - NTTIME last_success; - NTTIME last_attempt; - WERROR result_last_attempt; - struct repsFromTo2OtherInfo *other_info;/* [relative] */ - uint32_t other_info_length;/* [value(ndr_size_repsFromTo2OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */ - uint32_t replica_flags; - uint8_t schedule[84]; - uint32_t reserved;/* [value(0)] */ - struct drsuapi_DsReplicaHighWaterMark highwatermark; - struct GUID source_dsa_obj_guid; - struct GUID source_dsa_invocation_id; - struct GUID transport_guid; - uint64_t unknown1; -}/* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -union repsFromTo { - struct repsFromTo1 ctr1;/* [case] */ - struct repsFromTo2 ctr2;/* [case(2)] */ -}/* [nodiscriminant] */; - -struct repsFromToBlob { - uint32_t version; - uint32_t reserved;/* [value(0)] */ - union repsFromTo ctr;/* [switch_is(version)] */ -}/* [public] */; - -struct partialAttributeSetCtr1 { - uint32_t count; - enum drsuapi_DsAttributeId *array; -}; - -union partialAttributeSetCtr { - struct partialAttributeSetCtr1 ctr1;/* [case] */ -}/* [nodiscriminant] */; - -struct partialAttributeSetBlob { - uint32_t version; - uint32_t reserved;/* [value(0)] */ - union partialAttributeSetCtr ctr;/* [switch_is(version)] */ -}/* [public] */; - -struct schemaInfoBlob { - uint8_t marker;/* [value(0xFF)] */ - uint32_t revision;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */ - struct GUID invocation_id; -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct drsuapi_MSPrefixMap_Entry { - uint16_t entryID; - uint16_t length; - uint8_t *binary_oid; -}/* [noprint,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct drsuapi_MSPrefixMap_Ctr { - uint32_t num_entries; - uint32_t __ndr_size;/* [value(ndr_size_drsuapi_MSPrefixMap_Ctr(r,ndr->iconv_convenience,ndr->flags))] */ - struct drsuapi_MSPrefixMap_Entry *entries; -}/* [gensize,public] */; - -enum prefixMapVersion -#ifndef USE_UINT_ENUMS - { - PREFIX_MAP_VERSION_DSDB=(int)(0x44534442) -} -#else - { __donnot_use_enum_prefixMapVersion=0x7FFFFFFF} -#define PREFIX_MAP_VERSION_DSDB ( 0x44534442 ) -#endif -; - -union prefixMapCtr { - struct drsuapi_DsReplicaOIDMapping_Ctr dsdb;/* [case(PREFIX_MAP_VERSION_DSDB)] */ -}/* [nodiscriminant] */; - -struct prefixMapBlob { - enum prefixMapVersion version; - uint32_t reserved;/* [value(0)] */ - union prefixMapCtr ctr;/* [switch_is(version)] */ -}/* [public] */; - -union ldapControlDirSyncExtra { - struct replUpToDateVectorBlob uptodateness_vector;/* [default] */ -}/* [gensize,nodiscriminant] */; - -struct ldapControlDirSyncBlob { - uint32_t u1;/* [value(3)] */ - NTTIME time; - uint32_t u2; - uint32_t u3; - uint32_t extra_length;/* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */ - struct drsuapi_DsReplicaHighWaterMark highwatermark; - struct GUID guid1; - union ldapControlDirSyncExtra extra;/* [switch_is(extra_length)] */ -}; - -struct ldapControlDirSyncCookie { - const char *msds;/* [value("MSDS"),charset(DOS)] */ - struct ldapControlDirSyncBlob blob;/* [subcontext(0)] */ -}/* [relative_base,public] */; - -struct supplementalCredentialsPackage { - uint16_t name_len;/* [value(2*strlen_m(name))] */ - uint16_t data_len;/* [value(strlen(data))] */ - uint16_t reserved; - const char *name;/* [charset(UTF16)] */ - const char *data;/* [charset(DOS)] */ -}; - -enum supplementalCredentialsSignature -#ifndef USE_UINT_ENUMS - { - SUPPLEMENTAL_CREDENTIALS_SIGNATURE=(int)(0x0050) -} -#else - { __donnot_use_enum_supplementalCredentialsSignature=0x7FFFFFFF} -#define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 ) -#endif -; - -struct supplementalCredentialsSubBlob { - const char *prefix;/* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */ - enum supplementalCredentialsSignature signature;/* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */ - uint16_t num_packages; - struct supplementalCredentialsPackage *packages; -}/* [gensize] */; - -struct supplementalCredentialsBlob { - uint32_t unknown1;/* [value(0)] */ - uint32_t __ndr_size;/* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */ - uint32_t unknown2;/* [value(0)] */ - struct supplementalCredentialsSubBlob sub;/* [subcontext_size(__ndr_size),subcontext(0)] */ - uint8_t unknown3;/* [value(0)] */ -}/* [public] */; - -struct package_PackagesBlob { - const char ** names;/* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct package_PrimaryKerberosString { - uint16_t length;/* [value(2*strlen_m(string))] */ - uint16_t size;/* [value(2*strlen_m(string))] */ - const char * string;/* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */ -}/* [nopython] */; - -struct package_PrimaryKerberosKey3 { - uint16_t reserved1;/* [value(0)] */ - uint16_t reserved2;/* [value(0)] */ - uint32_t reserved3;/* [value(0)] */ - uint32_t keytype; - uint32_t value_len;/* [value((value?value->length:0))] */ - DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */ -}/* [nopython] */; - -struct package_PrimaryKerberosCtr3 { - uint16_t num_keys; - uint16_t num_old_keys; - struct package_PrimaryKerberosString salt; - struct package_PrimaryKerberosKey3 *keys; - struct package_PrimaryKerberosKey3 *old_keys; - uint32_t padding1;/* [value(0)] */ - uint32_t padding2;/* [value(0)] */ - uint32_t padding3;/* [value(0)] */ - uint32_t padding4;/* [value(0)] */ - uint32_t padding5;/* [value(0)] */ -}/* [nopython] */; - -struct package_PrimaryKerberosKey4 { - uint16_t reserved1;/* [value(0)] */ - uint16_t reserved2;/* [value(0)] */ - uint32_t reserved3;/* [value(0)] */ - uint32_t iteration_count; - uint32_t keytype; - uint32_t value_len;/* [value((value?value->length:0))] */ - DATA_BLOB *value;/* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */ -}/* [nopython] */; - -struct package_PrimaryKerberosCtr4 { - uint16_t num_keys; - uint16_t num_service_keys;/* [value(0)] */ - uint16_t num_old_keys; - uint16_t num_older_keys; - struct package_PrimaryKerberosString salt; - uint32_t default_iteration_count; - struct package_PrimaryKerberosKey4 *keys; - struct package_PrimaryKerberosKey4 *service_keys; - struct package_PrimaryKerberosKey4 *old_keys; - struct package_PrimaryKerberosKey4 *older_keys; -}/* [nopython] */; - -union package_PrimaryKerberosCtr { - struct package_PrimaryKerberosCtr3 ctr3;/* [case(3)] */ - struct package_PrimaryKerberosCtr4 ctr4;/* [case(4)] */ -}/* [nopython,nodiscriminant] */; - -struct package_PrimaryKerberosBlob { - uint16_t version; - uint16_t flags;/* [value(0)] */ - union package_PrimaryKerberosCtr ctr;/* [switch_is(version)] */ -}/* [nopython,public] */; - -struct package_PrimaryCLEARTEXTBlob { - DATA_BLOB cleartext;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct package_PrimaryWDigestHash { - uint8_t hash[16]; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct package_PrimaryWDigestBlob { - uint16_t unknown1;/* [value(0x31)] */ - uint8_t unknown2;/* [value(0x01)] */ - uint8_t num_hashes; - uint32_t unknown3;/* [value(0)] */ - uint64_t uuknown4;/* [value(0)] */ - struct package_PrimaryWDigestHash *hashes; -}/* [public] */; - -struct AuthInfoNone { - uint32_t size;/* [value(0)] */ -}; - -struct AuthInfoNT4Owf { - uint32_t size;/* [value(16)] */ - struct samr_Password password; -}; - -struct AuthInfoClear { - uint32_t size; - uint8_t *password; -}; - -struct AuthInfoVersion { - uint32_t size;/* [value(4)] */ - uint32_t version; -}; - -union AuthInfo { - struct AuthInfoNone none;/* [case(TRUST_AUTH_TYPE_NONE)] */ - struct AuthInfoNT4Owf nt4owf;/* [case(TRUST_AUTH_TYPE_NT4OWF)] */ - struct AuthInfoClear clear;/* [case(TRUST_AUTH_TYPE_CLEAR)] */ - struct AuthInfoVersion version;/* [case(TRUST_AUTH_TYPE_VERSION)] */ -}/* [nodiscriminant] */; - -struct AuthenticationInformation { - NTTIME LastUpdateTime; - enum lsa_TrustAuthType AuthType; - union AuthInfo AuthInfo;/* [switch_is(AuthType)] */ - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */ -}/* [public] */; - -struct AuthenticationInformationArray { - struct AuthenticationInformation *array;/* [size_is] */ -}/* [noprint,nopush,nopull] */; - -struct trustAuthInOutBlob { - uint32_t count; - struct AuthenticationInformationArray *current;/* [relative] */ - struct AuthenticationInformationArray *previous;/* [relative] */ -}/* [noprint,gensize,nopull,public,nopush] */; - -struct trustCurrentPasswords { - uint32_t count; - struct AuthenticationInformation **current;/* [relative] */ -}/* [gensize,public] */; - -struct trustDomainPasswords { - uint8_t confounder[512]; - struct trustCurrentPasswords outgoing;/* [subcontext_size(outgoing_size),subcontext(0)] */ - struct trustCurrentPasswords incoming;/* [subcontext_size(incoming_size),subcontext(0)] */ - uint32_t outgoing_size;/* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */ - uint32_t incoming_size;/* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */ -}/* [public,nopull] */; - -struct DsCompressedChunk { - uint32_t marker; - DATA_BLOB data; -}/* [public] */; - -struct ExtendedErrorAString { - uint16_t __size; - const char *string;/* [unique,charset(DOS),size_is(__size)] */ -}; - -struct ExtendedErrorUString { - uint16_t __size; - const char *string;/* [unique,charset(UTF16),size_is(__size)] */ -}; - -struct ExtendedErrorBlob { - uint16_t length; - uint8_t *data;/* [unique,size_is(length)] */ -}; - -enum ExtendedErrorComputerNamePresent -#ifndef USE_UINT_ENUMS - { - EXTENDED_ERROR_COMPUTER_NAME_PRESENT=(int)(1), - EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT=(int)(2) -} -#else - { __donnot_use_enum_ExtendedErrorComputerNamePresent=0x7FFFFFFF} -#define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 ) -#define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 ) -#endif -; - -union ExtendedErrorComputerNameU { - struct ExtendedErrorUString name;/* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */ -}/* [switch_type(ExtendedErrorComputerNamePresent)] */; - -struct ExtendedErrorComputerName { - enum ExtendedErrorComputerNamePresent present; - union ExtendedErrorComputerNameU n;/* [switch_is(present)] */ -}; - -enum ExtendedErrorParamType -#ifndef USE_UINT_ENUMS - { - EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING=(int)(1), - EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING=(int)(2), - EXTENDED_ERROR_PARAM_TYPE_UINT32=(int)(3), - EXTENDED_ERROR_PARAM_TYPE_UINT16=(int)(4), - EXTENDED_ERROR_PARAM_TYPE_UINT64=(int)(5), - EXTENDED_ERROR_PARAM_TYPE_NONE=(int)(6), - EXTENDED_ERROR_PARAM_TYPE_BLOB=(int)(7) -} -#else - { __donnot_use_enum_ExtendedErrorParamType=0x7FFFFFFF} -#define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 ) -#define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 ) -#define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 ) -#define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 ) -#define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 ) -#define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 ) -#define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 ) -#endif -; - -union ExtendedErrorParamU { - struct ExtendedErrorAString a_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */ - struct ExtendedErrorUString u_string;/* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */ - uint32_t uint32;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */ - uint16_t uint16;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */ - uint64_t uint64;/* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */ - struct ExtendedErrorBlob blob;/* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */ -}/* [switch_type(ExtendedErrorParamType)] */; - -struct ExtendedErrorParam { - enum ExtendedErrorParamType type; - union ExtendedErrorParamU p;/* [switch_is(type)] */ -}; - -struct ExtendedErrorInfo { - struct ExtendedErrorInfo *next;/* [unique] */ - struct ExtendedErrorComputerName computer_name; - uint64_t pid; - NTTIME time; - uint32_t generating_component; - WERROR status; - uint16_t detection_location; - uint16_t flags; - uint16_t num_params; - struct ExtendedErrorParam *params;/* [size_is(num_params)] */ -}/* [public] */; - -struct ExtendedErrorInfoPtr { - struct ExtendedErrorInfo *info;/* [unique] */ -}; - -struct ForestTrustString { - uint32_t size;/* [value(strlen_m(string))] */ - const char *string;/* [charset(UTF8)] */ -}; - -struct ForestTrustDataDomainInfo { - uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */ - struct dom_sid sid;/* [subcontext_size(sid_size),subcontext(0)] */ - struct ForestTrustString dns_name; - struct ForestTrustString netbios_name; -}/* [flag(LIBNDR_FLAG_NOALIGN)] */; - -struct ForestTrustDataBinaryData { - uint32_t size; - uint8_t *data; -}/* [flag(LIBNDR_FLAG_NOALIGN)] */; - -union ForestTrustData { - struct ForestTrustString name;/* [case(FOREST_TRUST_TOP_LEVEL_NAME)] */ - struct ForestTrustDataDomainInfo info;/* [case(FOREST_TRUST_DOMAIN_INFO)] */ - struct ForestTrustDataBinaryData data;/* [default] */ -}/* [nodiscriminant] */; - -enum ForestTrustInfoRecordType -#ifndef USE_UINT_ENUMS - { - FOREST_TRUST_TOP_LEVEL_NAME=(int)(0), - FOREST_TRUST_TOP_LEVEL_NAME_EX=(int)(1), - FOREST_TRUST_DOMAIN_INFO=(int)(2) -} -#else - { __donnot_use_enum_ForestTrustInfoRecordType=0x7FFFFFFF} -#define FOREST_TRUST_TOP_LEVEL_NAME ( 0 ) -#define FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 ) -#define FOREST_TRUST_DOMAIN_INFO ( 2 ) -#endif -; - -struct ForestTrustInfoRecord { - uint32_t flags; - NTTIME timestamp; - enum ForestTrustInfoRecordType type; - union ForestTrustData data;/* [switch_is(type)] */ -}/* [gensize,public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct ForestTrustInfoRecordArmor { - uint32_t record_size;/* [value(ndr_size_ForestTrustInfoRecord(&record,ndr->iconv_convenience,ndr->flags))] */ - struct ForestTrustInfoRecord record; -}/* [flag(LIBNDR_FLAG_NOALIGN)] */; - -struct ForestTrustInfo { - uint32_t version; - uint32_t count; - struct ForestTrustInfoRecordArmor *records; -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - - -struct decode_replPropertyMetaData { - struct { - struct replPropertyMetaDataBlob blob; - } in; - -}; - - -struct decode_replUpToDateVector { - struct { - struct replUpToDateVectorBlob blob; - } in; - -}; - - -struct decode_repsFromTo { - struct { - struct repsFromToBlob blob; - } in; - -}; - - -struct decode_partialAttributeSet { - struct { - struct partialAttributeSetBlob blob; - } in; - -}; - - -struct decode_prefixMap { - struct { - struct prefixMapBlob blob; - } in; - -}; - - -struct decode_ldapControlDirSync { - struct { - struct ldapControlDirSyncCookie cookie; - } in; - -}; - - -struct decode_supplementalCredentials { - struct { - struct supplementalCredentialsBlob blob; - } in; - -}; - - -struct decode_Packages { - struct { - struct package_PackagesBlob blob; - } in; - -}; - - -struct decode_PrimaryKerberos { - struct { - struct package_PrimaryKerberosBlob blob; - } in; - -}; - - -struct decode_PrimaryCLEARTEXT { - struct { - struct package_PrimaryCLEARTEXTBlob blob; - } in; - -}; - - -struct decode_PrimaryWDigest { - struct { - struct package_PrimaryWDigestBlob blob; - } in; - -}; - - -struct decode_trustAuthInOut { - struct { - struct trustAuthInOutBlob blob; - } in; - -}; - - -struct decode_trustDomainPasswords { - struct { - struct trustDomainPasswords blob; - } in; - -}; - - -struct decode_ExtendedErrorInfo { - struct { - struct ExtendedErrorInfoPtr ptr;/* [subcontext(0xFFFFFC01)] */ - } in; - -}; - - -struct decode_ForestTrustInfo { - struct { - struct ForestTrustInfo blob; - } in; - -}; - -#endif /* _HEADER_drsblobs */ diff --git a/librpc/gen_ndr/drsuapi.h b/librpc/gen_ndr/drsuapi.h deleted file mode 100644 index bc367050425..00000000000 --- a/librpc/gen_ndr/drsuapi.h +++ /dev/null @@ -1,2023 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/lsa.h" -#include "librpc/gen_ndr/samr.h" -#ifndef _HEADER_drsuapi -#define _HEADER_drsuapi - -#define DRSUAPI_DS_BIND_GUID ( "e24d201a-4fd6-11d1-a3da-0000f875ae0d" ) -#define DRSUAPI_DS_BIND_GUID_W2K ( "6abec3d1-3054-41c8-a362-5a0c5b7d5d71" ) -#define DRSUAPI_DS_BIND_GUID_W2K3 ( "6afab99c-6e26-464a-975f-f58f105218bc" ) -#define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR ( 0x1 ) -#define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" ) -/* bitmap drsuapi_DrsOptions */ -#define DRSUAPI_DRS_ASYNC_OP ( 0x00000001 ) -#define DRSUAPI_DRS_GETCHG_CHECK ( 0x00000002 ) -#define DRSUAPI_DRS_UPDATE_NOTIFICATION ( 0x00000002 ) -#define DRSUAPI_DRS_ADD_REF ( 0x00000004 ) -#define DRSUAPI_DRS_SYNC_ALL ( 0x00000008 ) -#define DRSUAPI_DRS_DEL_REF ( 0x00000008 ) -#define DRSUAPI_DRS_WRIT_REP ( 0x00000010 ) -#define DRSUAPI_DRS_INIT_SYNC ( 0x00000020 ) -#define DRSUAPI_DRS_PER_SYNC ( 0x00000040 ) -#define DRSUAPI_DRS_MAIL_REP ( 0x00000080 ) -#define DRSUAPI_DRS_ASYNC_REP ( 0x00000100 ) -#define DRSUAPI_DRS_IGNORE_ERROR ( 0x00000100 ) -#define DRSUAPI_DRS_TWOWAY_SYNC ( 0x00000200 ) -#define DRSUAPI_DRS_CRITICAL_ONLY ( 0x00000400 ) -#define DRSUAPI_DRS_GET_ANC ( 0x00000800 ) -#define DRSUAPI_DRS_GET_NC_SIZE ( 0x00001000 ) -#define DRSUAPI_DRS_LOCAL_ONLY ( 0x00001000 ) -#define DRSUAPI_DRS_NONGC_RO_REP ( 0x00002000 ) -#define DRSUAPI_DRS_SYNC_BYNAME ( 0x00004000 ) -#define DRSUAPI_DRS_REF_OK ( 0x00004000 ) -#define DRSUAPI_DRS_FULL_SYNC_NOW ( 0x00008000 ) -#define DRSUAPI_DRS_NO_SOURCE ( 0x00008000 ) -#define DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS ( 0x00010000 ) -#define DRSUAPI_DRS_FULL_SYNC_PACKET ( 0x00020000 ) -#define DRSUAPI_DRS_SYNC_REQUEUE ( 0x00040000 ) -#define DRSUAPI_DRS_SYNC_URGENT ( 0x00080000 ) -#define DRSUAPI_DRS_REF_GCSPN ( 0x00100000 ) -#define DRSUAPI_DRS_NO_DISCARD ( 0x00100000 ) -#define DRSUAPI_DRS_NEVER_SYNCED ( 0x00200000 ) -#define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00400000 ) -#define DRSUAPI_DRS_INIT_SYNC_NOW ( 0x00800000 ) -#define DRSUAPI_DRS_PREEMPTED ( 0x01000000 ) -#define DRSUAPI_DRS_SYNC_FORCED ( 0x02000000 ) -#define DRSUAPI_DRS_DISABLE_AUTO_SYNC ( 0x04000000 ) -#define DRSUAPI_DRS_DISABLE_PERIODIC_SYNC ( 0x08000000 ) -#define DRSUAPI_DRS_USE_COMPRESSION ( 0x10000000 ) -#define DRSUAPI_DRS_NEVER_NOTIFY ( 0x20000000 ) -#define DRSUAPI_DRS_SYNC_PAS ( 0x40000000 ) -#define DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP ( 0x80000000 ) - -/* bitmap drsuapi_SupportedExtensions */ -#define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 ) -#define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 ) -#define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 ) -#define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 ) -#define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 ) -#define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 ) -#define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY ( 0x00000080 ) -#define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 ) -#define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 ) -#define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 ) -#define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 ) -#define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5 ( 0x00100000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10 ( 0x20000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2 ( 0x40000000 ) -#define DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3 ( 0x80000000 ) - -/* bitmap drsuapi_SupportedExtensionsExt */ -#define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 ) -#define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 ) -#define DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN ( 0x00000004 ) - -struct drsuapi_DsBindInfo24 { - uint32_t supported_extensions; - struct GUID site_guid; - uint32_t pid; -}; - -struct drsuapi_DsBindInfo28 { - uint32_t supported_extensions; - struct GUID site_guid; - uint32_t pid; - uint32_t repl_epoch; -}; - -struct drsuapi_DsBindInfo48 { - uint32_t supported_extensions; - struct GUID site_guid; - uint32_t pid; - uint32_t repl_epoch; - uint32_t supported_extensions_ext; - struct GUID config_dn_guid; -}; - -struct drsuapi_DsBindInfoFallBack { - DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -union drsuapi_DsBindInfo { - struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */ - struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */ - struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */ - struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */ -}/* [nodiscriminant] */; - -struct drsuapi_DsBindInfoCtr { - uint32_t length;/* [range(1,10000)] */ - union drsuapi_DsBindInfo info;/* [switch_is(length)] */ -}; - -struct drsuapi_DsReplicaObjectIdentifier { - uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->iconv_convenience,ndr->flags)-4)] */ - uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */ - struct GUID guid; - struct dom_sid28 sid; - uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */ - const char *dn;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */ -}/* [gensize,public] */; - -struct drsuapi_DsReplicaSyncRequest1 { - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - struct GUID source_dsa_guid; - const char * source_dsa_dns;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t options; -}; - -union drsuapi_DsReplicaSyncRequest { - struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaHighWaterMark { - uint64_t tmp_highest_usn; - uint64_t reserved_usn; - uint64_t highest_usn; -}/* [public] */; - -struct drsuapi_DsReplicaCursor { - struct GUID source_dsa_invocation_id; - uint64_t highest_usn; -}/* [public] */; - -struct drsuapi_DsReplicaCursorCtrEx { - uint32_t version;/* [value] */ - uint32_t reserved1;/* [value(0)] */ - uint32_t count;/* [range(0,0x100000)] */ - uint32_t reserved2;/* [value(0)] */ - struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */ -}; - -enum drsuapi_DsExtendedOperation -#ifndef USE_UINT_ENUMS - { - DRSUAPI_EXOP_NONE=(int)(0x00000000), - DRSUAPI_EXOP_FSMO_REQ_ROLE=(int)(0x00000001), - DRSUAPI_EXOP_FSMO_RID_ALLOC=(int)(0x00000002), - DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=(int)(0x00000003), - DRSUAPI_EXOP_FSMO_REQ_PDC=(int)(0x00000004), - DRSUAPI_EXOP_FSMO_ABANDON_ROLE=(int)(0x00000005), - DRSUAPI_EXOP_REPL_OBJ=(int)(0x00000006), - DRSUAPI_EXOP_REPL_SECRET=(int)(0x00000007) -} -#else - { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF} -#define DRSUAPI_EXOP_NONE ( 0x00000000 ) -#define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 ) -#define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 ) -#define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 ) -#define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 ) -#define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 ) -#define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 ) -#define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 ) -#endif -; - -enum drsuapi_DsExtendedError -#ifndef USE_UINT_ENUMS - { - DRSUAPI_EXOP_ERR_NONE=(int)(0x00000000), - DRSUAPI_EXOP_ERR_SUCCESS=(int)(0x00000001), - DRSUAPI_EXOP_ERR_UNKNOWN_OP=(int)(0x00000002), - DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=(int)(0x00000003), - DRSUAPI_EXOP_ERR_UPDATE_ERR=(int)(0x00000004), - DRSUAPI_EXOP_ERR_EXCEPTION=(int)(0x00000005), - DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=(int)(0x00000006), - DRSUAPI_EXOP_ERR_RID_ALLOC=(int)(0x00000007), - DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=(int)(0x00000008), - DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=(int)(0x00000009), - DRSUAPI_EXOP_ERR_MISMATCH=(int)(0x0000000A), - DRSUAPI_EXOP_ERR_COULDNT_CONTACT=(int)(0x0000000B), - DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=(int)(0x0000000C), - DRSUAPI_EXOP_ERR_DIR_ERROR=(int)(0x0000000D), - DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=(int)(0x0000000E), - DRSUAPI_EXOP_ERR_ACCESS_DENIED=(int)(0x0000000F), - DRSUAPI_EXOP_ERR_PARAM_ERROR=(int)(0x00000010) -} -#else - { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF} -#define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 ) -#define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 ) -#define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 ) -#define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 ) -#define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 ) -#define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 ) -#define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 ) -#define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 ) -#define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 ) -#define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 ) -#define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A ) -#define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B ) -#define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C ) -#define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D ) -#define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E ) -#define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F ) -#define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 ) -#endif -; - -struct drsuapi_DsGetNCChangesRequest5 { - struct GUID destination_dsa_guid; - struct GUID source_dsa_invocation_id; - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - struct drsuapi_DsReplicaHighWaterMark highwatermark; - struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */ - uint32_t replica_flags; - uint32_t max_object_count; - uint32_t max_ndr_size; - enum drsuapi_DsExtendedOperation extended_op; - uint64_t fsmo_info; -}; - -struct drsuapi_DsReplicaOID { - uint32_t length;/* [range(0,10000)] */ - uint8_t *binary_oid;/* [unique,size_is(length)] */ -}/* [noprint] */; - -struct drsuapi_DsReplicaOIDMapping { - uint32_t id_prefix; - struct drsuapi_DsReplicaOID oid; -}; - -struct drsuapi_DsReplicaOIDMapping_Ctr { - uint32_t num_mappings;/* [range(0,0x100000)] */ - struct drsuapi_DsReplicaOIDMapping *mappings;/* [unique,size_is(num_mappings)] */ -}/* [public] */; - -enum drsuapi_DsObjectClassId -#ifndef USE_UINT_ENUMS - { - DRSUAPI_OBJECTCLASS_top=(int)(0x00010000), - DRSUAPI_OBJECTCLASS_classSchema=(int)(0x0003000d), - DRSUAPI_OBJECTCLASS_attributeSchema=(int)(0x0003000e) -} -#else - { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF} -#define DRSUAPI_OBJECTCLASS_top ( 0x00010000 ) -#define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d ) -#define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e ) -#endif -; - -enum drsuapi_DsAttributeId -#ifndef USE_UINT_ENUMS - { - DRSUAPI_ATTRIBUTE_objectClass=(int)(0x00000000), - DRSUAPI_ATTRIBUTE_cn=(int)(0x00000003), - DRSUAPI_ATTRIBUTE_description=(int)(0x0000000d), - DRSUAPI_ATTRIBUTE_member=(int)(0x0000001f), - DRSUAPI_ATTRIBUTE_instanceType=(int)(0x00020001), - DRSUAPI_ATTRIBUTE_whenCreated=(int)(0x00020002), - DRSUAPI_ATTRIBUTE_possSuperiors=(int)(0x00020008), - DRSUAPI_ATTRIBUTE_hasMasterNCs=(int)(0x0002000e), - DRSUAPI_ATTRIBUTE_subClassOf=(int)(0x00020015), - DRSUAPI_ATTRIBUTE_governsID=(int)(0x00020016), - DRSUAPI_ATTRIBUTE_mustContain=(int)(0x00020018), - DRSUAPI_ATTRIBUTE_mayContain=(int)(0x00020019), - DRSUAPI_ATTRIBUTE_rDNAttId=(int)(0x0002001A), - DRSUAPI_ATTRIBUTE_attributeID=(int)(0x0002001e), - DRSUAPI_ATTRIBUTE_attributeSyntax=(int)(0x00020020), - DRSUAPI_ATTRIBUTE_isSingleValued=(int)(0x00020021), - DRSUAPI_ATTRIBUTE_rangeLower=(int)(0x00020022), - DRSUAPI_ATTRIBUTE_rangeUpper=(int)(0x00020023), - DRSUAPI_ATTRIBUTE_dMDLocation=(int)(0x00020024), - DRSUAPI_ATTRIBUTE_objectVersion=(int)(0x0002004c), - DRSUAPI_ATTRIBUTE_invocationId=(int)(0x00020073), - DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=(int)(0x000200a9), - DRSUAPI_ATTRIBUTE_adminDisplayName=(int)(0x000200c2), - DRSUAPI_ATTRIBUTE_adminDescription=(int)(0x000200e2), - DRSUAPI_ATTRIBUTE_oMSyntax=(int)(0x000200e7), - DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=(int)(0x00020119), - DRSUAPI_ATTRIBUTE_searchFlags=(int)(0x0002014e), - DRSUAPI_ATTRIBUTE_auxiliaryClass=(int)(0x0002015f), - DRSUAPI_ATTRIBUTE_lDAPDisplayName=(int)(0x000201cc), - DRSUAPI_ATTRIBUTE_name=(int)(0x00090001), - DRSUAPI_ATTRIBUTE_userAccountControl=(int)(0x00090008), - DRSUAPI_ATTRIBUTE_currentValue=(int)(0x0009001b), - DRSUAPI_ATTRIBUTE_homeDirectory=(int)(0x0009002c), - DRSUAPI_ATTRIBUTE_homeDrive=(int)(0x0009002d), - DRSUAPI_ATTRIBUTE_scriptPath=(int)(0x0009003e), - DRSUAPI_ATTRIBUTE_profilePath=(int)(0x0009008b), - DRSUAPI_ATTRIBUTE_objectSid=(int)(0x00090092), - DRSUAPI_ATTRIBUTE_schemaIDGUID=(int)(0x00090094), - DRSUAPI_ATTRIBUTE_dBCSPwd=(int)(0x00090037), - DRSUAPI_ATTRIBUTE_logonHours=(int)(0x00090040), - DRSUAPI_ATTRIBUTE_userWorkstations=(int)(0x00090056), - DRSUAPI_ATTRIBUTE_unicodePwd=(int)(0x0009005a), - DRSUAPI_ATTRIBUTE_ntPwdHistory=(int)(0x0009005e), - DRSUAPI_ATTRIBUTE_priorValue=(int)(0x00090064), - DRSUAPI_ATTRIBUTE_supplementalCredentials=(int)(0x0009007d), - DRSUAPI_ATTRIBUTE_trustAuthIncoming=(int)(0x00090081), - DRSUAPI_ATTRIBUTE_trustAuthOutgoing=(int)(0x00090087), - DRSUAPI_ATTRIBUTE_lmPwdHistory=(int)(0x000900a0), - DRSUAPI_ATTRIBUTE_systemPossSuperiors=(int)(0x000900c3), - DRSUAPI_ATTRIBUTE_systemMayContain=(int)(0x000900c4), - DRSUAPI_ATTRIBUTE_systemMustContain=(int)(0x000900c5), - DRSUAPI_ATTRIBUTE_systemAuxiliaryClass=(int)(0x000900c6), - DRSUAPI_ATTRIBUTE_sAMAccountName=(int)(0x000900dd), - DRSUAPI_ATTRIBUTE_sAMAccountType=(int)(0x0009012e), - DRSUAPI_ATTRIBUTE_options=(int)(0x00090133), - DRSUAPI_ATTRIBUTE_fSMORoleOwner=(int)(0x00090171), - DRSUAPI_ATTRIBUTE_systemFlags=(int)(0x00090177), - DRSUAPI_ATTRIBUTE_serverReference=(int)(0x00090203), - DRSUAPI_ATTRIBUTE_serverReferenceBL=(int)(0x00090204), - DRSUAPI_ATTRIBUTE_initialAuthIncoming=(int)(0x0009021b), - DRSUAPI_ATTRIBUTE_initialAuthOutgoing=(int)(0x0009021c), - DRSUAPI_ATTRIBUTE_wellKnownObjects=(int)(0x0009026a), - DRSUAPI_ATTRIBUTE_dNSHostName=(int)(0x0009026b), - DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=(int)(0x0009027f), - DRSUAPI_ATTRIBUTE_userPrincipalName=(int)(0x00090290), - DRSUAPI_ATTRIBUTE_groupType=(int)(0x000902ee), - DRSUAPI_ATTRIBUTE_servicePrincipalName=(int)(0x00090303), - DRSUAPI_ATTRIBUTE_objectCategory=(int)(0x0009030e), - DRSUAPI_ATTRIBUTE_gPLink=(int)(0x0009037b), - DRSUAPI_ATTRIBUTE_transportAddressAttribute=(int)(0x0009037f), - DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=(int)(0x000905b3), - DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=(int)(0x000906f6), - DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=(int)(0x0009071c), - DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=(int)(0x0009072c), - DRSUAPI_ATTRIBUTE_NONE=(int)(0xFFFFFFFF) -} -#else - { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF} -#define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 ) -#define DRSUAPI_ATTRIBUTE_cn ( 0x00000003 ) -#define DRSUAPI_ATTRIBUTE_description ( 0x0000000d ) -#define DRSUAPI_ATTRIBUTE_member ( 0x0000001f ) -#define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 ) -#define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 ) -#define DRSUAPI_ATTRIBUTE_possSuperiors ( 0x00020008 ) -#define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e ) -#define DRSUAPI_ATTRIBUTE_subClassOf ( 0x00020015 ) -#define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 ) -#define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 ) -#define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 ) -#define DRSUAPI_ATTRIBUTE_rDNAttId ( 0x0002001A ) -#define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e ) -#define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 ) -#define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 ) -#define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 ) -#define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 ) -#define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 ) -#define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c ) -#define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 ) -#define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 ) -#define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 ) -#define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 ) -#define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 ) -#define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 ) -#define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e ) -#define DRSUAPI_ATTRIBUTE_auxiliaryClass ( 0x0002015f ) -#define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc ) -#define DRSUAPI_ATTRIBUTE_name ( 0x00090001 ) -#define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 ) -#define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b ) -#define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c ) -#define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d ) -#define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e ) -#define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b ) -#define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 ) -#define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 ) -#define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 ) -#define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 ) -#define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 ) -#define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a ) -#define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e ) -#define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 ) -#define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d ) -#define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 ) -#define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 ) -#define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 ) -#define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 ) -#define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 ) -#define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 ) -#define DRSUAPI_ATTRIBUTE_systemAuxiliaryClass ( 0x000900c6 ) -#define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd ) -#define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e ) -#define DRSUAPI_ATTRIBUTE_options ( 0x00090133 ) -#define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 ) -#define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 ) -#define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 ) -#define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 ) -#define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b ) -#define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c ) -#define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a ) -#define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b ) -#define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f ) -#define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 ) -#define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee ) -#define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 ) -#define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e ) -#define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b ) -#define DRSUAPI_ATTRIBUTE_transportAddressAttribute ( 0x0009037f ) -#define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 ) -#define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 ) -#define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c ) -#define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c ) -#define DRSUAPI_ATTRIBUTE_NONE ( 0xFFFFFFFF ) -#endif -; - -struct drsuapi_DsPartialAttributeSet { - uint32_t version;/* [value] */ - uint32_t reserved1;/* [value(0)] */ - uint32_t num_attids;/* [range(1,0x100000)] */ - enum drsuapi_DsAttributeId *attids;/* [size_is(num_attids)] */ -}; - -struct drsuapi_DsGetNCChangesRequest8 { - struct GUID destination_dsa_guid; - struct GUID source_dsa_invocation_id; - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - struct drsuapi_DsReplicaHighWaterMark highwatermark; - struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */ - uint32_t replica_flags; - uint32_t max_object_count; - uint32_t max_ndr_size; - enum drsuapi_DsExtendedOperation extended_op; - uint64_t fsmo_info; - struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */ - struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */ - struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr; -}; - -struct drsuapi_DsGetNCChangesRequest10 { - struct GUID destination_dsa_guid; - struct GUID source_dsa_invocation_id; - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - struct drsuapi_DsReplicaHighWaterMark highwatermark; - struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */ - uint32_t replica_flags; - uint32_t max_object_count; - uint32_t max_ndr_size; - enum drsuapi_DsExtendedOperation extended_op; - uint64_t fsmo_info; - struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */ - struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */ - struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr; - uint32_t more_flags; -}; - -union drsuapi_DsGetNCChangesRequest { - struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */ - struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */ - struct drsuapi_DsGetNCChangesRequest10 req10;/* [case(10)] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaCursor2 { - struct GUID source_dsa_invocation_id; - uint64_t highest_usn; - NTTIME last_sync_success; -}/* [public] */; - -struct drsuapi_DsReplicaCursor2CtrEx { - uint32_t version;/* [value(2)] */ - uint32_t reserved1;/* [value(0)] */ - uint32_t count;/* [range(0,0x100000)] */ - uint32_t reserved2;/* [value(0)] */ - struct drsuapi_DsReplicaCursor2 *cursors;/* [size_is(count)] */ -}; - -struct drsuapi_DsAttributeValue { - uint32_t __ndr_size;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */ - DATA_BLOB *blob;/* [unique] */ -}; - -struct drsuapi_DsAttributeValueCtr { - uint32_t num_values;/* [range(0,10485760)] */ - struct drsuapi_DsAttributeValue *values;/* [unique,size_is(num_values)] */ -}; - -struct drsuapi_DsReplicaObjectIdentifier3 { - uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */ - uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */ - struct GUID guid; - struct dom_sid28 sid; - uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */ - const char *dn;/* [charset(UTF16)] */ -}/* [gensize,public] */; - -struct drsuapi_DsReplicaObjectIdentifier3Binary { - uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r,ndr->iconv_convenience,ndr->flags))] */ - uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */ - struct GUID guid; - struct dom_sid28 sid; - uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */ - const char *dn;/* [charset(UTF16)] */ - uint32_t __ndr_size_binary;/* [value(binary.length+4)] */ - DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct drsuapi_DsReplicaAttribute { - enum drsuapi_DsAttributeId attid; - struct drsuapi_DsAttributeValueCtr value_ctr; -}/* [public] */; - -struct drsuapi_DsReplicaAttributeCtr { - uint32_t num_attributes;/* [range(0,1048576)] */ - struct drsuapi_DsReplicaAttribute *attributes;/* [unique,size_is(num_attributes)] */ -}; - -/* bitmap drsuapi_DsReplicaObjectFlags */ -#define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 ) -#define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 ) -#define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 ) - -struct drsuapi_DsReplicaObject { - struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */ - uint32_t flags; - struct drsuapi_DsReplicaAttributeCtr attribute_ctr; -}/* [public] */; - -struct drsuapi_DsReplicaMetaData { - uint32_t version; - NTTIME originating_change_time; - struct GUID originating_invocation_id; - uint64_t originating_usn; -}; - -struct drsuapi_DsReplicaMetaDataCtr { - uint32_t count;/* [range(0,1048576)] */ - struct drsuapi_DsReplicaMetaData *meta_data;/* [size_is(count)] */ -}/* [public] */; - -struct drsuapi_DsReplicaObjectListItemEx { - struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */ - struct drsuapi_DsReplicaObject object; - uint32_t is_nc_prefix; - struct GUID *parent_object_guid;/* [unique] */ - struct drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;/* [unique] */ -}/* [noprint,public] */; - -struct drsuapi_DsGetNCChangesCtr1 { - struct GUID source_dsa_guid; - struct GUID source_dsa_invocation_id; - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */ - struct drsuapi_DsReplicaHighWaterMark old_highwatermark; - struct drsuapi_DsReplicaHighWaterMark new_highwatermark; - struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */ - struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr; - enum drsuapi_DsExtendedError extended_ret; - uint32_t object_count; - uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */ - struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */ - uint32_t more_data; -}/* [gensize,public] */; - -/* bitmap drsuapi_DsLinkedAttributeFlags */ -#define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 ) - -struct drsuapi_DsReplicaLinkedAttribute { - struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */ - enum drsuapi_DsAttributeId attid; - struct drsuapi_DsAttributeValue value; - uint32_t flags; - NTTIME originating_add_time; - struct drsuapi_DsReplicaMetaData meta_data; -}/* [public] */; - -struct drsuapi_DsGetNCChangesCtr6 { - struct GUID source_dsa_guid; - struct GUID source_dsa_invocation_id; - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */ - struct drsuapi_DsReplicaHighWaterMark old_highwatermark; - struct drsuapi_DsReplicaHighWaterMark new_highwatermark; - struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;/* [unique] */ - struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr; - enum drsuapi_DsExtendedError extended_ret; - uint32_t object_count; - uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */ - struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */ - uint32_t more_data; - uint32_t nc_object_count; - uint32_t nc_linked_attributes_count; - uint32_t linked_attributes_count;/* [range(0,1048576)] */ - struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */ - WERROR drs_error; -}/* [gensize,public] */; - -struct drsuapi_DsGetNCChangesCtr1TS { - struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [subcontext(0xFFFFFC01)] */ -}/* [public] */; - -struct drsuapi_DsGetNCChangesCtr6TS { - struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [subcontext(0xFFFFFC01)] */ -}/* [public] */; - -struct drsuapi_DsGetNCChangesMSZIPCtr1 { - uint32_t decompressed_length; - uint32_t compressed_length; - struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */ -}/* [nopush] */; - -struct drsuapi_DsGetNCChangesMSZIPCtr6 { - uint32_t decompressed_length; - uint32_t compressed_length; - struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */ -}/* [nopush] */; - -struct drsuapi_DsGetNCChangesXPRESSCtr1 { - uint32_t decompressed_length; - uint32_t compressed_length; - struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */ -}/* [nopush] */; - -struct drsuapi_DsGetNCChangesXPRESSCtr6 { - uint32_t decompressed_length; - uint32_t compressed_length; - struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */ -}/* [nopush] */; - -enum drsuapi_DsGetNCChangesCompressionType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_COMPRESSION_TYPE_MSZIP=(int)(2), - DRSUAPI_COMPRESSION_TYPE_XPRESS=(int)(3) -} -#else - { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF} -#define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 ) -#define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 ) -#endif -; - -union drsuapi_DsGetNCChangesCompressedCtr { - struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */ - struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */ - struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */ - struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */ -}/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct drsuapi_DsGetNCChangesCtr2 { - struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1; -}; - -struct drsuapi_DsGetNCChangesCtr7 { - uint32_t level;/* [range(0,6)] */ - enum drsuapi_DsGetNCChangesCompressionType type;/* [range(2,3)] */ - union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(level|(type<<16))] */ -}; - -union drsuapi_DsGetNCChangesCtr { - struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [case] */ - struct drsuapi_DsGetNCChangesCtr2 ctr2;/* [case(2)] */ - struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [case(6)] */ - struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaUpdateRefsRequest1 { - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */ - struct GUID dest_dsa_guid; - uint32_t options; -}; - -union drsuapi_DsReplicaUpdateRefsRequest { - struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaAddRequest1 { - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - const char *source_dsa_address;/* [unique,charset(UTF16)] */ - uint8_t schedule[84]; - uint32_t options; -}; - -struct drsuapi_DsReplicaAddRequest2 { - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - struct drsuapi_DsReplicaObjectIdentifier *source_dsa_dn;/* [unique] */ - struct drsuapi_DsReplicaObjectIdentifier *transport_dn;/* [unique] */ - const char *source_dsa_address;/* [unique,charset(UTF16)] */ - uint8_t schedule[84]; - uint32_t options; -}; - -union drsuapi_DsReplicaAddRequest { - struct drsuapi_DsReplicaAddRequest1 req1;/* [case] */ - struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaDelRequest1 { - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - const char *source_dsa_address;/* [unique,charset(UTF16)] */ - uint32_t options; -}; - -union drsuapi_DsReplicaDelRequest { - struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaModRequest1 { - struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */ - struct GUID source_dra; - const char *source_dra_address;/* [unique,charset(UTF16)] */ - uint8_t schedule[84]; - uint32_t replica_flags; - uint32_t modify_fields; - uint32_t options; -}; - -union drsuapi_DsReplicaModRequest { - struct drsuapi_DsReplicaModRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -enum drsuapi_DsMembershipType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=(int)(1), - DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=(int)(2), - DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=(int)(3), - DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=(int)(4), - DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=(int)(5), - DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=(int)(6), - DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=(int)(7) -} -#else - { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF} -#define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 ) -#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 ) -#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 ) -#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 ) -#define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 ) -#define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 ) -#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 ) -#endif -; - -struct drsuapi_DsGetMembershipsCtr1 { - NTSTATUS status; - uint32_t num_memberships;/* [range(0,10000)] */ - uint32_t num_sids;/* [range(0,10000)] */ - struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(num_memberships)] */ - uint32_t *group_attrs;/* [unique,size_is(num_memberships)] */ - struct dom_sid28 **sids;/* [unique,size_is(num_sids)] */ -}; - -union drsuapi_DsGetMembershipsCtr { - struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsGetMembershipsRequest1 { - uint32_t count;/* [range(1,10000)] */ - struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */ - uint32_t flags; - enum drsuapi_DsMembershipType type;/* [range(1,7)] */ - struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */ -}; - -union drsuapi_DsGetMembershipsRequest { - struct drsuapi_DsGetMembershipsRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -/* bitmap drsuapi_DsGetNT4ChangeLogFlags */ -#define DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG ( 0x00000001 ) -#define DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS ( 0x00000002 ) - -struct drsuapi_DsGetNT4ChangeLogRequest1 { - uint32_t flags; - uint32_t preferred_maximum_length; - uint32_t restart_length;/* [range(0,0x00A00000)] */ - uint8_t *restart_data;/* [unique,size_is(restart_length)] */ -}; - -union drsuapi_DsGetNT4ChangeLogRequest { - struct drsuapi_DsGetNT4ChangeLogRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsGetNT4ChangeLogInfo1 { - uint32_t restart_length;/* [range(0,0x00A00000)] */ - uint32_t log_length;/* [range(0,0x00A00000)] */ - uint64_t sam_serial_number; - NTTIME sam_creation_time; - uint64_t builtin_serial_number; - NTTIME builtin_creation_time; - uint64_t lsa_serial_number; - NTTIME lsa_creation_time; - NTSTATUS status; - uint8_t *restart_data;/* [unique,size_is(restart_length)] */ - uint8_t *log_data;/* [unique,size_is(log_length)] */ -}; - -union drsuapi_DsGetNT4ChangeLogInfo { - struct drsuapi_DsGetNT4ChangeLogInfo1 info1;/* [case] */ -}/* [switch_type(uint32)] */; - -enum drsuapi_DsNameStatus -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_NAME_STATUS_OK=(int)(0), - DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=(int)(1), - DRSUAPI_DS_NAME_STATUS_NOT_FOUND=(int)(2), - DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=(int)(3), - DRSUAPI_DS_NAME_STATUS_NO_MAPPING=(int)(4), - DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=(int)(5), - DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=(int)(6), - DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=(int)(7) -} -#else - { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF} -#define DRSUAPI_DS_NAME_STATUS_OK ( 0 ) -#define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 ) -#define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 ) -#define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 ) -#define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 ) -#define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 ) -#define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 ) -#define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 ) -#endif -; - -enum drsuapi_DsNameFlags -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_NAME_FLAG_NO_FLAGS=(int)(0x0), - DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=(int)(0x1), - DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=(int)(0x2), - DRSUAPI_DS_NAME_FLAG_GCVERIFY=(int)(0x4), - DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=(int)(0x8) -} -#else - { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF} -#define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 ) -#define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 ) -#define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 ) -#define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 ) -#define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 ) -#endif -; - -enum drsuapi_DsNameFormat -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_NAME_FORMAT_UNKNOWN=(int)(0), - DRSUAPI_DS_NAME_FORMAT_FQDN_1779=(int)(1), - DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=(int)(2), - DRSUAPI_DS_NAME_FORMAT_DISPLAY=(int)(3), - DRSUAPI_DS_NAME_FORMAT_GUID=(int)(6), - DRSUAPI_DS_NAME_FORMAT_CANONICAL=(int)(7), - DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=(int)(8), - DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=(int)(9), - DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=(int)(10), - DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=(int)(11), - DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=(int)(12) -} -#else - { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF} -#define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 ) -#define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 ) -#define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 ) -#define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 ) -#define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 ) -#define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 ) -#define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 ) -#define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 ) -#define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 ) -#define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 ) -#define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 ) -#endif -; - -struct drsuapi_DsNameString { - const char *str;/* [unique,charset(UTF16)] */ -}; - -struct drsuapi_DsNameRequest1 { - uint32_t codepage; - uint32_t language; - enum drsuapi_DsNameFlags format_flags; - enum drsuapi_DsNameFormat format_offered; - enum drsuapi_DsNameFormat format_desired; - uint32_t count;/* [range(1,10000)] */ - struct drsuapi_DsNameString *names;/* [unique,size_is(count)] */ -}; - -union drsuapi_DsNameRequest { - struct drsuapi_DsNameRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsNameInfo1 { - enum drsuapi_DsNameStatus status; - const char *dns_domain_name;/* [unique,charset(UTF16)] */ - const char *result_name;/* [unique,charset(UTF16)] */ -}; - -struct drsuapi_DsNameCtr1 { - uint32_t count; - struct drsuapi_DsNameInfo1 *array;/* [unique,size_is(count)] */ -}; - -union drsuapi_DsNameCtr { - struct drsuapi_DsNameCtr1 *ctr1;/* [unique,case] */ -}/* [switch_type(uint32)] */; - -enum drsuapi_DsSpnOperation -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_SPN_OPERATION_ADD=(int)(0), - DRSUAPI_DS_SPN_OPERATION_REPLACE=(int)(1), - DRSUAPI_DS_SPN_OPERATION_DELETE=(int)(2) -} -#else - { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF} -#define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 ) -#define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 ) -#define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 ) -#endif -; - -struct drsuapi_DsWriteAccountSpnRequest1 { - enum drsuapi_DsSpnOperation operation; - uint32_t unknown1; - const char *object_dn;/* [unique,charset(UTF16)] */ - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsNameString *spn_names;/* [unique,size_is(count)] */ -}; - -union drsuapi_DsWriteAccountSpnRequest { - struct drsuapi_DsWriteAccountSpnRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsWriteAccountSpnResult1 { - WERROR status; -}; - -union drsuapi_DsWriteAccountSpnResult { - struct drsuapi_DsWriteAccountSpnResult1 res1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsRemoveDSServerRequest1 { - const char *server_dn;/* [unique,charset(UTF16)] */ - const char *domain_dn;/* [unique,charset(UTF16)] */ - uint32_t commit; -}; - -union drsuapi_DsRemoveDSServerRequest { - struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsRemoveDSServerResult1 { - uint32_t last_dc_in_domain; -}; - -union drsuapi_DsRemoveDSServerResult { - struct drsuapi_DsRemoveDSServerResult1 res1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsGetDCInfoRequest1 { - const char *domain_name;/* [unique,charset(UTF16)] */ - int32_t level; -}; - -union drsuapi_DsGetDCInfoRequest { - struct drsuapi_DsGetDCInfoRequest1 req1;/* [case] */ -}/* [switch_type(int32)] */; - -struct drsuapi_DsGetDCInfo1 { - const char *netbios_name;/* [unique,charset(UTF16)] */ - const char *dns_name;/* [unique,charset(UTF16)] */ - const char *site_name;/* [unique,charset(UTF16)] */ - const char *computer_dn;/* [unique,charset(UTF16)] */ - const char *server_dn;/* [unique,charset(UTF16)] */ - uint32_t is_pdc; - uint32_t is_enabled; -}; - -struct drsuapi_DsGetDCInfoCtr1 { - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsGetDCInfo1 *array;/* [unique,size_is(count)] */ -}; - -struct drsuapi_DsGetDCInfo2 { - const char *netbios_name;/* [unique,charset(UTF16)] */ - const char *dns_name;/* [unique,charset(UTF16)] */ - const char *site_name;/* [unique,charset(UTF16)] */ - const char *site_dn;/* [unique,charset(UTF16)] */ - const char *computer_dn;/* [unique,charset(UTF16)] */ - const char *server_dn;/* [unique,charset(UTF16)] */ - const char *ntds_dn;/* [unique,charset(UTF16)] */ - uint32_t is_pdc; - uint32_t is_enabled; - uint32_t is_gc; - struct GUID site_guid; - struct GUID computer_guid; - struct GUID server_guid; - struct GUID ntds_guid; -}; - -struct drsuapi_DsGetDCInfoCtr2 { - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsGetDCInfo2 *array;/* [unique,size_is(count)] */ -}; - -struct drsuapi_DsGetDCInfo3 { - const char *netbios_name;/* [unique,charset(UTF16)] */ - const char *dns_name;/* [unique,charset(UTF16)] */ - const char *site_name;/* [unique,charset(UTF16)] */ - const char *site_dn;/* [unique,charset(UTF16)] */ - const char *computer_dn;/* [unique,charset(UTF16)] */ - const char *server_dn;/* [unique,charset(UTF16)] */ - const char *ntds_dn;/* [unique,charset(UTF16)] */ - uint32_t is_pdc; - uint32_t is_enabled; - uint32_t is_gc; - uint32_t is_rodc; - struct GUID site_guid; - struct GUID computer_guid; - struct GUID server_guid; - struct GUID ntds_guid; -}; - -struct drsuapi_DsGetDCInfoCtr3 { - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */ -}; - -struct drsuapi_DsGetDCConnection01 { - const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */ - uint32_t unknown2; - uint32_t connection_time; - uint32_t unknown4; - uint32_t unknown5; - uint32_t unknown6; - const char *client_account;/* [unique,charset(UTF16)] */ -}; - -struct drsuapi_DsGetDCConnectionCtr01 { - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */ -}; - -enum drsuapi_DsGetDCInfoCtrLevels -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DC_INFO_CTR_1=(int)(1), - DRSUAPI_DC_INFO_CTR_2=(int)(2), - DRSUAPI_DC_INFO_CTR_3=(int)(3), - DRSUAPI_DC_CONNECTION_CTR_01=(int)(-1) -} -#else - { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF} -#define DRSUAPI_DC_INFO_CTR_1 ( 1 ) -#define DRSUAPI_DC_INFO_CTR_2 ( 2 ) -#define DRSUAPI_DC_INFO_CTR_3 ( 3 ) -#define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 ) -#endif -; - -union drsuapi_DsGetDCInfoCtr { - struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */ - struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */ - struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */ - struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */ -}/* [switch_type(int32)] */; - -struct drsuapi_DsReplicaObjectListItem { - struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */ - struct drsuapi_DsReplicaObject object; -}/* [noprint,public] */; - -enum drsuapi_DsAddEntry_DirErr -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DIRERR_OK=(int)(0), - DRSUAPI_DIRERR_ATTRIBUTE=(int)(1), - DRSUAPI_DIRERR_NAME=(int)(2), - DRSUAPI_DIRERR_REFERRAL=(int)(3), - DRSUAPI_DIRERR_SECURITY=(int)(4), - DRSUAPI_DIRERR_SERVICE=(int)(5), - DRSUAPI_DIRERR_UPDATE=(int)(6), - DRSUAPI_DIRERR_SYSTEM=(int)(7) -} -#else - { __donnot_use_enum_drsuapi_DsAddEntry_DirErr=0x7FFFFFFF} -#define DRSUAPI_DIRERR_OK ( 0 ) -#define DRSUAPI_DIRERR_ATTRIBUTE ( 1 ) -#define DRSUAPI_DIRERR_NAME ( 2 ) -#define DRSUAPI_DIRERR_REFERRAL ( 3 ) -#define DRSUAPI_DIRERR_SECURITY ( 4 ) -#define DRSUAPI_DIRERR_SERVICE ( 5 ) -#define DRSUAPI_DIRERR_UPDATE ( 6 ) -#define DRSUAPI_DIRERR_SYSTEM ( 7 ) -#endif -; - -struct drsuapi_DsAddEntryRequest2 { - struct drsuapi_DsReplicaObjectListItem first_object; -}; - -enum drsuapi_SecBufferType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_SECBUFFER_EMPTY=(int)(0x00000000), - DRSUAPI_SECBUFFER_DATA=(int)(0x00000001), - DRSUAPI_SECBUFFER_TOKEN=(int)(0x00000002), - DRSUAPI_SECBUFFER_PKG_PARAMS=(int)(0x00000003), - DRSUAPI_SECBUFFER_MISSING=(int)(0x00000004), - DRSUAPI_SECBUFFER_EXTRA=(int)(0x00000005), - DRSUAPI_SECBUFFER_STREAM_TRAILER=(int)(0x00000006), - DRSUAPI_SECBUFFER_STREAM_HEADER=(int)(0x00000007), - DRSUAPI_SECBUFFER_READONLY=(int)(0x80000000) -} -#else - { __donnot_use_enum_drsuapi_SecBufferType=0x7FFFFFFF} -#define DRSUAPI_SECBUFFER_EMPTY ( 0x00000000 ) -#define DRSUAPI_SECBUFFER_DATA ( 0x00000001 ) -#define DRSUAPI_SECBUFFER_TOKEN ( 0x00000002 ) -#define DRSUAPI_SECBUFFER_PKG_PARAMS ( 0x00000003 ) -#define DRSUAPI_SECBUFFER_MISSING ( 0x00000004 ) -#define DRSUAPI_SECBUFFER_EXTRA ( 0x00000005 ) -#define DRSUAPI_SECBUFFER_STREAM_TRAILER ( 0x00000006 ) -#define DRSUAPI_SECBUFFER_STREAM_HEADER ( 0x00000007 ) -#define DRSUAPI_SECBUFFER_READONLY ( 0x80000000 ) -#endif -; - -struct drsuapi_SecBuffer { - uint32_t buf_size;/* [range(0,10000)] */ - enum drsuapi_SecBufferType buf_type; - uint8_t *buffer;/* [unique,size_is(buf_size)] */ -}; - -struct drsuapi_SecBufferDesc { - uint32_t version;/* [value(0)] */ - uint32_t buff_count;/* [range(0,10000)] */ - struct drsuapi_SecBuffer *buffers;/* [unique,size_is(buff_count)] */ -}; - -struct drsuapi_DsAddEntryRequest3 { - struct drsuapi_DsReplicaObjectListItem first_object; - struct drsuapi_SecBufferDesc *client_creds;/* [unique] */ -}; - -union drsuapi_DsAddEntryRequest { - struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */ - struct drsuapi_DsAddEntryRequest3 req3;/* [case(3)] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsAddEntryErrorInfoX { - uint32_t dsid; - WERROR extended_err; - uint32_t extended_data; - uint16_t problem; -}; - -struct drsuapi_DsAddEntry_AttrErr_V1 { - uint32_t dsid; - WERROR extended_err; - uint32_t extended_data; - uint16_t problem; - enum drsuapi_DsAttributeId attid; - uint32_t is_val_returned; - struct drsuapi_DsAttributeValue attr_val; -}; - -struct drsuapi_DsAddEntry_AttrErrListItem_V1 { - struct drsuapi_DsAddEntry_AttrErrListItem_V1 *next;/* [unique] */ - struct drsuapi_DsAddEntry_AttrErr_V1 err_data; -}/* [noprint] */; - -struct drsuapi_DsAddEntryErrorInfo_Attr_V1 { - struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */ - uint32_t count; - struct drsuapi_DsAddEntry_AttrErrListItem_V1 first; -}; - -struct drsuapi_DsAddEntryErrorInfo_Name_V1 { - uint32_t dsid; - WERROR extended_err; - uint32_t extended_data; - uint16_t problem; - struct drsuapi_DsReplicaObjectIdentifier *id_matched;/* [unique] */ -}; - -struct drsuapi_NameResOp_V1 { - uint8_t name_res;/* [value(83)] */ - uint8_t unused_pad;/* [value(0)] */ - uint16_t next_rdn;/* [value(0)] */ -}; - -enum drsuapi_DsAddEntry_RefType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_CH_REFTYPE_SUPERIOR=(int)(0x0000), - DRSUAPI_CH_REFTYPE_SUBORDINATE=(int)(0x0001), - DRSUAPI_CH_REFTYPE_NSSR=(int)(0x0002), - DRSUAPI_CH_REFTYPE_CROSS=(int)(0x0003) -} -#else - { __donnot_use_enum_drsuapi_DsAddEntry_RefType=0x7FFFFFFF} -#define DRSUAPI_CH_REFTYPE_SUPERIOR ( 0x0000 ) -#define DRSUAPI_CH_REFTYPE_SUBORDINATE ( 0x0001 ) -#define DRSUAPI_CH_REFTYPE_NSSR ( 0x0002 ) -#define DRSUAPI_CH_REFTYPE_CROSS ( 0x0003 ) -#endif -; - -enum drsuapi_DsAddEntry_ChoiceType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_SE_CHOICE_BASE_ONLY=(int)(0x00), - DRSUAPI_SE_CHOICE_IMMED_CHLDRN=(int)(0x01), - DRSUAPI_SE_CHOICE_WHOLE_SUBTREE=(int)(0x02) -} -#else - { __donnot_use_enum_drsuapi_DsAddEntry_ChoiceType=0x7FFFFFFF} -#define DRSUAPI_SE_CHOICE_BASE_ONLY ( 0x00 ) -#define DRSUAPI_SE_CHOICE_IMMED_CHLDRN ( 0x01 ) -#define DRSUAPI_SE_CHOICE_WHOLE_SUBTREE ( 0x02 ) -#endif -; - -struct drsuapi_DsaAddressListItem_V1 { - struct drsuapi_DsaAddressListItem_V1 *next;/* [unique] */ - struct lsa_String *address;/* [unique] */ -}; - -struct drsuapi_DsAddEntry_RefErrListItem_V1 { - struct drsuapi_DsReplicaObjectIdentifier *id_target;/* [unique] */ - struct drsuapi_NameResOp_V1 op_state; - uint16_t rdn_alias;/* [value(0)] */ - uint16_t rdn_internal;/* [value(0)] */ - enum drsuapi_DsAddEntry_RefType ref_type; - uint16_t addr_list_count; - struct drsuapi_DsaAddressListItem_V1 *addr_list;/* [unique] */ - struct drsuapi_DsAddEntry_RefErrListItem_V1 *next;/* [unique] */ - uint32_t is_choice_set; - enum drsuapi_DsAddEntry_ChoiceType choice; -}; - -struct drsuapi_DsAddEntryErrorInfo_Referr_V1 { - uint32_t dsid; - WERROR extended_err; - uint32_t extended_data; - struct drsuapi_DsAddEntry_RefErrListItem_V1 refer; -}; - -union drsuapi_DsAddEntryErrorInfo { - struct drsuapi_DsAddEntryErrorInfo_Attr_V1 attr_err;/* [case] */ - struct drsuapi_DsAddEntryErrorInfo_Name_V1 name_err;/* [case(2)] */ - struct drsuapi_DsAddEntryErrorInfo_Referr_V1 referral_err;/* [case(3)] */ - struct drsuapi_DsAddEntryErrorInfoX security_err;/* [case(4)] */ - struct drsuapi_DsAddEntryErrorInfoX service_err;/* [case(5)] */ - struct drsuapi_DsAddEntryErrorInfoX update_err;/* [case(6)] */ - struct drsuapi_DsAddEntryErrorInfoX system_err;/* [case(7)] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsAddEntry_ErrData_V1 { - WERROR status; - enum drsuapi_DsAddEntry_DirErr dir_err; - union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(dir_err)] */ -}; - -union drsuapi_DsAddEntry_ErrData { - struct drsuapi_DsAddEntry_ErrData_V1 v1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsReplicaObjectIdentifier2 { - struct GUID guid; - struct dom_sid28 sid; -}; - -struct drsuapi_DsAddEntryCtr2 { - struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */ - enum drsuapi_DsAddEntry_DirErr dir_err; - uint32_t dsid; - WERROR extended_err; - uint32_t extended_data; - uint16_t problem; - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */ -}; - -struct drsuapi_DsAddEntryCtr3 { - struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */ - uint32_t err_ver; - union drsuapi_DsAddEntry_ErrData *err_data;/* [unique,switch_is(err_ver)] */ - uint32_t count;/* [range(0,10000)] */ - struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */ -}; - -union drsuapi_DsAddEntryCtr { - struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */ - struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */ -}/* [switch_type(uint32)] */; - -/* bitmap drsuapi_DsExecuteKCCFlags */ -#define DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION ( 0x00000001 ) -#define DRSUAPI_DS_EXECUTE_KCC_DAMPED ( 0x00000002 ) - -struct drsuapi_DsExecuteKCC1 { - uint32_t taskID; - uint32_t flags; -}; - -union drsuapi_DsExecuteKCCRequest { - struct drsuapi_DsExecuteKCC1 ctr1;/* [case] */ -}/* [switch_type(uint32)] */; - -enum drsuapi_DsReplicaGetInfoLevel -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_REPLICA_GET_INFO=(int)(1), - DRSUAPI_DS_REPLICA_GET_INFO2=(int)(2) -} -#else - { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF} -#define DRSUAPI_DS_REPLICA_GET_INFO ( 1 ) -#define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 ) -#endif -; - -enum drsuapi_DsReplicaInfoType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=(int)(0), - DRSUAPI_DS_REPLICA_INFO_CURSORS=(int)(1), - DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=(int)(2), - DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=(int)(3), - DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=(int)(4), - DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=(int)(5), - DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=(int)(6), - DRSUAPI_DS_REPLICA_INFO_CURSORS2=(int)(7), - DRSUAPI_DS_REPLICA_INFO_CURSORS3=(int)(8), - DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=(int)(9), - DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=(int)(10), - DRSUAPI_DS_REPLICA_INFO_REPSTO=(int)(-2), - DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS=(int)(-4), - DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1=(int)(-5), - DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS=(int)(-6) -} -#else - { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF} -#define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 ) -#define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 ) -#define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 ) -#define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 ) -#define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 ) -#define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 ) -#define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 ) -#define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 ) -#define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 ) -#define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 ) -#define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 ) -#define DRSUAPI_DS_REPLICA_INFO_REPSTO ( -2 ) -#define DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS ( -4 ) -#define DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1 ( -5 ) -#define DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS ( -6 ) -#endif -; - -struct drsuapi_DsReplicaGetInfoRequest1 { - enum drsuapi_DsReplicaInfoType info_type; - const char *object_dn;/* [unique,charset(UTF16)] */ - struct GUID source_dsa_guid; -}; - -struct drsuapi_DsReplicaGetInfoRequest2 { - enum drsuapi_DsReplicaInfoType info_type; - const char *object_dn;/* [unique,charset(UTF16)] */ - struct GUID source_dsa_guid; - uint32_t flags; - const char *attribute_name;/* [unique,charset(UTF16)] */ - const char *value_dn_str;/* [unique,charset(UTF16)] */ - uint32_t enumeration_context; -}; - -union drsuapi_DsReplicaGetInfoRequest { - struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */ - struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */ -}/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */; - -struct drsuapi_DsReplicaNeighbour { - const char *naming_context_dn;/* [unique,charset(UTF16)] */ - const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */ - const char *source_dsa_address;/* [unique,charset(UTF16)] */ - const char *transport_obj_dn;/* [unique,charset(UTF16)] */ - uint32_t replica_flags; - uint32_t reserved; - struct GUID naming_context_obj_guid; - struct GUID source_dsa_obj_guid; - struct GUID source_dsa_invocation_id; - struct GUID transport_obj_guid; - uint64_t tmp_highest_usn; - uint64_t highest_usn; - NTTIME last_success; - NTTIME last_attempt; - WERROR result_last_attempt; - uint32_t consecutive_sync_failures; -}; - -struct drsuapi_DsReplicaNeighbourCtr { - uint32_t count; - uint32_t reserved; - struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaCursorCtr { - uint32_t count; - uint32_t reserved; - struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaObjMetaData { - const char *attribute_name;/* [unique,charset(UTF16)] */ - uint32_t version; - NTTIME originating_change_time; - struct GUID originating_invocation_id; - uint64_t originating_usn; - uint64_t local_usn; -}; - -struct drsuapi_DsReplicaObjMetaDataCtr { - uint32_t count; - uint32_t reserved; - struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaKccDsaFailure { - const char *dsa_obj_dn;/* [unique,charset(UTF16)] */ - struct GUID dsa_obj_guid; - NTTIME first_failure; - uint32_t num_failures; - WERROR last_result; -}; - -struct drsuapi_DsReplicaKccDsaFailuresCtr { - uint32_t count; - uint32_t reserved; - struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */ -}; - -enum drsuapi_DsReplicaOpType -#ifndef USE_UINT_ENUMS - { - DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=(int)(0), - DRSUAPI_DS_REPLICA_OP_TYPE_ADD=(int)(1), - DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=(int)(2), - DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=(int)(3), - DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=(int)(4) -} -#else - { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF} -#define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 ) -#define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 ) -#define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 ) -#define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 ) -#define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 ) -#endif -; - -struct drsuapi_DsReplicaOp { - NTTIME operation_start; - uint32_t serial_num; - uint32_t priority; - enum drsuapi_DsReplicaOpType operation_type; - uint32_t options; - const char *nc_dn;/* [unique,charset(UTF16)] */ - const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */ - const char *remote_dsa_address;/* [unique,charset(UTF16)] */ - struct GUID nc_obj_guid; - struct GUID remote_dsa_obj_guid; -}; - -struct drsuapi_DsReplicaOpCtr { - NTTIME time; - uint32_t count; - struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaAttrValMetaData { - const char *attribute_name;/* [unique,charset(UTF16)] */ - const char *object_dn;/* [unique,charset(UTF16)] */ - uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */ - DATA_BLOB *binary;/* [unique] */ - NTTIME deleted; - NTTIME created; - uint32_t version; - NTTIME originating_change_time; - struct GUID originating_invocation_id; - uint64_t originating_usn; - uint64_t local_usn; -}; - -struct drsuapi_DsReplicaAttrValMetaDataCtr { - uint32_t count; - uint32_t enumeration_context; - struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaCursor2Ctr { - uint32_t count; - uint32_t enumeration_context; - struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaCursor3 { - struct GUID source_dsa_invocation_id; - uint64_t highest_usn; - NTTIME last_sync_success; - const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */ -}; - -struct drsuapi_DsReplicaCursor3Ctr { - uint32_t count; - uint32_t enumeration_context; - struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaObjMetaData2 { - const char *attribute_name;/* [unique,charset(UTF16)] */ - uint32_t version; - NTTIME originating_change_time; - struct GUID originating_invocation_id; - uint64_t originating_usn; - uint64_t local_usn; - const char *originating_dsa_dn;/* [unique,charset(UTF16)] */ -}; - -struct drsuapi_DsReplicaObjMetaData2Ctr { - uint32_t count; - uint32_t enumeration_context; - struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaAttrValMetaData2 { - const char *attribute_name;/* [unique,charset(UTF16)] */ - const char *object_dn;/* [unique,charset(UTF16)] */ - uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */ - DATA_BLOB *binary;/* [unique] */ - NTTIME deleted; - NTTIME created; - uint32_t version; - NTTIME originating_change_time; - struct GUID originating_invocation_id; - uint64_t originating_usn; - uint64_t local_usn; - const char *originating_dsa_dn;/* [unique,charset(UTF16)] */ -}; - -struct drsuapi_DsReplicaAttrValMetaData2Ctr { - uint32_t count; - uint32_t enumeration_context; - struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplicaConnection04 { - uint64_t u1; - uint32_t u2; - uint32_t u3; - struct GUID bind_guid; - NTTIME bind_time; - const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */ - uint32_t u5; -}; - -struct drsuapi_DsReplicaConnection04Ctr { - uint32_t count;/* [range(0,10000)] */ - uint32_t reserved; - struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */ -}; - -struct drsuapi_DsReplica06 { - const char *str1;/* [unique,charset(UTF16)] */ - uint32_t u1; - uint32_t u2; - uint32_t u3; - uint32_t u4; - uint32_t u5; - uint64_t u6; - uint32_t u7; -}; - -struct drsuapi_DsReplica06Ctr { - uint32_t count;/* [range(0,256)] */ - uint32_t reserved; - struct drsuapi_DsReplica06 *array;/* [size_is(count)] */ -}; - -union drsuapi_DsReplicaInfo { - struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */ - struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */ - struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */ - struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */ - struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */ - struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */ - struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */ - struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */ - struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */ - struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */ - struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */ - struct drsuapi_DsReplicaNeighbourCtr *repsto;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_REPSTO)] */ - struct drsuapi_DsReplicaConnection04Ctr *clientctx;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS)] */ - struct drsuapi_DsReplicaCursorCtrEx *udv1;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1)] */ - struct drsuapi_DsReplica06Ctr *srvoutgoingcalls;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS)] */ -}/* [switch_type(drsuapi_DsReplicaInfoType)] */; - -struct drsuapi_DsGetMemberships2Ctr1 { - uint32_t num_entries;/* [range(0,10000)] */ - struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */ -}; - -union drsuapi_DsGetMemberships2Ctr { - struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsGetMemberships2Request1 { - uint32_t num_req;/* [range(1,10000)] */ - struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */ -}; - -union drsuapi_DsGetMemberships2Request { - struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_DsSiteCostInfo { - WERROR error_code; - uint32_t site_cost; -}; - -struct drsuapi_QuerySitesByCostCtr1 { - uint32_t num_info;/* [range(0,10000)] */ - struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */ - uint32_t flags_reserved;/* [value(0)] */ -}; - -union drsuapi_QuerySitesByCostCtr { - struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */ -}/* [switch_type(uint32)] */; - -struct drsuapi_QuerySitesByCostRequest1 { - const char *site_from;/* [unique,charset(UTF16)] */ - uint32_t num_req;/* [range(1,10000)] */ - const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */ - uint32_t flags; -}; - -union drsuapi_QuerySitesByCostRequest { - struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */ -}/* [switch_type(uint32)] */; - - -struct drsuapi_DsBind { - struct { - struct GUID *bind_guid;/* [unique] */ - struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */ - } in; - - struct { - struct policy_handle *bind_handle;/* [ref] */ - struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsUnbind { - struct { - struct policy_handle *bind_handle;/* [ref] */ - } in; - - struct { - struct policy_handle *bind_handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsReplicaSync { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsReplicaSyncRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsGetNCChanges { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsReplicaUpdateRefs { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsReplicaAdd { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsReplicaAddRequest req;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsReplicaDel { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsReplicaDelRequest req;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsReplicaMod { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsReplicaModRequest req;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct DRSUAPI_VERIFY_NAMES { - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsGetMemberships { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct DRSUAPI_INTER_DOMAIN_MOVE { - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsGetNT4ChangeLog { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsCrackNames { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsWriteAccountSpn { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsRemoveDSServer { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct DRSUAPI_REMOVE_DS_DOMAIN { - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsGetDomainControllerInfo { - struct { - struct policy_handle *bind_handle;/* [ref] */ - int32_t level; - union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - int32_t *level_out;/* [ref] */ - union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsAddEntry { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct drsuapi_DsExecuteKCC { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsExecuteKCCRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsReplicaGetInfo { - struct { - struct policy_handle *bind_handle;/* [ref] */ - enum drsuapi_DsReplicaGetInfoLevel level; - union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */ - union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */ - WERROR result; - } out; - -}; - - -struct DRSUAPI_ADD_SID_HISTORY { - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_DsGetMemberships2 { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - - -struct DRSUAPI_REPLICA_VERIFY_OBJECTS { - struct { - WERROR result; - } out; - -}; - - -struct DRSUAPI_GET_OBJECT_EXISTENCE { - struct { - WERROR result; - } out; - -}; - - -struct drsuapi_QuerySitesByCost { - struct { - struct policy_handle *bind_handle;/* [ref] */ - uint32_t level; - union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */ - WERROR result; - } out; - -}; - -#endif /* _HEADER_drsuapi */ diff --git a/librpc/gen_ndr/dssetup.h b/librpc/gen_ndr/dssetup.h deleted file mode 100644 index f1d1332c6a2..00000000000 --- a/librpc/gen_ndr/dssetup.h +++ /dev/null @@ -1,213 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#ifndef _HEADER_dssetup -#define _HEADER_dssetup - -enum dssetup_DsRole -#ifndef USE_UINT_ENUMS - { - DS_ROLE_STANDALONE_WORKSTATION=(int)(0), - DS_ROLE_MEMBER_WORKSTATION=(int)(1), - DS_ROLE_STANDALONE_SERVER=(int)(2), - DS_ROLE_MEMBER_SERVER=(int)(3), - DS_ROLE_BACKUP_DC=(int)(4), - DS_ROLE_PRIMARY_DC=(int)(5) -} -#else - { __donnot_use_enum_dssetup_DsRole=0x7FFFFFFF} -#define DS_ROLE_STANDALONE_WORKSTATION ( 0 ) -#define DS_ROLE_MEMBER_WORKSTATION ( 1 ) -#define DS_ROLE_STANDALONE_SERVER ( 2 ) -#define DS_ROLE_MEMBER_SERVER ( 3 ) -#define DS_ROLE_BACKUP_DC ( 4 ) -#define DS_ROLE_PRIMARY_DC ( 5 ) -#endif -; - -/* bitmap dssetup_DsRoleFlags */ -#define DS_ROLE_PRIMARY_DS_RUNNING ( 0x00000001 ) -#define DS_ROLE_PRIMARY_DS_MIXED_MODE ( 0x00000002 ) -#define DS_ROLE_UPGRADE_IN_PROGRESS ( 0x00000004 ) -#define DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT ( 0x01000000 ) - -struct dssetup_DsRolePrimaryDomInfoBasic { - enum dssetup_DsRole role; - uint32_t flags; - const char *domain;/* [unique,charset(UTF16)] */ - const char *dns_domain;/* [unique,charset(UTF16)] */ - const char *forest;/* [unique,charset(UTF16)] */ - struct GUID domain_guid; -}; - -enum dssetup_DsUpgrade -#ifndef USE_UINT_ENUMS - { - DS_ROLE_NOT_UPGRADING=(int)(0), - DS_ROLE_UPGRADING=(int)(1) -} -#else - { __donnot_use_enum_dssetup_DsUpgrade=0x7FFFFFFF} -#define DS_ROLE_NOT_UPGRADING ( 0 ) -#define DS_ROLE_UPGRADING ( 1 ) -#endif -; - -enum dssetup_DsPrevious -#ifndef USE_UINT_ENUMS - { - DS_ROLE_PREVIOUS_UNKNOWN=(int)(0), - DS_ROLE_PREVIOUS_PRIMARY=(int)(1), - DS_ROLE_PREVIOUS_BACKUP=(int)(2) -} -#else - { __donnot_use_enum_dssetup_DsPrevious=0x7FFFFFFF} -#define DS_ROLE_PREVIOUS_UNKNOWN ( 0 ) -#define DS_ROLE_PREVIOUS_PRIMARY ( 1 ) -#define DS_ROLE_PREVIOUS_BACKUP ( 2 ) -#endif -; - -struct dssetup_DsRoleUpgradeStatus { - enum dssetup_DsUpgrade upgrading; - enum dssetup_DsPrevious previous_role; -}; - -enum dssetup_DsRoleOp -#ifndef USE_UINT_ENUMS - { - DS_ROLE_OP_IDLE=(int)(0), - DS_ROLE_OP_ACTIVE=(int)(1), - DS_ROLE_OP_NEEDS_REBOOT=(int)(2) -} -#else - { __donnot_use_enum_dssetup_DsRoleOp=0x7FFFFFFF} -#define DS_ROLE_OP_IDLE ( 0 ) -#define DS_ROLE_OP_ACTIVE ( 1 ) -#define DS_ROLE_OP_NEEDS_REBOOT ( 2 ) -#endif -; - -struct dssetup_DsRoleOpStatus { - enum dssetup_DsRoleOp status; -}; - -enum dssetup_DsRoleInfoLevel -#ifndef USE_UINT_ENUMS - { - DS_ROLE_BASIC_INFORMATION=(int)(1), - DS_ROLE_UPGRADE_STATUS=(int)(2), - DS_ROLE_OP_STATUS=(int)(3) -} -#else - { __donnot_use_enum_dssetup_DsRoleInfoLevel=0x7FFFFFFF} -#define DS_ROLE_BASIC_INFORMATION ( 1 ) -#define DS_ROLE_UPGRADE_STATUS ( 2 ) -#define DS_ROLE_OP_STATUS ( 3 ) -#endif -; - -union dssetup_DsRoleInfo { - struct dssetup_DsRolePrimaryDomInfoBasic basic;/* [case(DS_ROLE_BASIC_INFORMATION)] */ - struct dssetup_DsRoleUpgradeStatus upgrade;/* [case(DS_ROLE_UPGRADE_STATUS)] */ - struct dssetup_DsRoleOpStatus opstatus;/* [case(DS_ROLE_OP_STATUS)] */ -}/* [switch_type(dssetup_DsRoleInfoLevel)] */; - - -struct dssetup_DsRoleGetPrimaryDomainInformation { - struct { - enum dssetup_DsRoleInfoLevel level; - } in; - - struct { - union dssetup_DsRoleInfo *info;/* [unique,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleDnsNameToFlatName { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleDcAsDc { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleDcAsReplica { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleDemoteDc { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleGetDcOperationProgress { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleGetDcOperationResults { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleCancel { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleServerSaveStateForUpgrade { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleUpgradeDownlevelServer { - struct { - WERROR result; - } out; - -}; - - -struct dssetup_DsRoleAbortDownlevelServerUpgrade { - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_dssetup */ diff --git a/librpc/gen_ndr/echo.h b/librpc/gen_ndr/echo.h deleted file mode 100644 index 53c6ee73f74..00000000000 --- a/librpc/gen_ndr/echo.h +++ /dev/null @@ -1,215 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#ifndef _HEADER_rpcecho -#define _HEADER_rpcecho - -struct echo_info1 { - uint8_t v; -}/* [public] */; - -struct echo_info2 { - uint16_t v; -}; - -struct echo_info3 { - uint32_t v; -}; - -struct echo_info4 { - uint64_t v; -}; - -struct echo_info5 { - uint8_t v1; - uint64_t v2; -}; - -struct echo_info6 { - uint8_t v1; - struct echo_info1 info1; -}; - -struct echo_info7 { - uint8_t v1; - struct echo_info4 info4; -}; - -union echo_Info { - struct echo_info1 info1;/* [case] */ - struct echo_info2 info2;/* [case(2)] */ - struct echo_info3 info3;/* [case(3)] */ - struct echo_info4 info4;/* [case(4)] */ - struct echo_info5 info5;/* [case(5)] */ - struct echo_info6 info6;/* [case(6)] */ - struct echo_info7 info7;/* [case(7)] */ -}/* [switch_type(uint16)] */; - -enum echo_Enum1 -#ifndef USE_UINT_ENUMS - { - ECHO_ENUM1=(int)(1), - ECHO_ENUM2=(int)(2) -} -#else - { __donnot_use_enum_echo_Enum1=0x7FFFFFFF} -#define ECHO_ENUM1 ( 1 ) -#define ECHO_ENUM2 ( 2 ) -#endif -; - -enum echo_Enum1_32 -#ifndef USE_UINT_ENUMS - { - ECHO_ENUM1_32=(int)(1), - ECHO_ENUM2_32=(int)(2) -} -#else - { __donnot_use_enum_echo_Enum1_32=0x7FFFFFFF} -#define ECHO_ENUM1_32 ( 1 ) -#define ECHO_ENUM2_32 ( 2 ) -#endif -; - -struct echo_Enum2 { - enum echo_Enum1 e1; - enum echo_Enum1_32 e2; -}; - -union echo_Enum3 { - enum echo_Enum1 e1;/* [case(ECHO_ENUM1)] */ - struct echo_Enum2 e2;/* [case(ECHO_ENUM2)] */ -}/* [switch_type(uint16)] */; - -struct echo_Surrounding { - uint32_t x; - uint16_t *surrounding;/* [size_is(x)] */ -}; - - -struct echo_AddOne { - struct { - uint32_t in_data; - } in; - - struct { - uint32_t *out_data;/* [ref] */ - } out; - -}; - - -struct echo_EchoData { - struct { - uint32_t len; - uint8_t *in_data;/* [size_is(len)] */ - } in; - - struct { - uint8_t *out_data;/* [size_is(len)] */ - } out; - -}; - - -struct echo_SinkData { - struct { - uint32_t len; - uint8_t *data;/* [size_is(len)] */ - } in; - -}; - - -struct echo_SourceData { - struct { - uint32_t len; - } in; - - struct { - uint8_t *data;/* [size_is(len)] */ - } out; - -}; - - -struct echo_TestCall { - struct { - const char *s1;/* [ref,charset(UTF16)] */ - } in; - - struct { - const char **s2;/* [ref,charset(UTF16)] */ - } out; - -}; - - -struct echo_TestCall2 { - struct { - uint16_t level; - } in; - - struct { - union echo_Info *info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct echo_TestSleep { - struct { - uint32_t seconds; - } in; - - struct { - uint32_t result; - } out; - -}; - - -struct echo_TestEnum { - struct { - enum echo_Enum1 *foo1;/* [ref] */ - struct echo_Enum2 *foo2;/* [ref] */ - union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */ - } in; - - struct { - enum echo_Enum1 *foo1;/* [ref] */ - struct echo_Enum2 *foo2;/* [ref] */ - union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */ - } out; - -}; - - -struct echo_TestSurrounding { - struct { - struct echo_Surrounding *data;/* [ref] */ - } in; - - struct { - struct echo_Surrounding *data;/* [ref] */ - } out; - -}; - - -struct echo_TestDoublePointer { - struct { - uint16_t ***data;/* [ref] */ - } in; - - struct { - uint16_t result; - } out; - -}; - -#endif /* _HEADER_rpcecho */ diff --git a/librpc/gen_ndr/epmapper.h b/librpc/gen_ndr/epmapper.h deleted file mode 100644 index 3d004116554..00000000000 --- a/librpc/gen_ndr/epmapper.h +++ /dev/null @@ -1,359 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#ifndef _HEADER_epmapper -#define _HEADER_epmapper - -#define EPMAPPER_STATUS_NO_MORE_ENTRIES ( 0x16c9a0d6 ) -#define EPMAPPER_STATUS_NO_MEMORY ( 0x16C9A012 ) -#define EPMAPPER_STATUS_OK ( 0 ) -enum epm_protocol -#ifndef USE_UINT_ENUMS - { - EPM_PROTOCOL_DNET_NSP=(int)(0x04), - EPM_PROTOCOL_OSI_TP4=(int)(0x05), - EPM_PROTOCOL_OSI_CLNS=(int)(0x06), - EPM_PROTOCOL_TCP=(int)(0x07), - EPM_PROTOCOL_UDP=(int)(0x08), - EPM_PROTOCOL_IP=(int)(0x09), - EPM_PROTOCOL_NCADG=(int)(0x0a), - EPM_PROTOCOL_NCACN=(int)(0x0b), - EPM_PROTOCOL_NCALRPC=(int)(0x0c), - EPM_PROTOCOL_UUID=(int)(0x0d), - EPM_PROTOCOL_IPX=(int)(0x0e), - EPM_PROTOCOL_SMB=(int)(0x0f), - EPM_PROTOCOL_NAMED_PIPE=(int)(0x10), - EPM_PROTOCOL_NETBIOS=(int)(0x11), - EPM_PROTOCOL_NETBEUI=(int)(0x12), - EPM_PROTOCOL_SPX=(int)(0x13), - EPM_PROTOCOL_NB_IPX=(int)(0x14), - EPM_PROTOCOL_DSP=(int)(0x16), - EPM_PROTOCOL_DDP=(int)(0x17), - EPM_PROTOCOL_APPLETALK=(int)(0x18), - EPM_PROTOCOL_VINES_SPP=(int)(0x1a), - EPM_PROTOCOL_VINES_IPC=(int)(0x1b), - EPM_PROTOCOL_STREETTALK=(int)(0x1c), - EPM_PROTOCOL_HTTP=(int)(0x1f), - EPM_PROTOCOL_UNIX_DS=(int)(0x20), - EPM_PROTOCOL_NULL=(int)(0x21) -} -#else - { __donnot_use_enum_epm_protocol=0x7FFFFFFF} -#define EPM_PROTOCOL_DNET_NSP ( 0x04 ) -#define EPM_PROTOCOL_OSI_TP4 ( 0x05 ) -#define EPM_PROTOCOL_OSI_CLNS ( 0x06 ) -#define EPM_PROTOCOL_TCP ( 0x07 ) -#define EPM_PROTOCOL_UDP ( 0x08 ) -#define EPM_PROTOCOL_IP ( 0x09 ) -#define EPM_PROTOCOL_NCADG ( 0x0a ) -#define EPM_PROTOCOL_NCACN ( 0x0b ) -#define EPM_PROTOCOL_NCALRPC ( 0x0c ) -#define EPM_PROTOCOL_UUID ( 0x0d ) -#define EPM_PROTOCOL_IPX ( 0x0e ) -#define EPM_PROTOCOL_SMB ( 0x0f ) -#define EPM_PROTOCOL_NAMED_PIPE ( 0x10 ) -#define EPM_PROTOCOL_NETBIOS ( 0x11 ) -#define EPM_PROTOCOL_NETBEUI ( 0x12 ) -#define EPM_PROTOCOL_SPX ( 0x13 ) -#define EPM_PROTOCOL_NB_IPX ( 0x14 ) -#define EPM_PROTOCOL_DSP ( 0x16 ) -#define EPM_PROTOCOL_DDP ( 0x17 ) -#define EPM_PROTOCOL_APPLETALK ( 0x18 ) -#define EPM_PROTOCOL_VINES_SPP ( 0x1a ) -#define EPM_PROTOCOL_VINES_IPC ( 0x1b ) -#define EPM_PROTOCOL_STREETTALK ( 0x1c ) -#define EPM_PROTOCOL_HTTP ( 0x1f ) -#define EPM_PROTOCOL_UNIX_DS ( 0x20 ) -#define EPM_PROTOCOL_NULL ( 0x21 ) -#endif -; - -struct epm_rhs_dnet_nsp { - char _empty_; -}; - -struct epm_rhs_osi_tp4 { - char _empty_; -}; - -struct epm_rhs_osi_clns { - char _empty_; -}; - -struct epm_rhs_udp { - uint16_t port; -}; - -struct epm_rhs_tcp { - uint16_t port; -}; - -struct epm_rhs_ip { - const char * ipaddr; -}; - -struct epm_rhs_ncadg { - uint16_t minor_version; -}; - -struct epm_rhs_ncacn { - uint16_t minor_version; -}; - -struct epm_rhs_uuid { - DATA_BLOB unknown;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -struct epm_rhs_ipx { - char _empty_; -}; - -struct epm_rhs_smb { - const char * unc;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct epm_rhs_named_pipe { - const char * path;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct epm_rhs_netbios { - const char * name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct epm_rhs_netbeui { - char _empty_; -}; - -struct epm_rhs_spx { - char _empty_; -}; - -struct epm_rhs_nb_ipx { - char _empty_; -}; - -struct epm_rhs_http { - uint16_t port; -}; - -struct epm_rhs_unix_ds { - const char * path;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct epm_rhs_null { - char _empty_; -}; - -struct epm_rhs_ncalrpc { - uint16_t minor_version; -}; - -struct epm_rhs_appletalk { - char _empty_; -}; - -struct epm_rhs_atalk_stream { - char _empty_; -}; - -struct epm_rhs_atalk_datagram { - char _empty_; -}; - -struct epm_rhs_vines_spp { - uint16_t port; -}; - -struct epm_rhs_vines_ipc { - uint16_t port; -}; - -struct epm_rhs_streettalk { - const char * streettalk;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -union epm_rhs { - struct epm_rhs_dnet_nsp dnet_nsp;/* [case(EPM_PROTOCOL_DNET_NSP)] */ - struct epm_rhs_osi_tp4 osi_tp4;/* [case(EPM_PROTOCOL_OSI_TP4)] */ - struct epm_rhs_osi_clns osi_clns;/* [case(EPM_PROTOCOL_OSI_CLNS)] */ - struct epm_rhs_tcp tcp;/* [case(EPM_PROTOCOL_TCP)] */ - struct epm_rhs_udp udp;/* [case(EPM_PROTOCOL_UDP)] */ - struct epm_rhs_ip ip;/* [case(EPM_PROTOCOL_IP)] */ - struct epm_rhs_ncadg ncadg;/* [case(EPM_PROTOCOL_NCADG)] */ - struct epm_rhs_ncacn ncacn;/* [case(EPM_PROTOCOL_NCACN)] */ - struct epm_rhs_ncalrpc ncalrpc;/* [case(EPM_PROTOCOL_NCALRPC)] */ - struct epm_rhs_uuid uuid;/* [case(EPM_PROTOCOL_UUID)] */ - struct epm_rhs_ipx ipx;/* [case(EPM_PROTOCOL_IPX)] */ - struct epm_rhs_smb smb;/* [case(EPM_PROTOCOL_SMB)] */ - struct epm_rhs_named_pipe named_pipe;/* [case(EPM_PROTOCOL_NAMED_PIPE)] */ - struct epm_rhs_netbios netbios;/* [case(EPM_PROTOCOL_NETBIOS)] */ - struct epm_rhs_netbeui netbeui;/* [case(EPM_PROTOCOL_NETBEUI)] */ - struct epm_rhs_spx spx;/* [case(EPM_PROTOCOL_SPX)] */ - struct epm_rhs_nb_ipx nb_ipx;/* [case(EPM_PROTOCOL_NB_IPX)] */ - struct epm_rhs_atalk_stream atalk_stream;/* [case(EPM_PROTOCOL_DSP)] */ - struct epm_rhs_atalk_datagram atalk_datagram;/* [case(EPM_PROTOCOL_DDP)] */ - struct epm_rhs_appletalk appletalk;/* [case(EPM_PROTOCOL_APPLETALK)] */ - struct epm_rhs_vines_spp vines_spp;/* [case(EPM_PROTOCOL_VINES_SPP)] */ - struct epm_rhs_vines_ipc vines_ipc;/* [case(EPM_PROTOCOL_VINES_IPC)] */ - struct epm_rhs_streettalk streettalk;/* [case(EPM_PROTOCOL_STREETTALK)] */ - struct epm_rhs_http http;/* [case(EPM_PROTOCOL_HTTP)] */ - struct epm_rhs_unix_ds unix_ds;/* [case(EPM_PROTOCOL_UNIX_DS)] */ - struct epm_rhs_null null;/* [case(EPM_PROTOCOL_NULL)] */ - DATA_BLOB unknown;/* [default,flag(LIBNDR_FLAG_REMAINING)] */ -}/* [nodiscriminant,flag(LIBNDR_FLAG_BIGENDIAN)] */; - -struct epm_lhs { - enum epm_protocol protocol; - DATA_BLOB lhs_data;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -struct epm_floor { - struct epm_lhs lhs;/* [subcontext(2)] */ - union epm_rhs rhs;/* [subcontext(2),switch_is(lhs.protocol)] */ -}; - -struct epm_tower { - uint16_t num_floors; - struct epm_floor *floors; -}/* [gensize,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN)] */; - -struct epm_twr_t { - uint32_t tower_length;/* [value(ndr_size_epm_tower(&tower,ndr->iconv_convenience,ndr->flags))] */ - struct epm_tower tower;/* [subcontext(4)] */ -}; - -struct epm_entry_t { - struct GUID object; - struct epm_twr_t *tower;/* [ptr] */ - uint32_t __annotation_offset;/* [value(0)] */ - uint32_t __annotation_length;/* [value(strlen(annotation)+1)] */ - const char *annotation;/* [charset(DOS)] */ -}; - -struct rpc_if_id_t { - struct GUID uuid; - uint16_t vers_major; - uint16_t vers_minor; -}; - -struct epm_twr_p_t { - struct epm_twr_t *twr;/* [ptr] */ -}; - - -struct epm_Insert { - struct { - uint32_t num_ents; - struct epm_entry_t *entries;/* [size_is(num_ents)] */ - uint32_t replace; - } in; - - struct { - uint32_t result; - } out; - -}; - - -struct epm_Delete { - struct { - uint32_t num_ents; - struct epm_entry_t *entries;/* [size_is(num_ents)] */ - } in; - - struct { - uint32_t result; - } out; - -}; - - -struct epm_Lookup { - struct { - uint32_t inquiry_type; - struct GUID *object;/* [ptr] */ - struct rpc_if_id_t *interface_id;/* [ptr] */ - uint32_t vers_option; - uint32_t max_ents; - struct policy_handle *entry_handle;/* [ref] */ - } in; - - struct { - uint32_t *num_ents;/* [ref] */ - struct epm_entry_t *entries;/* [length_is(*num_ents),size_is(max_ents)] */ - struct policy_handle *entry_handle;/* [ref] */ - uint32_t result; - } out; - -}; - - -struct epm_Map { - struct { - struct GUID *object;/* [ptr] */ - struct epm_twr_t *map_tower;/* [ptr] */ - uint32_t max_towers; - struct policy_handle *entry_handle;/* [ref] */ - } in; - - struct { - uint32_t *num_towers;/* [ref] */ - struct epm_twr_p_t *towers;/* [length_is(*num_towers),size_is(max_towers)] */ - struct policy_handle *entry_handle;/* [ref] */ - uint32_t result; - } out; - -}; - - -struct epm_LookupHandleFree { - struct { - struct policy_handle *entry_handle;/* [ref] */ - } in; - - struct { - struct policy_handle *entry_handle;/* [ref] */ - uint32_t result; - } out; - -}; - - -struct epm_InqObject { - struct { - struct GUID *epm_object;/* [ref] */ - } in; - - struct { - uint32_t result; - } out; - -}; - - -struct epm_MgmtDelete { - struct { - uint32_t object_speced; - struct GUID *object;/* [ptr] */ - struct epm_twr_t *tower;/* [ptr] */ - } in; - - struct { - uint32_t result; - } out; - -}; - - -struct epm_MapAuth { - struct { - uint32_t result; - } out; - -}; - -#endif /* _HEADER_epmapper */ diff --git a/librpc/gen_ndr/eventlog.h b/librpc/gen_ndr/eventlog.h deleted file mode 100644 index dc2e8770299..00000000000 --- a/librpc/gen_ndr/eventlog.h +++ /dev/null @@ -1,471 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/lsa.h" -#include "librpc/gen_ndr/security.h" -#ifndef _HEADER_eventlog -#define _HEADER_eventlog - -/* bitmap eventlogReadFlags */ -#define EVENTLOG_SEQUENTIAL_READ ( 0x0001 ) -#define EVENTLOG_SEEK_READ ( 0x0002 ) -#define EVENTLOG_FORWARDS_READ ( 0x0004 ) -#define EVENTLOG_BACKWARDS_READ ( 0x0008 ) - -enum eventlogEventTypes -#ifndef USE_UINT_ENUMS - { - EVENTLOG_SUCCESS=(int)(0x0000), - EVENTLOG_ERROR_TYPE=(int)(0x0001), - EVENTLOG_WARNING_TYPE=(int)(0x0002), - EVENTLOG_INFORMATION_TYPE=(int)(0x0004), - EVENTLOG_AUDIT_SUCCESS=(int)(0x0008), - EVENTLOG_AUDIT_FAILURE=(int)(0x0010) -} -#else - { __donnot_use_enum_eventlogEventTypes=0x7FFFFFFF} -#define EVENTLOG_SUCCESS ( 0x0000 ) -#define EVENTLOG_ERROR_TYPE ( 0x0001 ) -#define EVENTLOG_WARNING_TYPE ( 0x0002 ) -#define EVENTLOG_INFORMATION_TYPE ( 0x0004 ) -#define EVENTLOG_AUDIT_SUCCESS ( 0x0008 ) -#define EVENTLOG_AUDIT_FAILURE ( 0x0010 ) -#endif -; - -struct eventlog_OpenUnknown0 { - uint16_t unknown0; - uint16_t unknown1; -}; - -struct eventlog_Record_tdb { - uint32_t size; - const char *reserved;/* [value("eLfL"),charset(DOS)] */ - uint32_t record_number; - time_t time_generated; - time_t time_written; - uint32_t event_id; - enum eventlogEventTypes event_type; - uint16_t num_of_strings;/* [range(0,256)] */ - uint16_t event_category; - uint16_t reserved_flags; - uint32_t closing_record_number; - uint32_t stringoffset; - uint32_t sid_length;/* [value(sid.length)] */ - uint32_t sid_offset; - uint32_t data_length;/* [value(data.length)] */ - uint32_t data_offset; - uint32_t source_name_len;/* [value(2*strlen_m_term(source_name))] */ - const char * source_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t computer_name_len;/* [value(2*strlen_m_term(computer_name))] */ - const char * computer_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t sid_padding; - DATA_BLOB sid; - uint32_t strings_len;/* [value(2*ndr_size_string_array(strings,num_of_strings,LIBNDR_FLAG_STR_NULLTERM))] */ - const char * *strings;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB data; - uint32_t padding; -}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_PRINT_ARRAY_HEX)] */; - -enum EVENTLOG_HEADER_FLAGS -#ifndef USE_UINT_ENUMS - { - ELF_LOGFILE_HEADER_DIRTY=(int)(0x0001), - ELF_LOGFILE_HEADER_WRAP=(int)(0x0002), - ELF_LOGFILE_LOGFULL_WRITTEN=(int)(0x0004), - ELF_LOGFILE_ARCHIVE_SET=(int)(0x0008) -} -#else - { __donnot_use_enum_EVENTLOG_HEADER_FLAGS=0x7FFFFFFF} -#define ELF_LOGFILE_HEADER_DIRTY ( 0x0001 ) -#define ELF_LOGFILE_HEADER_WRAP ( 0x0002 ) -#define ELF_LOGFILE_LOGFULL_WRITTEN ( 0x0004 ) -#define ELF_LOGFILE_ARCHIVE_SET ( 0x0008 ) -#endif -; - -struct EVENTLOGHEADER { - uint32_t HeaderSize;/* [value(0x30)] */ - const char *Signature;/* [value("LfLe"),charset(DOS)] */ - uint32_t MajorVersion;/* [value] */ - uint32_t MinorVersion;/* [value] */ - uint32_t StartOffset; - uint32_t EndOffset; - uint32_t CurrentRecordNumber; - uint32_t OldestRecordNumber; - uint32_t MaxSize; - enum EVENTLOG_HEADER_FLAGS Flags; - uint32_t Retention; - uint32_t EndHeaderSize;/* [value(0x30)] */ -}/* [public] */; - -struct EVENTLOGRECORD { - uint32_t Length; - const char *Reserved;/* [value("LfLe"),charset(DOS)] */ - uint32_t RecordNumber; - time_t TimeGenerated; - time_t TimeWritten; - uint32_t EventID; - enum eventlogEventTypes EventType; - uint16_t NumStrings; - uint16_t EventCategory; - uint16_t ReservedFlags; - uint32_t ClosingRecordNumber; - uint32_t StringOffset;/* [value(56+2*(strlen_m_term(SourceName)+strlen_m_term(Computername))+UserSidLength)] */ - uint32_t UserSidLength;/* [value(ndr_size_dom_sid0(&UserSid,ndr->flags))] */ - uint32_t UserSidOffset;/* [value(56+2*(strlen_m_term(SourceName)+strlen_m_term(Computername)))] */ - uint32_t DataLength; - uint32_t DataOffset;/* [value(56+2*(strlen_m_term(SourceName)+strlen_m_term(Computername))+UserSidLength+(2*ndr_size_string_array(Strings,NumStrings,LIBNDR_FLAG_STR_NULLTERM)))] */ - const char * SourceName;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * Computername;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct dom_sid0 UserSid;/* [subcontext_size(UserSidLength),subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - const char * *Strings;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint8_t *Data;/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */ - const char * Pad;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t Length2;/* [value(Length)] */ -}/* [gensize,public] */; - -struct EVENTLOGEOF { - uint32_t RecordSizeBeginning;/* [value(0x28)] */ - uint32_t One;/* [value(0x11111111)] */ - uint32_t Two;/* [value(0x22222222)] */ - uint32_t Three;/* [value(0x33333333)] */ - uint32_t Four;/* [value(0x44444444)] */ - uint32_t BeginRecord; - uint32_t EndRecord; - uint32_t CurrentRecordNumber; - uint32_t OldestRecordNumber; - uint32_t RecordSizeEnd;/* [value(0x28)] */ -}/* [public] */; - -struct EVENTLOG_EVT_FILE { - struct EVENTLOGHEADER hdr; - struct EVENTLOGRECORD *records; - struct EVENTLOGEOF eof; -}/* [public] */; - -struct EVENTLOG_FULL_INFORMATION { - uint32_t full; -}/* [public] */; - - -struct eventlog_ClearEventLogW { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *backupfile;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_BackupEventLogW { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *backup_filename;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_CloseEventLog { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_DeregisterEventSource { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_GetNumRecords { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - uint32_t *number;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_GetOldestRecord { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - uint32_t *oldest_entry;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_ChangeNotify { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_OpenEventLogW { - struct { - struct eventlog_OpenUnknown0 *unknown0;/* [unique] */ - struct lsa_String *logname;/* [ref] */ - struct lsa_String *servername;/* [ref] */ - uint32_t major_version; - uint32_t minor_version; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_RegisterEventSourceW { - struct { - struct eventlog_OpenUnknown0 *unknown0;/* [unique] */ - struct lsa_String *module_name;/* [ref] */ - struct lsa_String *reg_module_name;/* [ref] */ - uint32_t major_version; - uint32_t minor_version; - } in; - - struct { - struct policy_handle *log_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_OpenBackupEventLogW { - struct { - struct eventlog_OpenUnknown0 *unknown0;/* [unique] */ - struct lsa_String *backup_logname;/* [ref] */ - uint32_t major_version; - uint32_t minor_version; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_ReadEventLogW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t flags; - uint32_t offset; - uint32_t number_of_bytes;/* [range(0,0x7FFFF)] */ - } in; - - struct { - uint8_t *data;/* [ref,size_is(number_of_bytes)] */ - uint32_t *sent_size;/* [ref] */ - uint32_t *real_size;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_ReportEventW { - struct { - struct policy_handle *handle;/* [ref] */ - time_t timestamp; - enum eventlogEventTypes event_type; - uint16_t event_category; - uint32_t event_id; - uint16_t num_of_strings;/* [range(0,256)] */ - uint32_t data_size;/* [range(0,0x3FFFF)] */ - struct lsa_String *servername;/* [ref] */ - struct dom_sid *user_sid;/* [unique] */ - struct lsa_String **strings;/* [unique,size_is(num_of_strings)] */ - uint8_t *data;/* [unique,size_is(data_size)] */ - uint16_t flags; - uint32_t *record_number;/* [unique] */ - time_t *time_written;/* [unique] */ - } in; - - struct { - uint32_t *record_number;/* [unique] */ - time_t *time_written;/* [unique] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_ClearEventLogA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_BackupEventLogA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_OpenEventLogA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_RegisterEventSourceA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_OpenBackupEventLogA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_ReadEventLogA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_ReportEventA { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_RegisterClusterSvc { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_DeregisterClusterSvc { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_WriteClusterEvents { - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_GetLogInformation { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - uint32_t buf_size;/* [range(0,1024)] */ - } in; - - struct { - uint8_t *buffer;/* [ref,size_is(buf_size)] */ - uint32_t *bytes_needed;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct eventlog_FlushEventLog { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct eventlog_ReportEventAndSourceW { - struct { - struct policy_handle *handle;/* [ref] */ - time_t timestamp; - enum eventlogEventTypes event_type; - uint16_t event_category; - uint32_t event_id; - struct lsa_String *sourcename;/* [ref] */ - uint16_t num_of_strings;/* [range(0,256)] */ - uint32_t data_size;/* [range(0,0x3FFFF)] */ - struct lsa_String *servername;/* [ref] */ - struct dom_sid *user_sid;/* [unique] */ - struct lsa_String **strings;/* [unique,size_is(num_of_strings)] */ - uint8_t *data;/* [unique,size_is(data_size)] */ - uint16_t flags; - uint32_t *record_number;/* [unique] */ - time_t *time_written;/* [unique] */ - } in; - - struct { - uint32_t *record_number;/* [unique] */ - time_t *time_written;/* [unique] */ - NTSTATUS result; - } out; - -}; - -#endif /* _HEADER_eventlog */ diff --git a/librpc/gen_ndr/initshutdown.h b/librpc/gen_ndr/initshutdown.h deleted file mode 100644 index 41fb62c18a6..00000000000 --- a/librpc/gen_ndr/initshutdown.h +++ /dev/null @@ -1,148 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/lsa.h" -#ifndef _HEADER_initshutdown -#define _HEADER_initshutdown - -enum initshutdown_ReasonMajor -#ifndef USE_UINT_ENUMS - { - SHTDN_REASON_MAJOR_OTHER=(int)(0x00000000), - SHTDN_REASON_MAJOR_HARDWARE=(int)(0x00010000), - SHTDN_REASON_MAJOR_OPERATINGSYSTEM=(int)(0x00020000), - SHTDN_REASON_MAJOR_SOFTWARE=(int)(0x00030000), - SHTDN_REASON_MAJOR_APPLICATION=(int)(0x00040000), - SHTDN_REASON_MAJOR_SYSTEM=(int)(0x00050000), - SHTDN_REASON_MAJOR_POWER=(int)(0x00060000), - SHTDN_REASON_MAJOR_LEGACY_API=(int)(0x00070000) -} -#else - { __donnot_use_enum_initshutdown_ReasonMajor=0x7FFFFFFF} -#define SHTDN_REASON_MAJOR_OTHER ( 0x00000000 ) -#define SHTDN_REASON_MAJOR_HARDWARE ( 0x00010000 ) -#define SHTDN_REASON_MAJOR_OPERATINGSYSTEM ( 0x00020000 ) -#define SHTDN_REASON_MAJOR_SOFTWARE ( 0x00030000 ) -#define SHTDN_REASON_MAJOR_APPLICATION ( 0x00040000 ) -#define SHTDN_REASON_MAJOR_SYSTEM ( 0x00050000 ) -#define SHTDN_REASON_MAJOR_POWER ( 0x00060000 ) -#define SHTDN_REASON_MAJOR_LEGACY_API ( 0x00070000 ) -#endif -; - -enum initshutdown_ReasonMinor -#ifndef USE_UINT_ENUMS - { - SHTDN_REASON_MINOR_OTHER=(int)(0x00000000), - SHTDN_REASON_MINOR_MAINTENANCE=(int)(0x00000001), - SHTDN_REASON_MINOR_INSTALLATION=(int)(0x00000002), - SHTDN_REASON_MINOR_UPGRADE=(int)(0x00000003), - SHTDN_REASON_MINOR_RECONFIG=(int)(0x00000004), - SHTDN_REASON_MINOR_HUNG=(int)(0x00000005), - SHTDN_REASON_MINOR_UNSTABLE=(int)(0x00000006), - SHTDN_REASON_MINOR_DISK=(int)(0x00000007), - SHTDN_REASON_MINOR_PROCESSOR=(int)(0x00000008), - SHTDN_REASON_MINOR_NETWORKCARD=(int)(0x00000009), - SHTDN_REASON_MINOR_POWER_SUPPLY=(int)(0x0000000a), - SHTDN_REASON_MINOR_CORDUNPLUGGED=(int)(0x0000000b), - SHTDN_REASON_MINOR_ENVIRONMENT=(int)(0x0000000c), - SHTDN_REASON_MINOR_HARDWARE_DRIVER=(int)(0x0000000d), - SHTDN_REASON_MINOR_OTHERDRIVER=(int)(0x0000000e), - SHTDN_REASON_MINOR_BLUESCREEN=(int)(0x0000000f), - SHTDN_REASON_MINOR_SERVICEPACK=(int)(0x00000010), - SHTDN_REASON_MINOR_HOTFIX=(int)(0x00000011), - SHTDN_REASON_MINOR_SECURITYFIX=(int)(0x00000012), - SHTDN_REASON_MINOR_SECURITY=(int)(0x00000013), - SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY=(int)(0x00000014), - SHTDN_REASON_MINOR_WMI=(int)(0x00000015), - SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL=(int)(0x00000016), - SHTDN_REASON_MINOR_HOTFIX_UNINSTALL=(int)(0x00000017), - SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL=(int)(0x00000018), - SHTDN_REASON_MINOR_MMC=(int)(0x00000019), - SHTDN_REASON_MINOR_TERMSRV=(int)(0x00000020) -} -#else - { __donnot_use_enum_initshutdown_ReasonMinor=0x7FFFFFFF} -#define SHTDN_REASON_MINOR_OTHER ( 0x00000000 ) -#define SHTDN_REASON_MINOR_MAINTENANCE ( 0x00000001 ) -#define SHTDN_REASON_MINOR_INSTALLATION ( 0x00000002 ) -#define SHTDN_REASON_MINOR_UPGRADE ( 0x00000003 ) -#define SHTDN_REASON_MINOR_RECONFIG ( 0x00000004 ) -#define SHTDN_REASON_MINOR_HUNG ( 0x00000005 ) -#define SHTDN_REASON_MINOR_UNSTABLE ( 0x00000006 ) -#define SHTDN_REASON_MINOR_DISK ( 0x00000007 ) -#define SHTDN_REASON_MINOR_PROCESSOR ( 0x00000008 ) -#define SHTDN_REASON_MINOR_NETWORKCARD ( 0x00000009 ) -#define SHTDN_REASON_MINOR_POWER_SUPPLY ( 0x0000000a ) -#define SHTDN_REASON_MINOR_CORDUNPLUGGED ( 0x0000000b ) -#define SHTDN_REASON_MINOR_ENVIRONMENT ( 0x0000000c ) -#define SHTDN_REASON_MINOR_HARDWARE_DRIVER ( 0x0000000d ) -#define SHTDN_REASON_MINOR_OTHERDRIVER ( 0x0000000e ) -#define SHTDN_REASON_MINOR_BLUESCREEN ( 0x0000000f ) -#define SHTDN_REASON_MINOR_SERVICEPACK ( 0x00000010 ) -#define SHTDN_REASON_MINOR_HOTFIX ( 0x00000011 ) -#define SHTDN_REASON_MINOR_SECURITYFIX ( 0x00000012 ) -#define SHTDN_REASON_MINOR_SECURITY ( 0x00000013 ) -#define SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY ( 0x00000014 ) -#define SHTDN_REASON_MINOR_WMI ( 0x00000015 ) -#define SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL ( 0x00000016 ) -#define SHTDN_REASON_MINOR_HOTFIX_UNINSTALL ( 0x00000017 ) -#define SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL ( 0x00000018 ) -#define SHTDN_REASON_MINOR_MMC ( 0x00000019 ) -#define SHTDN_REASON_MINOR_TERMSRV ( 0x00000020 ) -#endif -; - -/* bitmap initshutdown_ReasonFlags */ -#define SHTDN_REASON_FLAG_USER_DEFINED ( 0x40000000 ) -#define SHTDN_REASON_FLAG_PLANNED ( 0x80000000 ) - - -struct initshutdown_Init { - struct { - uint16_t *hostname;/* [unique] */ - struct lsa_StringLarge *message;/* [unique] */ - uint32_t timeout; - uint8_t force_apps; - uint8_t do_reboot; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct initshutdown_Abort { - struct { - uint16_t *server;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct initshutdown_InitEx { - struct { - uint16_t *hostname;/* [unique] */ - struct lsa_StringLarge *message;/* [unique] */ - uint32_t timeout; - uint8_t force_apps; - uint8_t do_reboot; - uint32_t reason; - } in; - - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_initshutdown */ diff --git a/librpc/gen_ndr/krb5pac.h b/librpc/gen_ndr/krb5pac.h deleted file mode 100644 index fc277325f6f..00000000000 --- a/librpc/gen_ndr/krb5pac.h +++ /dev/null @@ -1,152 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/netlogon.h" -#include "librpc/gen_ndr/samr.h" -#ifndef _HEADER_krb5pac -#define _HEADER_krb5pac - -#define NETLOGON_GENERIC_KRB5_PAC_VALIDATE ( 3 ) -struct PAC_LOGON_NAME { - NTTIME logon_time; - uint16_t size;/* [value(2*strlen_m(account_name))] */ - const char *account_name;/* [charset(UTF16)] */ -}; - -struct PAC_SIGNATURE_DATA { - uint32_t type; - DATA_BLOB signature;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct PAC_LOGON_INFO { - struct netr_SamInfo3 info3; - struct dom_sid2 *res_group_dom_sid;/* [unique] */ - struct samr_RidWithAttributeArray res_groups; -}; - -struct PAC_UNKNOWN_12 { - uint16_t upn_size;/* [value(2*strlen_m(upn_name))] */ - uint16_t upn_offset; - uint16_t domain_size;/* [value(2*strlen_m(domain_name))] */ - uint16_t domain_offset; - uint16_t unknown3; - uint16_t unknown4; - uint32_t unknown5; - const char *upn_name;/* [charset(UTF16)] */ - const char *domain_name;/* [charset(UTF16)] */ - uint32_t unknown6; -}; - -struct PAC_LOGON_INFO_CTR { - struct PAC_LOGON_INFO *info;/* [unique] */ -}/* [public] */; - -enum PAC_TYPE -#ifndef USE_UINT_ENUMS - { - PAC_TYPE_LOGON_INFO=(int)(1), - PAC_TYPE_SRV_CHECKSUM=(int)(6), - PAC_TYPE_KDC_CHECKSUM=(int)(7), - PAC_TYPE_LOGON_NAME=(int)(10), - PAC_TYPE_CONSTRAINED_DELEGATION=(int)(11), - PAC_TYPE_UNKNOWN_12=(int)(12) -} -#else - { __donnot_use_enum_PAC_TYPE=0x7FFFFFFF} -#define PAC_TYPE_LOGON_INFO ( 1 ) -#define PAC_TYPE_SRV_CHECKSUM ( 6 ) -#define PAC_TYPE_KDC_CHECKSUM ( 7 ) -#define PAC_TYPE_LOGON_NAME ( 10 ) -#define PAC_TYPE_CONSTRAINED_DELEGATION ( 11 ) -#define PAC_TYPE_UNKNOWN_12 ( 12 ) -#endif -; - -struct DATA_BLOB_REM { - DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -union PAC_INFO { - struct PAC_LOGON_INFO_CTR logon_info;/* [subcontext(0xFFFFFC01),case(PAC_TYPE_LOGON_INFO)] */ - struct PAC_SIGNATURE_DATA srv_cksum;/* [case(PAC_TYPE_SRV_CHECKSUM)] */ - struct PAC_SIGNATURE_DATA kdc_cksum;/* [case(PAC_TYPE_KDC_CHECKSUM)] */ - struct PAC_LOGON_NAME logon_name;/* [case(PAC_TYPE_LOGON_NAME)] */ - struct DATA_BLOB_REM unknown;/* [subcontext(0),default] */ -}/* [gensize,nodiscriminant,public] */; - -struct PAC_BUFFER { - enum PAC_TYPE type; - uint32_t _ndr_size;/* [value(_ndr_size_PAC_INFO(info,type,0))] */ - union PAC_INFO *info;/* [relative,subcontext_size(_subcontext_size_PAC_INFO(r,ndr->flags)),subcontext(0),switch_is(type),flag(LIBNDR_FLAG_ALIGN8)] */ - uint32_t _pad;/* [value(0)] */ -}/* [noprint,nopull,public,nopush] */; - -struct PAC_DATA { - uint32_t num_buffers; - uint32_t version; - struct PAC_BUFFER *buffers; -}/* [public] */; - -struct PAC_BUFFER_RAW { - enum PAC_TYPE type; - uint32_t ndr_size; - struct DATA_BLOB_REM *info;/* [relative,subcontext_size(NDR_ROUND(ndr_size,8)),subcontext(0),flag(LIBNDR_FLAG_ALIGN8)] */ - uint32_t _pad;/* [value(0)] */ -}/* [public] */; - -struct PAC_DATA_RAW { - uint32_t num_buffers; - uint32_t version; - struct PAC_BUFFER_RAW *buffers; -}/* [public] */; - -struct PAC_Validate { - uint32_t MessageType;/* [value(NETLOGON_GENERIC_KRB5_PAC_VALIDATE)] */ - uint32_t ChecksumLength; - int32_t SignatureType; - uint32_t SignatureLength; - DATA_BLOB ChecksumAndSignature;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public] */; - -struct netsamlogoncache_entry { - time_t timestamp; - struct netr_SamInfo3 info3; -}/* [public] */; - - -struct decode_pac { - struct { - struct PAC_DATA pac; - } in; - -}; - - -struct decode_pac_raw { - struct { - struct PAC_DATA_RAW pac; - } in; - -}; - - -struct decode_login_info { - struct { - struct PAC_LOGON_INFO logon_info; - } in; - -}; - - -struct decode_pac_validate { - struct { - struct PAC_Validate pac_validate; - } in; - -}; - -#endif /* _HEADER_krb5pac */ diff --git a/librpc/gen_ndr/lsa.h b/librpc/gen_ndr/lsa.h deleted file mode 100644 index f48d875c52b..00000000000 --- a/librpc/gen_ndr/lsa.h +++ /dev/null @@ -1,1913 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/security.h" -#ifndef _HEADER_lsarpc -#define _HEADER_lsarpc - -#define LSA_POLICY_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN|LSA_POLICY_LOOKUP_NAMES) ) -#define LSA_POLICY_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION) ) -#define LSA_POLICY_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN) ) -#define LSA_POLICY_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_LOOKUP_NAMES) ) -#define LSA_ACCOUNT_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_ACCOUNT_VIEW|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) ) -#define LSA_ACCOUNT_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_VIEW) ) -#define LSA_ACCOUNT_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) ) -#define LSA_ACCOUNT_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS) ) -#define LSA_SECRET_ALL_ACCESS ( (LSA_SECRET_QUERY_VALUE|LSA_SECRET_SET_VALUE|SEC_STD_DELETE|STANDARD_RIGHTS_READ_ACCESS|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) ) -#define LSA_SECRET_READ ( (LSA_SECRET_QUERY_VALUE|STANDARD_RIGHTS_READ_ACCESS) ) -#define LSA_SECRET_WRITE ( (LSA_SECRET_SET_VALUE|STANDARD_RIGHTS_READ_ACCESS) ) -#define LSA_SECRET_EXECUTE ( (STANDARD_RIGHTS_READ_ACCESS) ) -#define LSA_TRUSTED_DOMAIN_ALL_ACCESS ( (LSA_TRUSTED_QUERY_DOMAIN_NAME|LSA_TRUSTED_QUERY_CONTROLLERS|LSA_TRUSTED_SET_CONTROLLERS|LSA_TRUSTED_QUERY_POSIX|LSA_TRUSTED_SET_POSIX|LSA_TRUSTED_SET_AUTH|LSA_TRUSTED_QUERY_AUTH|SEC_STD_DELETE|STANDARD_RIGHTS_READ_ACCESS|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) ) -#define LSA_TRUSTED_DOMAIN_READ ( (LSA_TRUSTED_QUERY_DOMAIN_NAME|STANDARD_RIGHTS_READ_ACCESS) ) -#define LSA_TRUSTED_DOMAIN_WRITE ( (LSA_TRUSTED_SET_CONTROLLERS|LSA_TRUSTED_SET_POSIX|LSA_TRUSTED_SET_AUTH|STANDARD_RIGHTS_READ_ACCESS) ) -#define LSA_TRUSTED_DOMAIN_EXECUTE ( (LSA_TRUSTED_QUERY_DOMAIN_NAME|LSA_TRUSTED_QUERY_POSIX|STANDARD_RIGHTS_READ_ACCESS) ) -#define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 ) -#define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 ) -#define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 ) -#define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 ) -#define LSA_CLIENT_REVISION_DNS ( 0x00000002 ) -#define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 ) -struct lsa_String { - uint16_t length;/* [value(2*strlen_m(string))] */ - uint16_t size;/* [value(2*strlen_m(string))] */ - const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */ -}/* [public] */; - -struct lsa_StringLarge { - uint16_t length;/* [value(2*strlen_m(string))] */ - uint16_t size;/* [value(2*strlen_m_term(string))] */ - const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */ -}/* [public] */; - -struct lsa_Strings { - uint32_t count; - struct lsa_String *names;/* [unique,size_is(count)] */ -}/* [public] */; - -struct lsa_AsciiString { - uint16_t length;/* [value(strlen_m(string))] */ - uint16_t size;/* [value(strlen_m(string))] */ - const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */ -}/* [public] */; - -struct lsa_AsciiStringLarge { - uint16_t length;/* [value(strlen_m(string))] */ - uint16_t size;/* [value(strlen_m_term(string))] */ - const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */ -}/* [public] */; - -struct lsa_BinaryString { - uint16_t length; - uint16_t size; - uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */ -}/* [public] */; - -struct lsa_LUID { - uint32_t low; - uint32_t high; -}; - -struct lsa_PrivEntry { - struct lsa_StringLarge name; - struct lsa_LUID luid; -}; - -struct lsa_PrivArray { - uint32_t count; - struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */ -}; - -struct lsa_QosInfo { - uint32_t len; - uint16_t impersonation_level; - uint8_t context_mode; - uint8_t effective_only; -}; - -struct lsa_ObjectAttribute { - uint32_t len; - uint8_t *root_dir;/* [unique] */ - const char *object_name;/* [unique,charset(UTF16)] */ - uint32_t attributes; - struct security_descriptor *sec_desc;/* [unique] */ - struct lsa_QosInfo *sec_qos;/* [unique] */ -}; - -/* bitmap lsa_PolicyAccessMask */ -#define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 ) -#define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 ) -#define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 ) -#define LSA_POLICY_TRUST_ADMIN ( 0x00000008 ) -#define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 ) -#define LSA_POLICY_CREATE_SECRET ( 0x00000020 ) -#define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 ) -#define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 ) -#define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 ) -#define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 ) -#define LSA_POLICY_SERVER_ADMIN ( 0x00000400 ) -#define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 ) -#define LSA_POLICY_NOTIFICATION ( 0x00001000 ) - -/* bitmap lsa_AccountAccessMask */ -#define LSA_ACCOUNT_VIEW ( 0x00000001 ) -#define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 ) -#define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 ) -#define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 ) - -/* bitmap lsa_SecretAccessMask */ -#define LSA_SECRET_SET_VALUE ( 0x00000001 ) -#define LSA_SECRET_QUERY_VALUE ( 0x00000002 ) - -/* bitmap lsa_TrustedAccessMask */ -#define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 ) -#define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 ) -#define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 ) -#define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 ) -#define LSA_TRUSTED_SET_POSIX ( 0x00000010 ) -#define LSA_TRUSTED_SET_AUTH ( 0x00000020 ) -#define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 ) - -struct lsa_AuditLogInfo { - uint32_t percent_full; - uint32_t maximum_log_size; - uint64_t retention_time; - uint8_t shutdown_in_progress; - uint64_t time_to_shutdown; - uint32_t next_audit_record; -}; - -enum lsa_PolicyAuditPolicy -#ifndef USE_UINT_ENUMS - { - LSA_AUDIT_POLICY_NONE=(int)(0), - LSA_AUDIT_POLICY_SUCCESS=(int)(1), - LSA_AUDIT_POLICY_FAILURE=(int)(2), - LSA_AUDIT_POLICY_ALL=(int)((LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE)), - LSA_AUDIT_POLICY_CLEAR=(int)(4) -} -#else - { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF} -#define LSA_AUDIT_POLICY_NONE ( 0 ) -#define LSA_AUDIT_POLICY_SUCCESS ( 1 ) -#define LSA_AUDIT_POLICY_FAILURE ( 2 ) -#define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) ) -#define LSA_AUDIT_POLICY_CLEAR ( 4 ) -#endif -; - -enum lsa_PolicyAuditEventType -#ifndef USE_UINT_ENUMS - { - LSA_AUDIT_CATEGORY_SYSTEM=(int)(0), - LSA_AUDIT_CATEGORY_LOGON=(int)(1), - LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=(int)(2), - LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=(int)(3), - LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=(int)(4), - LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=(int)(5), - LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=(int)(6), - LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=(int)(7), - LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=(int)(8) -} -#else - { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF} -#define LSA_AUDIT_CATEGORY_SYSTEM ( 0 ) -#define LSA_AUDIT_CATEGORY_LOGON ( 1 ) -#define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 ) -#define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 ) -#define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 ) -#define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 ) -#define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 ) -#define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 ) -#define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 ) -#endif -; - -struct lsa_AuditEventsInfo { - uint32_t auditing_mode; - enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */ - uint32_t count; -}; - -struct lsa_DomainInfo { - struct lsa_StringLarge name; - struct dom_sid2 *sid;/* [unique] */ -}; - -struct lsa_PDAccountInfo { - struct lsa_String name; -}; - -enum lsa_Role -#ifndef USE_UINT_ENUMS - { - LSA_ROLE_BACKUP=(int)(2), - LSA_ROLE_PRIMARY=(int)(3) -} -#else - { __donnot_use_enum_lsa_Role=0x7FFFFFFF} -#define LSA_ROLE_BACKUP ( 2 ) -#define LSA_ROLE_PRIMARY ( 3 ) -#endif -; - -struct lsa_ServerRole { - enum lsa_Role role; -}; - -struct lsa_ReplicaSourceInfo { - struct lsa_String source; - struct lsa_String account; -}; - -struct lsa_DefaultQuotaInfo { - uint32_t paged_pool; - uint32_t non_paged_pool; - uint32_t min_wss; - uint32_t max_wss; - uint32_t pagefile; - uint64_t unknown; -}; - -struct lsa_ModificationInfo { - uint64_t modified_id; - NTTIME db_create_time; -}; - -struct lsa_AuditFullSetInfo { - uint8_t shutdown_on_full; -}; - -struct lsa_AuditFullQueryInfo { - uint8_t shutdown_on_full; - uint8_t log_is_full; -}; - -struct lsa_DnsDomainInfo { - struct lsa_StringLarge name; - struct lsa_StringLarge dns_domain; - struct lsa_StringLarge dns_forest; - struct GUID domain_guid; - struct dom_sid2 *sid;/* [unique] */ -}; - -enum lsa_PolicyInfo -#ifndef USE_UINT_ENUMS - { - LSA_POLICY_INFO_AUDIT_LOG=(int)(1), - LSA_POLICY_INFO_AUDIT_EVENTS=(int)(2), - LSA_POLICY_INFO_DOMAIN=(int)(3), - LSA_POLICY_INFO_PD=(int)(4), - LSA_POLICY_INFO_ACCOUNT_DOMAIN=(int)(5), - LSA_POLICY_INFO_ROLE=(int)(6), - LSA_POLICY_INFO_REPLICA=(int)(7), - LSA_POLICY_INFO_QUOTA=(int)(8), - LSA_POLICY_INFO_MOD=(int)(9), - LSA_POLICY_INFO_AUDIT_FULL_SET=(int)(10), - LSA_POLICY_INFO_AUDIT_FULL_QUERY=(int)(11), - LSA_POLICY_INFO_DNS=(int)(12), - LSA_POLICY_INFO_DNS_INT=(int)(13), - LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=(int)(14) -} -#else - { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF} -#define LSA_POLICY_INFO_AUDIT_LOG ( 1 ) -#define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 ) -#define LSA_POLICY_INFO_DOMAIN ( 3 ) -#define LSA_POLICY_INFO_PD ( 4 ) -#define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 ) -#define LSA_POLICY_INFO_ROLE ( 6 ) -#define LSA_POLICY_INFO_REPLICA ( 7 ) -#define LSA_POLICY_INFO_QUOTA ( 8 ) -#define LSA_POLICY_INFO_MOD ( 9 ) -#define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 ) -#define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 ) -#define LSA_POLICY_INFO_DNS ( 12 ) -#define LSA_POLICY_INFO_DNS_INT ( 13 ) -#define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 ) -#endif -; - -union lsa_PolicyInformation { - struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */ - struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */ - struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */ - struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */ - struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */ - struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */ - struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */ - struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */ - struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */ - struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */ - struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */ - struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */ - struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */ -}/* [switch_type(uint16)] */; - -struct lsa_SidPtr { - struct dom_sid2 *sid;/* [unique] */ -}; - -struct lsa_SidArray { - uint32_t num_sids;/* [range(0,20480)] */ - struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */ -}/* [public] */; - -struct lsa_DomainList { - uint32_t count; - struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */ -}; - -enum lsa_SidType -#ifndef USE_UINT_ENUMS - { - SID_NAME_USE_NONE=(int)(0), - SID_NAME_USER=(int)(1), - SID_NAME_DOM_GRP=(int)(2), - SID_NAME_DOMAIN=(int)(3), - SID_NAME_ALIAS=(int)(4), - SID_NAME_WKN_GRP=(int)(5), - SID_NAME_DELETED=(int)(6), - SID_NAME_INVALID=(int)(7), - SID_NAME_UNKNOWN=(int)(8), - SID_NAME_COMPUTER=(int)(9) -} -#else - { __donnot_use_enum_lsa_SidType=0x7FFFFFFF} -#define SID_NAME_USE_NONE ( 0 ) -#define SID_NAME_USER ( 1 ) -#define SID_NAME_DOM_GRP ( 2 ) -#define SID_NAME_DOMAIN ( 3 ) -#define SID_NAME_ALIAS ( 4 ) -#define SID_NAME_WKN_GRP ( 5 ) -#define SID_NAME_DELETED ( 6 ) -#define SID_NAME_INVALID ( 7 ) -#define SID_NAME_UNKNOWN ( 8 ) -#define SID_NAME_COMPUTER ( 9 ) -#endif -; - -struct lsa_TranslatedSid { - enum lsa_SidType sid_type; - uint32_t rid; - uint32_t sid_index; -}; - -struct lsa_TransSidArray { - uint32_t count;/* [range(0,1000)] */ - struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */ -}; - -struct lsa_RefDomainList { - uint32_t count;/* [range(0,1000)] */ - struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */ - uint32_t max_size; -}; - -enum lsa_LookupNamesLevel -#ifndef USE_UINT_ENUMS - { - LSA_LOOKUP_NAMES_ALL=(int)(1), - LSA_LOOKUP_NAMES_DOMAINS_ONLY=(int)(2), - LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=(int)(3), - LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=(int)(4), - LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=(int)(5), - LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=(int)(6), - LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=(int)(7) -} -#else - { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF} -#define LSA_LOOKUP_NAMES_ALL ( 1 ) -#define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 ) -#define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 ) -#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 ) -#define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 ) -#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 ) -#define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 ) -#endif -; - -struct lsa_TranslatedName { - enum lsa_SidType sid_type; - struct lsa_String name; - uint32_t sid_index; -}; - -struct lsa_TransNameArray { - uint32_t count;/* [range(0,20480)] */ - struct lsa_TranslatedName *names;/* [unique,size_is(count)] */ -}; - -struct lsa_LUIDAttribute { - struct lsa_LUID luid; - uint32_t attribute; -}; - -struct lsa_PrivilegeSet { - uint32_t count;/* [range(0,1000)] */ - uint32_t unknown; - struct lsa_LUIDAttribute *set;/* [size_is(count)] */ -}; - -/* bitmap lsa_SystemAccessModeFlags */ -#define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 ) -#define LSA_POLICY_MODE_NETWORK ( 0x00000002 ) -#define LSA_POLICY_MODE_BATCH ( 0x00000004 ) -#define LSA_POLICY_MODE_SERVICE ( 0x00000010 ) -#define LSA_POLICY_MODE_PROXY ( 0x00000020 ) -#define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 ) -#define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 ) -#define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 ) -#define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 ) -#define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 ) -#define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 ) -#define LSA_POLICY_MODE_ALL ( 0x00000FF7 ) -#define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 ) - -struct lsa_DATA_BUF { - uint32_t length; - uint32_t size; - uint8_t *data;/* [unique,length_is(length),size_is(size)] */ -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct lsa_DATA_BUF2 { - uint32_t size;/* [range(0,65536)] */ - uint8_t *data;/* [unique,size_is(size)] */ -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -enum lsa_TrustDomInfoEnum -#ifndef USE_UINT_ENUMS - { - LSA_TRUSTED_DOMAIN_INFO_NAME=(int)(1), - LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=(int)(2), - LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=(int)(3), - LSA_TRUSTED_DOMAIN_INFO_PASSWORD=(int)(4), - LSA_TRUSTED_DOMAIN_INFO_BASIC=(int)(5), - LSA_TRUSTED_DOMAIN_INFO_INFO_EX=(int)(6), - LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=(int)(7), - LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=(int)(8), - LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=(int)(9), - LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=(int)(10), - LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=(int)(11), - LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=(int)(12), - LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES=(int)(13) -} -#else - { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF} -#define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 ) -#define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 ) -#define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 ) -#define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 ) -#define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 ) -#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 ) -#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 ) -#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 ) -#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 ) -#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 ) -#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 ) -#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 ) -#define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES ( 13 ) -#endif -; - -/* bitmap lsa_TrustDirection */ -#define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 ) -#define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 ) - -enum lsa_TrustType -#ifndef USE_UINT_ENUMS - { - LSA_TRUST_TYPE_DOWNLEVEL=(int)(0x00000001), - LSA_TRUST_TYPE_UPLEVEL=(int)(0x00000002), - LSA_TRUST_TYPE_MIT=(int)(0x00000003) -} -#else - { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF} -#define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 ) -#define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 ) -#define LSA_TRUST_TYPE_MIT ( 0x00000003 ) -#endif -; - -/* bitmap lsa_TrustAttributes */ -#define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 ) -#define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 ) -#define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 ) -#define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 ) -#define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 ) -#define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 ) -#define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 ) -#define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 ) - -struct lsa_TrustDomainInfoName { - struct lsa_StringLarge netbios_name; -}; - -struct lsa_TrustDomainInfoControllers { - uint32_t entries; - struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */ -}; - -struct lsa_TrustDomainInfoPosixOffset { - uint32_t posix_offset; -}; - -struct lsa_TrustDomainInfoPassword { - struct lsa_DATA_BUF *password;/* [unique] */ - struct lsa_DATA_BUF *old_password;/* [unique] */ -}; - -struct lsa_TrustDomainInfoBasic { - struct lsa_String netbios_name; - struct dom_sid2 *sid;/* [unique] */ -}; - -struct lsa_TrustDomainInfoInfoEx { - struct lsa_StringLarge domain_name; - struct lsa_StringLarge netbios_name; - struct dom_sid2 *sid;/* [unique] */ - uint32_t trust_direction; - enum lsa_TrustType trust_type; - uint32_t trust_attributes; -}; - -enum lsa_TrustAuthType -#ifndef USE_UINT_ENUMS - { - TRUST_AUTH_TYPE_NONE=(int)(0), - TRUST_AUTH_TYPE_NT4OWF=(int)(1), - TRUST_AUTH_TYPE_CLEAR=(int)(2), - TRUST_AUTH_TYPE_VERSION=(int)(3) -} -#else - { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF} -#define TRUST_AUTH_TYPE_NONE ( 0 ) -#define TRUST_AUTH_TYPE_NT4OWF ( 1 ) -#define TRUST_AUTH_TYPE_CLEAR ( 2 ) -#define TRUST_AUTH_TYPE_VERSION ( 3 ) -#endif -; - -struct lsa_TrustDomainInfoBuffer { - NTTIME last_update_time; - enum lsa_TrustAuthType AuthType; - struct lsa_DATA_BUF2 data; -}; - -struct lsa_TrustDomainInfoAuthInfo { - uint32_t incoming_count; - struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */ - struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */ - uint32_t outgoing_count; - struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */ - struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */ -}/* [public] */; - -struct lsa_TrustDomainInfoFullInfo { - struct lsa_TrustDomainInfoInfoEx info_ex; - struct lsa_TrustDomainInfoPosixOffset posix_offset; - struct lsa_TrustDomainInfoAuthInfo auth_info; -}; - -struct lsa_TrustDomainInfoAuthInfoInternal { - struct lsa_DATA_BUF2 auth_blob; -}; - -struct lsa_TrustDomainInfoFullInfoInternal { - struct lsa_TrustDomainInfoInfoEx info_ex; - struct lsa_TrustDomainInfoPosixOffset posix_offset; - struct lsa_TrustDomainInfoAuthInfoInternal auth_info; -}; - -struct lsa_TrustDomainInfoInfoEx2Internal { - struct lsa_TrustDomainInfoInfoEx info_ex; - uint32_t forest_trust_length; - uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */ -}; - -struct lsa_TrustDomainInfoFullInfo2Internal { - struct lsa_TrustDomainInfoInfoEx2Internal info; - struct lsa_TrustDomainInfoPosixOffset posix_offset; - struct lsa_TrustDomainInfoAuthInfo auth_info; -}; - -struct lsa_TrustDomainInfoSupportedEncTypes { - uint32_t enc_types; -}; - -union lsa_TrustedDomainInfo { - struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */ - struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */ - struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */ - struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */ - struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */ - struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */ - struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */ - struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */ - struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */ - struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */ - struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */ - struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */ - struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] */ -}/* [switch_type(lsa_TrustDomInfoEnum)] */; - -struct lsa_DATA_BUF_PTR { - struct lsa_DATA_BUF *buf;/* [unique] */ -}; - -struct lsa_RightAttribute { - const char *name;/* [unique,charset(UTF16)] */ -}; - -struct lsa_RightSet { - uint32_t count;/* [range(0,256)] */ - struct lsa_StringLarge *names;/* [unique,size_is(count)] */ -}; - -struct lsa_DomainListEx { - uint32_t count; - struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */ -}; - -struct lsa_DomainInfoKerberos { - uint32_t enforce_restrictions; - uint64_t service_tkt_lifetime; - uint64_t user_tkt_lifetime; - uint64_t user_tkt_renewaltime; - uint64_t clock_skew; - uint64_t unknown6; -}; - -struct lsa_DomainInfoEfs { - uint32_t blob_size; - uint8_t *efs_blob;/* [unique,size_is(blob_size)] */ -}; - -enum lsa_DomainInfoEnum -#ifndef USE_UINT_ENUMS - { - LSA_DOMAIN_INFO_POLICY_EFS=(int)(2), - LSA_DOMAIN_INFO_POLICY_KERBEROS=(int)(3) -} -#else - { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF} -#define LSA_DOMAIN_INFO_POLICY_EFS ( 2 ) -#define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 ) -#endif -; - -union lsa_DomainInformationPolicy { - struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */ - struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */ -}/* [switch_type(uint16)] */; - -struct lsa_TranslatedName2 { - enum lsa_SidType sid_type; - struct lsa_String name; - uint32_t sid_index; - uint32_t unknown; -}; - -struct lsa_TransNameArray2 { - uint32_t count;/* [range(0,1000)] */ - struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */ -}; - -enum lsa_LookupOptions -#ifndef USE_UINT_ENUMS - { - LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES=(int)(0x00000000), - LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL=(int)(0x80000000) -} -#else - { __donnot_use_enum_lsa_LookupOptions=0x7FFFFFFF} -#define LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES ( 0x00000000 ) -#define LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL ( 0x80000000 ) -#endif -; - -enum lsa_ClientRevision -#ifndef USE_UINT_ENUMS - { - LSA_CLIENT_REVISION_1=(int)(0x00000001), - LSA_CLIENT_REVISION_2=(int)(0x00000002) -} -#else - { __donnot_use_enum_lsa_ClientRevision=0x7FFFFFFF} -#define LSA_CLIENT_REVISION_1 ( 0x00000001 ) -#define LSA_CLIENT_REVISION_2 ( 0x00000002 ) -#endif -; - -struct lsa_TranslatedSid2 { - enum lsa_SidType sid_type; - uint32_t rid; - uint32_t sid_index; - uint32_t unknown; -}; - -struct lsa_TransSidArray2 { - uint32_t count;/* [range(0,1000)] */ - struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */ -}; - -struct lsa_TranslatedSid3 { - enum lsa_SidType sid_type; - struct dom_sid2 *sid;/* [unique] */ - uint32_t sid_index; - uint32_t flags; -}; - -struct lsa_TransSidArray3 { - uint32_t count;/* [range(0,1000)] */ - struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */ -}; - -struct lsa_ForestTrustBinaryData { - uint32_t length;/* [range(0,131072)] */ - uint8_t *data;/* [unique,size_is(length)] */ -}; - -struct lsa_ForestTrustDomainInfo { - struct dom_sid2 *domain_sid;/* [unique] */ - struct lsa_StringLarge dns_domain_name; - struct lsa_StringLarge netbios_domain_name; -}; - -union lsa_ForestTrustData { - struct lsa_StringLarge top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */ - struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */ - struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */ - struct lsa_ForestTrustBinaryData data;/* [default] */ -}/* [switch_type(uint32)] */; - -enum lsa_ForestTrustRecordType -#ifndef USE_UINT_ENUMS - { - LSA_FOREST_TRUST_TOP_LEVEL_NAME=(int)(0), - LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=(int)(1), - LSA_FOREST_TRUST_DOMAIN_INFO=(int)(2), - LSA_FOREST_TRUST_RECORD_TYPE_LAST=(int)(3) -} -#else - { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF} -#define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 ) -#define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 ) -#define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 ) -#define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 ) -#endif -; - -struct lsa_ForestTrustRecord { - uint32_t flags; - enum lsa_ForestTrustRecordType type; - uint64_t time; - union lsa_ForestTrustData forest_trust_data;/* [switch_is(type)] */ -}; - -struct lsa_ForestTrustInformation { - uint32_t count;/* [range(0,4000)] */ - struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */ -}/* [public] */; - -enum lsa_ForestTrustCollisionRecordType -#ifndef USE_UINT_ENUMS - { - LSA_FOREST_TRUST_COLLISION_TDO=(int)(0), - LSA_FOREST_TRUST_COLLISION_XREF=(int)(1), - LSA_FOREST_TRUST_COLLISION_OTHER=(int)(2) -} -#else - { __donnot_use_enum_lsa_ForestTrustCollisionRecordType=0x7FFFFFFF} -#define LSA_FOREST_TRUST_COLLISION_TDO ( 0 ) -#define LSA_FOREST_TRUST_COLLISION_XREF ( 1 ) -#define LSA_FOREST_TRUST_COLLISION_OTHER ( 2 ) -#endif -; - -/* bitmap lsa_ForestTrustCollisionTDOFlags */ -#define LSA_TLN_DISABLED_NEW ( 0x00000001 ) -#define LSA_TLN_DISABLED_ADMIN ( 0x00000002 ) -#define LSA_TLN_DISABLED_CONFLICT ( 0x00000004 ) - -/* bitmap lsa_ForestTrustCollisionXrefFlags */ -#define LSA_SID_DISABLED_ADMIN ( 0x00000001 ) -#define LSA_SID_DISABLED_CONFLICT ( 0x00000002 ) -#define LSA_NB_DISABLED_ADMIN ( 0x00000004 ) -#define LSA_NB_DISABLED_CONFLICT ( 0x00000008 ) - -union lsa_ForestTrustCollisionFlags { - uint32_t flags;/* [case(LSA_FOREST_TRUST_COLLISION_TDO)] */ -}/* [nodiscriminant] */; - -struct lsa_ForestTrustCollisionRecord { - uint32_t index; - enum lsa_ForestTrustCollisionRecordType type; - union lsa_ForestTrustCollisionFlags flags;/* [switch_is(type)] */ - struct lsa_String name; -}; - -struct lsa_ForestTrustCollisionInfo { - uint32_t count; - struct lsa_ForestTrustCollisionRecord **entries;/* [unique,size_is(count)] */ -}; - - -struct lsa_Close { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_Delete { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumPrivs { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t max_count; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct lsa_PrivArray *privs;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_QuerySecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t sec_info; - } in; - - struct { - struct sec_desc_buf **sdbuf;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetSecObj { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t sec_info; - struct sec_desc_buf *sdbuf;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_ChangePassword { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_OpenPolicy { - struct { - uint16_t *system_name;/* [unique] */ - struct lsa_ObjectAttribute *attr;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_QueryInfoPolicy { - struct { - struct policy_handle *handle;/* [ref] */ - enum lsa_PolicyInfo level; - } in; - - struct { - union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetInfoPolicy { - struct { - struct policy_handle *handle;/* [ref] */ - enum lsa_PolicyInfo level; - union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_ClearAuditLog { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CreateAccount { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *acct_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumAccounts { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t num_entries;/* [range(0,8192)] */ - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct lsa_SidArray *sids;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CreateTrustedDomain { - struct { - struct policy_handle *policy_handle;/* [ref] */ - struct lsa_DomainInfo *info;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumTrustDom { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t max_size; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct lsa_DomainList *domains;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupNames { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t num_names;/* [range(0,1000)] */ - struct lsa_String *names;/* [size_is(num_names)] */ - enum lsa_LookupNamesLevel level; - struct lsa_TransSidArray *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransSidArray *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupSids { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_SidArray *sids;/* [ref] */ - enum lsa_LookupNamesLevel level; - struct lsa_TransNameArray *names;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransNameArray *names;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CreateSecret { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String name; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *sec_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_OpenAccount { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *acct_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumPrivsAccount { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct lsa_PrivilegeSet **privs;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_AddPrivilegesToAccount { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_PrivilegeSet *privs;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_RemovePrivilegesFromAccount { - struct { - struct policy_handle *handle;/* [ref] */ - uint8_t remove_all; - struct lsa_PrivilegeSet *privs;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_GetQuotasForAccount { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_SetQuotasForAccount { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_GetSystemAccessAccount { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - uint32_t *access_mask;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetSystemAccessAccount { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_OpenTrustedDomain { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_QueryTrustedDomainInfo { - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - enum lsa_TrustDomInfoEnum level; - } in; - - struct { - union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetInformationTrustedDomain { - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - enum lsa_TrustDomInfoEnum level; - union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_OpenSecret { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String name; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *sec_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetSecret { - struct { - struct policy_handle *sec_handle;/* [ref] */ - struct lsa_DATA_BUF *new_val;/* [unique] */ - struct lsa_DATA_BUF *old_val;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_QuerySecret { - struct { - struct policy_handle *sec_handle;/* [ref] */ - struct lsa_DATA_BUF_PTR *new_val;/* [unique] */ - NTTIME *new_mtime;/* [unique] */ - struct lsa_DATA_BUF_PTR *old_val;/* [unique] */ - NTTIME *old_mtime;/* [unique] */ - } in; - - struct { - struct lsa_DATA_BUF_PTR *new_val;/* [unique] */ - NTTIME *new_mtime;/* [unique] */ - struct lsa_DATA_BUF_PTR *old_val;/* [unique] */ - NTTIME *old_mtime;/* [unique] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupPrivValue { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *name;/* [ref] */ - } in; - - struct { - struct lsa_LUID *luid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupPrivName { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_LUID *luid;/* [ref] */ - } in; - - struct { - struct lsa_StringLarge **name;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupPrivDisplayName { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *name;/* [ref] */ - uint16_t language_id; - uint16_t language_id_sys; - } in; - - struct { - struct lsa_StringLarge **disp_name;/* [ref] */ - uint16_t *returned_language_id;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_DeleteObject { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumAccountsWithUserRight { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *name;/* [unique] */ - } in; - - struct { - struct lsa_SidArray *sids;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumAccountRights { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - } in; - - struct { - struct lsa_RightSet *rights;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_AddAccountRights { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - struct lsa_RightSet *rights;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_RemoveAccountRights { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - uint8_t remove_all; - struct lsa_RightSet *rights;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_QueryTrustedDomainInfoBySid { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *dom_sid;/* [ref] */ - enum lsa_TrustDomInfoEnum level; - } in; - - struct { - union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetTrustedDomainInfo { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *dom_sid;/* [ref] */ - enum lsa_TrustDomInfoEnum level; - union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_DeleteTrustedDomain { - struct { - struct policy_handle *handle;/* [ref] */ - struct dom_sid2 *dom_sid;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_StorePrivateData { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *name;/* [ref] */ - struct lsa_DATA_BUF *val;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_RetrievePrivateData { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *name;/* [ref] */ - struct lsa_DATA_BUF **val;/* [ref] */ - } in; - - struct { - struct lsa_DATA_BUF **val;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_OpenPolicy2 { - struct { - const char *system_name;/* [unique,charset(UTF16)] */ - struct lsa_ObjectAttribute *attr;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_GetUserName { - struct { - const char *system_name;/* [unique,charset(UTF16)] */ - struct lsa_String **account_name;/* [ref] */ - struct lsa_String **authority_name;/* [unique] */ - } in; - - struct { - struct lsa_String **account_name;/* [ref] */ - struct lsa_String **authority_name;/* [unique] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_QueryInfoPolicy2 { - struct { - struct policy_handle *handle;/* [ref] */ - enum lsa_PolicyInfo level; - } in; - - struct { - union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetInfoPolicy2 { - struct { - struct policy_handle *handle;/* [ref] */ - enum lsa_PolicyInfo level; - union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_QueryTrustedDomainInfoByName { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *trusted_domain;/* [ref] */ - enum lsa_TrustDomInfoEnum level; - } in; - - struct { - union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetTrustedDomainInfoByName { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *trusted_domain;/* [ref] */ - enum lsa_TrustDomInfoEnum level; - union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_EnumTrustedDomainsEx { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t max_size; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct lsa_DomainListEx *domains;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CreateTrustedDomainEx { - struct { - struct policy_handle *policy_handle;/* [ref] */ - struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */ - struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CloseTrustedDomainEx { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_QueryDomainInformationPolicy { - struct { - struct policy_handle *handle;/* [ref] */ - uint16_t level; - } in; - - struct { - union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_SetDomainInformationPolicy { - struct { - struct policy_handle *handle;/* [ref] */ - uint16_t level; - union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_OpenTrustedDomainByName { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String name; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_TestCall { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupSids2 { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_SidArray *sids;/* [ref] */ - enum lsa_LookupNamesLevel level; - enum lsa_LookupOptions lookup_options; - enum lsa_ClientRevision client_revision; - struct lsa_TransNameArray2 *names;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransNameArray2 *names;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupNames2 { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t num_names;/* [range(0,1000)] */ - struct lsa_String *names;/* [size_is(num_names)] */ - enum lsa_LookupNamesLevel level; - enum lsa_LookupOptions lookup_options; - enum lsa_ClientRevision client_revision; - struct lsa_TransSidArray2 *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransSidArray2 *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CreateTrustedDomainEx2 { - struct { - struct policy_handle *policy_handle;/* [ref] */ - struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */ - struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *trustdom_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRWRITE { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRREAD { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRENUMERATE { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRWRITEDOMAINCREDENTIALS { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRREADDOMAINCREDENTIALS { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRDELETE { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRGETTARGETINFO { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRPROFILELOADED { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupNames3 { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t num_names;/* [range(0,1000)] */ - struct lsa_String *names;/* [size_is(num_names)] */ - enum lsa_LookupNamesLevel level; - enum lsa_LookupOptions lookup_options; - enum lsa_ClientRevision client_revision; - struct lsa_TransSidArray3 *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransSidArray3 *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRGETSESSIONTYPES { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LSARREGISTERAUDITEVENT { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LSARGENAUDITEVENT { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LSARUNREGISTERAUDITEVENT { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_lsaRQueryForestTrustInformation { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_String *trusted_domain_name;/* [ref] */ - uint16_t unknown; - } in; - - struct { - struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_lsaRSetForestTrustInformation { - struct { - struct policy_handle *handle;/* [ref] */ - struct lsa_StringLarge *trusted_domain_name;/* [ref] */ - uint16_t highest_record_type; - struct lsa_ForestTrustInformation *forest_trust_info;/* [ref] */ - uint8_t check_only; - } in; - - struct { - struct lsa_ForestTrustCollisionInfo **collision_info;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_CREDRRENAME { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupSids3 { - struct { - struct lsa_SidArray *sids;/* [ref] */ - enum lsa_LookupNamesLevel level; - enum lsa_LookupOptions lookup_options; - enum lsa_ClientRevision client_revision; - struct lsa_TransNameArray2 *names;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransNameArray2 *names;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LookupNames4 { - struct { - uint32_t num_names;/* [range(0,1000)] */ - struct lsa_String *names;/* [size_is(num_names)] */ - enum lsa_LookupNamesLevel level; - enum lsa_LookupOptions lookup_options; - enum lsa_ClientRevision client_revision; - struct lsa_TransSidArray3 *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - } in; - - struct { - struct lsa_RefDomainList **domains;/* [ref] */ - struct lsa_TransSidArray3 *sids;/* [ref] */ - uint32_t *count;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct lsa_LSAROPENPOLICYSCE { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE { - struct { - NTSTATUS result; - } out; - -}; - - -struct lsa_LSARADTREPORTSECURITYEVENT { - struct { - NTSTATUS result; - } out; - -}; - -#endif /* _HEADER_lsarpc */ diff --git a/librpc/gen_ndr/misc.h b/librpc/gen_ndr/misc.h deleted file mode 100644 index 6672c61323e..00000000000 --- a/librpc/gen_ndr/misc.h +++ /dev/null @@ -1,94 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#ifndef _HEADER_misc -#define _HEADER_misc - -struct GUID { - uint32_t time_low; - uint16_t time_mid; - uint16_t time_hi_and_version; - uint8_t clock_seq[2]; - uint8_t node[6]; -}/* [noprint,gensize,public] */; - -struct ndr_syntax_id { - struct GUID uuid; - uint32_t if_version; -}/* [public] */; - -struct policy_handle { - uint32_t handle_type; - struct GUID uuid; -}/* [public] */; - -enum netr_SchannelType -#ifndef USE_UINT_ENUMS - { - SEC_CHAN_NULL=(int)(0), - SEC_CHAN_WKSTA=(int)(2), - SEC_CHAN_DNS_DOMAIN=(int)(3), - SEC_CHAN_DOMAIN=(int)(4), - SEC_CHAN_BDC=(int)(6) -} -#else - { __donnot_use_enum_netr_SchannelType=0x7FFFFFFF} -#define SEC_CHAN_NULL ( 0 ) -#define SEC_CHAN_WKSTA ( 2 ) -#define SEC_CHAN_DNS_DOMAIN ( 3 ) -#define SEC_CHAN_DOMAIN ( 4 ) -#define SEC_CHAN_BDC ( 6 ) -#endif -; - -struct KRB5_EDATA_NTSTATUS { - NTSTATUS ntstatus; - uint32_t unknown1; - uint32_t unknown2; -}/* [public] */; - -enum winreg_Type -#ifndef USE_UINT_ENUMS - { - REG_NONE=(int)(0), - REG_SZ=(int)(1), - REG_EXPAND_SZ=(int)(2), - REG_BINARY=(int)(3), - REG_DWORD=(int)(4), - REG_DWORD_BIG_ENDIAN=(int)(5), - REG_LINK=(int)(6), - REG_MULTI_SZ=(int)(7), - REG_RESOURCE_LIST=(int)(8), - REG_FULL_RESOURCE_DESCRIPTOR=(int)(9), - REG_RESOURCE_REQUIREMENTS_LIST=(int)(10), - REG_QWORD=(int)(11) -} -#else - { __donnot_use_enum_winreg_Type=0x7FFFFFFF} -#define REG_NONE ( 0 ) -#define REG_SZ ( 1 ) -#define REG_EXPAND_SZ ( 2 ) -#define REG_BINARY ( 3 ) -#define REG_DWORD ( 4 ) -#define REG_DWORD_BIG_ENDIAN ( 5 ) -#define REG_LINK ( 6 ) -#define REG_MULTI_SZ ( 7 ) -#define REG_RESOURCE_LIST ( 8 ) -#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) -#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 ) -#define REG_QWORD ( 11 ) -#endif -; - -union winreg_Data { - const char * string;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_SZ)] */ - DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING),case(REG_BINARY)] */ - uint32_t value;/* [case(REG_DWORD)] */ - const char ** string_array;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */ - DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */ -}/* [public,nodiscriminant,flag(LIBNDR_FLAG_LITTLE_ENDIAN)] */; - -#endif /* _HEADER_misc */ diff --git a/librpc/gen_ndr/named_pipe_auth.h b/librpc/gen_ndr/named_pipe_auth.h deleted file mode 100644 index d292dfe356e..00000000000 --- a/librpc/gen_ndr/named_pipe_auth.h +++ /dev/null @@ -1,76 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/netlogon.h" -#ifndef _HEADER_named_pipe_auth -#define _HEADER_named_pipe_auth - -#define NAMED_PIPE_AUTH_MAGIC ( "NPAM" ) -struct named_pipe_auth_req_info2 { - const char *client_name;/* [unique,charset(UTF8)] */ - const char *client_addr;/* [unique,charset(DOS)] */ - uint16_t client_port; - const char *server_name;/* [unique,charset(UTF8)] */ - const char *server_addr;/* [unique,charset(DOS)] */ - uint16_t server_port; - struct netr_SamInfo3 *sam_info3;/* [unique] */ - uint32_t session_key_length; - uint8_t *session_key;/* [unique,size_is(session_key_length)] */ -}; - -struct named_pipe_auth_req_info3 { - const char *client_name;/* [unique,charset(UTF8)] */ - const char *client_addr;/* [unique,charset(DOS)] */ - uint16_t client_port; - const char *server_name;/* [unique,charset(UTF8)] */ - const char *server_addr;/* [unique,charset(DOS)] */ - uint16_t server_port; - struct netr_SamInfo3 *sam_info3;/* [unique] */ - uint32_t session_key_length; - uint8_t *session_key;/* [unique,size_is(session_key_length)] */ - uint32_t gssapi_delegated_creds_length; - uint8_t *gssapi_delegated_creds;/* [unique,size_is(gssapi_delegated_creds_length)] */ -}; - -union named_pipe_auth_req_info { - struct netr_SamInfo3 info1;/* [case] */ - struct named_pipe_auth_req_info2 info2;/* [case(2)] */ - struct named_pipe_auth_req_info3 info3;/* [case(3)] */ -}/* [switch_type(uint32)] */; - -struct named_pipe_auth_req { - uint32_t length;/* [value(ndr_size_named_pipe_auth_req(r,ndr->iconv_convenience,ndr->flags)-4),flag(LIBNDR_FLAG_BIGENDIAN)] */ - const char *magic;/* [value(NAMED_PIPE_AUTH_MAGIC),charset(DOS)] */ - uint32_t level; - union named_pipe_auth_req_info info;/* [switch_is(level)] */ -}/* [gensize,public] */; - -struct named_pipe_auth_rep_info2 { - uint16_t file_type; - uint16_t device_state; - uint64_t allocation_size; -}; - -struct named_pipe_auth_rep_info3 { - uint16_t file_type; - uint16_t device_state; - uint64_t allocation_size; -}; - -union named_pipe_auth_rep_info { - struct named_pipe_auth_rep_info2 info2;/* [case(2)] */ - struct named_pipe_auth_rep_info3 info3;/* [case(3)] */ -}/* [switch_type(uint32)] */; - -struct named_pipe_auth_rep { - uint32_t length;/* [value(ndr_size_named_pipe_auth_rep(r,ndr->iconv_convenience,ndr->flags)-4),flag(LIBNDR_FLAG_BIGENDIAN)] */ - const char *magic;/* [value(NAMED_PIPE_AUTH_MAGIC),charset(DOS)] */ - uint32_t level; - union named_pipe_auth_rep_info info;/* [switch_is(level)] */ - NTSTATUS status; -}/* [gensize,public] */; - -#endif /* _HEADER_named_pipe_auth */ diff --git a/librpc/gen_ndr/nbt.h b/librpc/gen_ndr/nbt.h deleted file mode 100644 index 49f96c26e16..00000000000 --- a/librpc/gen_ndr/nbt.h +++ /dev/null @@ -1,698 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/svcctl.h" -#include "librpc/gen_ndr/samr.h" -#ifndef _HEADER_nbt -#define _HEADER_nbt - -#define NBT_NAME_SERVICE_PORT ( 137 ) -#define NBT_DGRAM_SERVICE_PORT ( 138 ) -#define NBT_MAILSLOT_NETLOGON ( "\\MAILSLOT\\NET\\NETLOGON" ) -#define NBT_MAILSLOT_NTLOGON ( "\\MAILSLOT\\NET\\NTLOGON" ) -#define NBT_MAILSLOT_GETDC ( "\\MAILSLOT\\NET\\GETDC" ) -#define NBT_MAILSLOT_BROWSE ( "\\MAILSLOT\\BROWSE" ) -#define DGRAM_SMB ( 0xff534d42 ) -/* bitmap nbt_operation */ -#define NBT_RCODE ( 0x000F ) -#define NBT_FLAG_BROADCAST ( 0x0010 ) -#define NBT_FLAG_RECURSION_AVAIL ( 0x0080 ) -#define NBT_FLAG_RECURSION_DESIRED ( 0x0100 ) -#define NBT_FLAG_TRUNCATION ( 0x0200 ) -#define NBT_FLAG_AUTHORITIVE ( 0x0400 ) -#define NBT_OPCODE ( 0x7800 ) -#define NBT_FLAG_REPLY ( 0x8000 ) - -enum nbt_opcode -#ifndef USE_UINT_ENUMS - { - NBT_OPCODE_QUERY=(int)((0x0<<11)), - NBT_OPCODE_REGISTER=(int)((0x5<<11)), - NBT_OPCODE_RELEASE=(int)((0x6<<11)), - NBT_OPCODE_WACK=(int)((0x7<<11)), - NBT_OPCODE_REFRESH=(int)((0x8<<11)), - NBT_OPCODE_REFRESH2=(int)((0x9<<11)), - NBT_OPCODE_MULTI_HOME_REG=(int)((0xf<<11)) -} -#else - { __donnot_use_enum_nbt_opcode=0x7FFFFFFF} -#define NBT_OPCODE_QUERY ( (0x0<<11) ) -#define NBT_OPCODE_REGISTER ( (0x5<<11) ) -#define NBT_OPCODE_RELEASE ( (0x6<<11) ) -#define NBT_OPCODE_WACK ( (0x7<<11) ) -#define NBT_OPCODE_REFRESH ( (0x8<<11) ) -#define NBT_OPCODE_REFRESH2 ( (0x9<<11) ) -#define NBT_OPCODE_MULTI_HOME_REG ( (0xf<<11) ) -#endif -; - -enum nbt_rcode -#ifndef USE_UINT_ENUMS - { - NBT_RCODE_OK=(int)(0x0), - NBT_RCODE_FMT=(int)(0x1), - NBT_RCODE_SVR=(int)(0x2), - NBT_RCODE_NAM=(int)(0x3), - NBT_RCODE_IMP=(int)(0x4), - NBT_RCODE_RFS=(int)(0x5), - NBT_RCODE_ACT=(int)(0x6), - NBT_RCODE_CFT=(int)(0x7) -} -#else - { __donnot_use_enum_nbt_rcode=0x7FFFFFFF} -#define NBT_RCODE_OK ( 0x0 ) -#define NBT_RCODE_FMT ( 0x1 ) -#define NBT_RCODE_SVR ( 0x2 ) -#define NBT_RCODE_NAM ( 0x3 ) -#define NBT_RCODE_IMP ( 0x4 ) -#define NBT_RCODE_RFS ( 0x5 ) -#define NBT_RCODE_ACT ( 0x6 ) -#define NBT_RCODE_CFT ( 0x7 ) -#endif -; - -enum nbt_name_type -#ifndef USE_UINT_ENUMS - { - NBT_NAME_CLIENT=(int)(0x00), - NBT_NAME_MS=(int)(0x01), - NBT_NAME_USER=(int)(0x03), - NBT_NAME_SERVER=(int)(0x20), - NBT_NAME_PDC=(int)(0x1B), - NBT_NAME_LOGON=(int)(0x1C), - NBT_NAME_MASTER=(int)(0x1D), - NBT_NAME_BROWSER=(int)(0x1E) -} -#else - { __donnot_use_enum_nbt_name_type=0x7FFFFFFF} -#define NBT_NAME_CLIENT ( 0x00 ) -#define NBT_NAME_MS ( 0x01 ) -#define NBT_NAME_USER ( 0x03 ) -#define NBT_NAME_SERVER ( 0x20 ) -#define NBT_NAME_PDC ( 0x1B ) -#define NBT_NAME_LOGON ( 0x1C ) -#define NBT_NAME_MASTER ( 0x1D ) -#define NBT_NAME_BROWSER ( 0x1E ) -#endif -; - -struct nbt_name { - const char * name; - const char * scope; - enum nbt_name_type type; -}/* [nopull,public,nopush] */; - -enum nbt_qclass -#ifndef USE_UINT_ENUMS - { - NBT_QCLASS_IP=(int)(0x01) -} -#else - { __donnot_use_enum_nbt_qclass=0x7FFFFFFF} -#define NBT_QCLASS_IP ( 0x01 ) -#endif -; - -enum nbt_qtype -#ifndef USE_UINT_ENUMS - { - NBT_QTYPE_ADDRESS=(int)(0x0001), - NBT_QTYPE_NAMESERVICE=(int)(0x0002), - NBT_QTYPE_NULL=(int)(0x000A), - NBT_QTYPE_NETBIOS=(int)(0x0020), - NBT_QTYPE_STATUS=(int)(0x0021) -} -#else - { __donnot_use_enum_nbt_qtype=0x7FFFFFFF} -#define NBT_QTYPE_ADDRESS ( 0x0001 ) -#define NBT_QTYPE_NAMESERVICE ( 0x0002 ) -#define NBT_QTYPE_NULL ( 0x000A ) -#define NBT_QTYPE_NETBIOS ( 0x0020 ) -#define NBT_QTYPE_STATUS ( 0x0021 ) -#endif -; - -struct nbt_name_question { - struct nbt_name name; - enum nbt_qtype question_type; - enum nbt_qclass question_class; -}; - -enum nbt_node_type -#ifndef USE_UINT_ENUMS - { - NBT_NODE_B=(int)(0x0000), - NBT_NODE_P=(int)(0x2000), - NBT_NODE_M=(int)(0x4000), - NBT_NODE_H=(int)(0x6000) -} -#else - { __donnot_use_enum_nbt_node_type=0x7FFFFFFF} -#define NBT_NODE_B ( 0x0000 ) -#define NBT_NODE_P ( 0x2000 ) -#define NBT_NODE_M ( 0x4000 ) -#define NBT_NODE_H ( 0x6000 ) -#endif -; - -/* bitmap nb_flags */ -#define NBT_NM_PERMANENT ( 0x0200 ) -#define NBT_NM_ACTIVE ( 0x0400 ) -#define NBT_NM_CONFLICT ( 0x0800 ) -#define NBT_NM_DEREGISTER ( 0x1000 ) -#define NBT_NM_OWNER_TYPE ( 0x6000 ) -#define NBT_NM_GROUP ( 0x8000 ) - -struct nbt_rdata_address { - uint16_t nb_flags; - const char * ipaddr; -}; - -struct nbt_rdata_netbios { - uint16_t length; - struct nbt_rdata_address *addresses; -}; - -struct nbt_statistics { - uint8_t unit_id[6]; - uint8_t jumpers; - uint8_t test_result; - uint16_t version_number; - uint16_t period_of_statistics; - uint16_t number_of_crcs; - uint16_t number_alignment_errors; - uint16_t number_of_collisions; - uint16_t number_send_aborts; - uint32_t number_good_sends; - uint32_t number_good_receives; - uint16_t number_retransmits; - uint16_t number_no_resource_conditions; - uint16_t number_free_command_blocks; - uint16_t total_number_command_blocks; - uint16_t max_total_number_command_blocks; - uint16_t number_pending_sessions; - uint16_t max_number_pending_sessions; - uint16_t max_total_sessions_possible; - uint16_t session_data_packet_size; -}; - -struct nbt_status_name { - const char *name;/* [charset(DOS)] */ - enum nbt_name_type type; - uint16_t nb_flags; -}; - -struct nbt_rdata_status { - uint16_t length;/* [value(num_names*18+47)] */ - uint8_t num_names; - struct nbt_status_name *names; - struct nbt_statistics statistics; -}; - -struct nbt_rdata_data { - uint16_t length; - uint8_t *data; -}; - -union nbt_rdata { - struct nbt_rdata_netbios netbios;/* [case(NBT_QTYPE_NETBIOS)] */ - struct nbt_rdata_status status;/* [case(NBT_QTYPE_STATUS)] */ - struct nbt_rdata_data data;/* [default] */ -}/* [nodiscriminant,public] */; - -struct nbt_res_rec { - struct nbt_name name; - enum nbt_qtype rr_type; - enum nbt_qclass rr_class; - uint32_t ttl; - union nbt_rdata rdata;/* [switch_is(rr_type)] */ -}/* [nopush,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct nbt_name_packet { - uint16_t name_trn_id; - uint16_t operation; - uint16_t qdcount; - uint16_t ancount; - uint16_t nscount; - uint16_t arcount; - struct nbt_name_question *questions; - struct nbt_res_rec *answers; - struct nbt_res_rec *nsrecs; - struct nbt_res_rec *additional; - DATA_BLOB padding;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */; - -enum dgram_msg_type -#ifndef USE_UINT_ENUMS - { - DGRAM_DIRECT_UNIQUE=(int)(0x10), - DGRAM_DIRECT_GROUP=(int)(0x11), - DGRAM_BCAST=(int)(0x12), - DGRAM_ERROR=(int)(0x13), - DGRAM_QUERY=(int)(0x14), - DGRAM_QUERY_POSITIVE=(int)(0x15), - DGRAM_QUERY_NEGATIVE=(int)(0x16) -} -#else - { __donnot_use_enum_dgram_msg_type=0x7FFFFFFF} -#define DGRAM_DIRECT_UNIQUE ( 0x10 ) -#define DGRAM_DIRECT_GROUP ( 0x11 ) -#define DGRAM_BCAST ( 0x12 ) -#define DGRAM_ERROR ( 0x13 ) -#define DGRAM_QUERY ( 0x14 ) -#define DGRAM_QUERY_POSITIVE ( 0x15 ) -#define DGRAM_QUERY_NEGATIVE ( 0x16 ) -#endif -; - -/* bitmap dgram_flags */ -#define DGRAM_FLAG_MORE ( 0x01 ) -#define DGRAM_FLAG_FIRST ( 0x02 ) -#define DGRAM_FLAG_NODE_TYPE ( 0x0C ) - -enum dgram_node_type -#ifndef USE_UINT_ENUMS - { - DGRAM_NODE_B=(int)(0x00), - DGRAM_NODE_P=(int)(0x04), - DGRAM_NODE_M=(int)(0x08), - DGRAM_NODE_NBDD=(int)(0x0C) -} -#else - { __donnot_use_enum_dgram_node_type=0x7FFFFFFF} -#define DGRAM_NODE_B ( 0x00 ) -#define DGRAM_NODE_P ( 0x04 ) -#define DGRAM_NODE_M ( 0x08 ) -#define DGRAM_NODE_NBDD ( 0x0C ) -#endif -; - -enum smb_command -#ifndef USE_UINT_ENUMS - { - SMB_TRANSACTION=(int)(0x25) -} -#else - { __donnot_use_enum_smb_command=0x7FFFFFFF} -#define SMB_TRANSACTION ( 0x25 ) -#endif -; - -struct smb_trans_body { - uint8_t wct;/* [value(17),range(17,17)] */ - uint16_t total_param_count; - uint16_t total_data_count; - uint16_t max_param_count; - uint16_t max_data_count; - uint8_t max_setup_count; - uint8_t pad; - uint16_t trans_flags; - uint32_t timeout; - uint16_t reserved; - uint16_t param_count; - uint16_t param_offset; - uint16_t data_count; - uint16_t data_offset; - uint8_t setup_count;/* [value(3),range(3,3)] */ - uint8_t pad2; - uint16_t opcode; - uint16_t priority; - uint16_t _class; - uint16_t byte_count;/* [value(strlen(mailslot_name)+1+data.length)] */ - const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -union smb_body { - struct smb_trans_body trans;/* [case(SMB_TRANSACTION)] */ -}/* [nodiscriminant] */; - -struct dgram_smb_packet { - enum smb_command smb_command; - uint8_t err_class; - uint8_t pad; - uint16_t err_code; - uint8_t flags; - uint16_t flags2; - uint16_t pid_high; - uint8_t signature[8]; - uint16_t reserved; - uint16_t tid; - uint16_t pid; - uint16_t vuid; - uint16_t mid; - union smb_body body;/* [switch_is(smb_command)] */ -}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */; - -union dgram_message_body { - struct dgram_smb_packet smb;/* [case(DGRAM_SMB)] */ -}/* [nodiscriminant] */; - -struct dgram_message { - uint16_t length; - uint16_t offset; - struct nbt_name source_name; - struct nbt_name dest_name; - uint32_t dgram_body_type; - union dgram_message_body body;/* [switch_is(dgram_body_type)] */ -}; - -enum dgram_err_code -#ifndef USE_UINT_ENUMS - { - DGRAM_ERROR_NAME_NOT_PRESENT=(int)(0x82), - DGRAM_ERROR_INVALID_SOURCE=(int)(0x83), - DGRAM_ERROR_INVALID_DEST=(int)(0x84) -} -#else - { __donnot_use_enum_dgram_err_code=0x7FFFFFFF} -#define DGRAM_ERROR_NAME_NOT_PRESENT ( 0x82 ) -#define DGRAM_ERROR_INVALID_SOURCE ( 0x83 ) -#define DGRAM_ERROR_INVALID_DEST ( 0x84 ) -#endif -; - -union dgram_data { - struct dgram_message msg;/* [case(DGRAM_DIRECT_UNIQUE)] */ - enum dgram_err_code error;/* [case(DGRAM_ERROR)] */ - struct nbt_name dest_name;/* [case(DGRAM_QUERY)] */ -}/* [nodiscriminant] */; - -struct nbt_dgram_packet { - enum dgram_msg_type msg_type; - uint8_t flags; - uint16_t dgram_id; - const char * src_addr; - uint16_t src_port; - union dgram_data data;/* [switch_is(msg_type)] */ -}/* [public,flag(LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX)] */; - -struct nbt_sockaddr { - uint32_t sockaddr_family; - const char * pdc_ip;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */ - DATA_BLOB remaining;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}/* [gensize,public] */; - -/* bitmap nbt_server_type */ -#define NBT_SERVER_PDC ( 0x00000001 ) -#define NBT_SERVER_GC ( 0x00000004 ) -#define NBT_SERVER_LDAP ( 0x00000008 ) -#define NBT_SERVER_DS ( 0x00000010 ) -#define NBT_SERVER_KDC ( 0x00000020 ) -#define NBT_SERVER_TIMESERV ( 0x00000040 ) -#define NBT_SERVER_CLOSEST ( 0x00000080 ) -#define NBT_SERVER_WRITABLE ( 0x00000100 ) -#define NBT_SERVER_GOOD_TIMESERV ( 0x00000200 ) -#define NBT_SERVER_NDNC ( 0x00000400 ) -#define NBT_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 ) -#define NBT_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 ) -#define NBT_SERVER_ADS_WEB_SERVICE ( 0x00002000 ) -#define NBT_SERVER_HAS_DNS_NAME ( 0x20000000 ) -#define NBT_SERVER_IS_DEFAULT_NC ( 0x40000000 ) -#define NBT_SERVER_FOREST_ROOT ( 0x80000000 ) - -/* bitmap netlogon_nt_version_flags */ -#define NETLOGON_NT_VERSION_1 ( 0x00000001 ) -#define NETLOGON_NT_VERSION_5 ( 0x00000002 ) -#define NETLOGON_NT_VERSION_5EX ( 0x00000004 ) -#define NETLOGON_NT_VERSION_5EX_WITH_IP ( 0x00000008 ) -#define NETLOGON_NT_VERSION_WITH_CLOSEST_SITE ( 0x00000010 ) -#define NETLOGON_NT_VERSION_AVIOD_NT4EMUL ( 0x01000000 ) -#define NETLOGON_NT_VERSION_PDC ( 0x10000000 ) -#define NETLOGON_NT_VERSION_IP ( 0x20000000 ) -#define NETLOGON_NT_VERSION_LOCAL ( 0x40000000 ) -#define NETLOGON_NT_VERSION_GC ( 0x80000000 ) - -enum netlogon_command -#ifndef USE_UINT_ENUMS - { - LOGON_PRIMARY_QUERY=(int)(7), - NETLOGON_ANNOUNCE_UAS=(int)(10), - NETLOGON_RESPONSE_FROM_PDC=(int)(12), - LOGON_SAM_LOGON_REQUEST=(int)(18), - LOGON_SAM_LOGON_RESPONSE=(int)(19), - LOGON_SAM_LOGON_PAUSE_RESPONSE=(int)(20), - LOGON_SAM_LOGON_USER_UNKNOWN=(int)(21), - LOGON_SAM_LOGON_RESPONSE_EX=(int)(23), - LOGON_SAM_LOGON_PAUSE_RESPONSE_EX=(int)(24), - LOGON_SAM_LOGON_USER_UNKNOWN_EX=(int)(25) -} -#else - { __donnot_use_enum_netlogon_command=0x7FFFFFFF} -#define LOGON_PRIMARY_QUERY ( 7 ) -#define NETLOGON_ANNOUNCE_UAS ( 10 ) -#define NETLOGON_RESPONSE_FROM_PDC ( 12 ) -#define LOGON_SAM_LOGON_REQUEST ( 18 ) -#define LOGON_SAM_LOGON_RESPONSE ( 19 ) -#define LOGON_SAM_LOGON_PAUSE_RESPONSE ( 20 ) -#define LOGON_SAM_LOGON_USER_UNKNOWN ( 21 ) -#define LOGON_SAM_LOGON_RESPONSE_EX ( 23 ) -#define LOGON_SAM_LOGON_PAUSE_RESPONSE_EX ( 24 ) -#define LOGON_SAM_LOGON_USER_UNKNOWN_EX ( 25 ) -#endif -; - -struct NETLOGON_SAM_LOGON_REQUEST { - uint16_t request_count; - const char * computer_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t acct_control; - uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */ - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */ - struct dom_sid0 sid;/* [subcontext_size(sid_size),subcontext(0)] */ - uint32_t nt_version; - uint16_t lmnt_token; - uint16_t lm20_token; -}/* [nopull,nopush] */; - -struct NETLOGON_SAM_LOGON_RESPONSE_NT40 { - enum netlogon_command command; - const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t nt_version; - uint16_t lmnt_token; - uint16_t lm20_token; -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct NETLOGON_SAM_LOGON_RESPONSE { - enum netlogon_command command; - const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * user_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct GUID domain_uuid; - struct GUID zero_uuid; - const char * forest; - const char * dns_domain; - const char * pdc_dns_name; - const char * pdc_ip; - uint32_t server_type; - uint32_t nt_version; - uint16_t lmnt_token; - uint16_t lm20_token; -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct NETLOGON_SAM_LOGON_RESPONSE_EX { - enum netlogon_command command; - uint16_t sbz; - uint32_t server_type; - struct GUID domain_uuid; - const char * forest; - const char * dns_domain; - const char * pdc_dns_name; - const char * domain_name; - const char * pdc_name; - const char * user_name; - const char * server_site; - const char * client_site; - uint8_t sockaddr_size;/* [value(ndr_size_nbt_sockaddr(&sockaddr,ndr->iconv_convenience,ndr->flags))] */ - struct nbt_sockaddr sockaddr;/* [subcontext_size(sockaddr_size),subcontext(0)] */ - const char * next_closest_site; - uint32_t nt_version; - uint16_t lmnt_token; - uint16_t lm20_token; -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct nbt_netlogon_query_for_pdc { - const char * computer_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - const char * mailslot_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */ - const char * unicode_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t nt_version; - uint16_t lmnt_token; - uint16_t lm20_token; -}; - -struct nbt_netlogon_response_from_pdc { - enum netlogon_command command; - const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */ - const char * unicode_pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * domain_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t nt_version; - uint16_t lmnt_token; - uint16_t lm20_token; -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct nbt_db_change_info { - enum netr_SamDatabaseID db_index; - uint64_t serial; - NTTIME timestamp; -}; - -struct NETLOGON_DB_CHANGE { - uint32_t serial_lo; - time_t timestamp; - uint32_t pulse; - uint32_t random; - const char * pdc_name;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - const char * domain;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN2)] */ - const char * unicode_pdc_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * unicode_domain;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t db_count; - struct nbt_db_change_info *dbchange; - uint32_t sid_size;/* [value(ndr_size_dom_sid0(&sid,ndr->flags))] */ - struct dom_sid0 sid;/* [subcontext_size(sid_size),subcontext(0)] */ - uint32_t message_format_version; - uint32_t message_token; -}; - -union nbt_netlogon_request { - struct NETLOGON_SAM_LOGON_REQUEST logon;/* [case(LOGON_SAM_LOGON_REQUEST)] */ - struct nbt_netlogon_query_for_pdc pdc;/* [case(LOGON_PRIMARY_QUERY)] */ - struct NETLOGON_DB_CHANGE uas;/* [case(NETLOGON_ANNOUNCE_UAS)] */ -}/* [nodiscriminant] */; - -struct nbt_netlogon_packet { - enum netlogon_command command; - union nbt_netlogon_request req;/* [switch_is(command)] */ -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -enum nbt_browse_opcode -#ifndef USE_UINT_ENUMS - { - HostAnnouncement=(int)(1), - AnnouncementRequest=(int)(2), - Election=(int)(8), - GetBackupListReq=(int)(9), - GetBackupListResp=(int)(10), - BecomeBackup=(int)(11), - DomainAnnouncement=(int)(12), - MasterAnnouncement=(int)(13), - ResetBrowserState=(int)(14), - LocalMasterAnnouncement=(int)(15) -} -#else - { __donnot_use_enum_nbt_browse_opcode=0x7FFFFFFF} -#define HostAnnouncement ( 1 ) -#define AnnouncementRequest ( 2 ) -#define Election ( 8 ) -#define GetBackupListReq ( 9 ) -#define GetBackupListResp ( 10 ) -#define BecomeBackup ( 11 ) -#define DomainAnnouncement ( 12 ) -#define MasterAnnouncement ( 13 ) -#define ResetBrowserState ( 14 ) -#define LocalMasterAnnouncement ( 15 ) -#endif -; - -struct nbt_browse_host_announcement { - uint8_t UpdateCount; - uint32_t Periodicity; - const char *ServerName;/* [charset(DOS)] */ - uint8_t OSMajor; - uint8_t OSMinor; - uint32_t ServerType; - uint8_t BroMajorVer; - uint8_t BroMinorVer; - uint16_t Signature; - const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct nbt_browse_announcement_request { - uint8_t Unused; - const char * ResponseName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct nbt_browse_election_request { - uint8_t Version; - uint32_t Criteria; - uint32_t UpTime; - uint32_t Reserved; - const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct nbt_browse_backup_list_request { - uint8_t ReqCount; - uint32_t Token; -}; - -struct nbt_browse_backup_list_response { - uint8_t BackupCount; - uint32_t Token; - struct nbt_name *BackupServerList; -}; - -struct nbt_browse_become_backup { - const char * BrowserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct nbt_browse_domain_announcement { - uint8_t UpdateCount; - uint32_t Periodicity; - const char *ServerName;/* [charset(DOS)] */ - uint8_t OSMajor; - uint8_t OSMinor; - uint32_t ServerType; - uint32_t MysteriousField; - const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct nbt_browse_master_announcement { - const char * ServerName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct nbt_browse_reset_state { - uint8_t Command; -}; - -struct nbt_browse_local_master_announcement { - uint8_t UpdateCount; - uint32_t Periodicity; - const char *ServerName;/* [charset(DOS)] */ - uint8_t OSMajor; - uint8_t OSMinor; - uint32_t ServerType; - uint8_t BroMajorVer; - uint8_t BroMinorVer; - uint16_t Signature; - const char * Comment;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -union nbt_browse_payload { - struct nbt_browse_host_announcement host_annoucement;/* [case(HostAnnouncement)] */ - struct nbt_browse_announcement_request announcement_request;/* [case(AnnouncementRequest)] */ - struct nbt_browse_election_request election_request;/* [case(Election)] */ - struct nbt_browse_backup_list_request backup_list_request;/* [case(GetBackupListReq)] */ - struct nbt_browse_backup_list_response backup_list_response;/* [case(GetBackupListResp)] */ - struct nbt_browse_become_backup become_backup;/* [case(BecomeBackup)] */ - struct nbt_browse_domain_announcement domain_announcement;/* [case(DomainAnnouncement)] */ - struct nbt_browse_master_announcement master_announcement;/* [case(MasterAnnouncement)] */ - struct nbt_browse_reset_state reset_browser_state;/* [case(ResetBrowserState)] */ - struct nbt_browse_local_master_announcement local_master_announcement;/* [case(LocalMasterAnnouncement)] */ -}/* [nodiscriminant] */; - -struct nbt_browse_packet { - enum nbt_browse_opcode opcode; - union nbt_browse_payload payload;/* [switch_is(opcode)] */ -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -#endif /* _HEADER_nbt */ diff --git a/librpc/gen_ndr/ndr_dcerpc.c b/librpc/gen_ndr/ndr_dcerpc.c deleted file mode 100644 index 2410ae86129..00000000000 --- a/librpc/gen_ndr/ndr_dcerpc.c +++ /dev/null @@ -1,1943 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_dcerpc.h" - -#include "librpc/gen_ndr/ndr_misc.h" -static enum ndr_err_code ndr_push_dcerpc_ctx_list(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ctx_list *r) -{ - uint32_t cntr_transfer_syntaxes_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_transfer_syntaxes)); - NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->abstract_syntax)); - for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) { - NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->transfer_syntaxes[cntr_transfer_syntaxes_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_ctx_list(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ctx_list *r) -{ - uint32_t cntr_transfer_syntaxes_0; - TALLOC_CTX *_mem_save_transfer_syntaxes_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_transfer_syntaxes)); - NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->abstract_syntax)); - NDR_PULL_ALLOC_N(ndr, r->transfer_syntaxes, r->num_transfer_syntaxes); - _mem_save_transfer_syntaxes_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->transfer_syntaxes, 0); - for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) { - NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->transfer_syntaxes[cntr_transfer_syntaxes_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transfer_syntaxes_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_ctx_list(struct ndr_print *ndr, const char *name, const struct dcerpc_ctx_list *r) -{ - uint32_t cntr_transfer_syntaxes_0; - ndr_print_struct(ndr, name, "dcerpc_ctx_list"); - ndr->depth++; - ndr_print_uint16(ndr, "context_id", r->context_id); - ndr_print_uint8(ndr, "num_transfer_syntaxes", r->num_transfer_syntaxes); - ndr_print_ndr_syntax_id(ndr, "abstract_syntax", &r->abstract_syntax); - ndr->print(ndr, "%s: ARRAY(%d)", "transfer_syntaxes", (int)r->num_transfer_syntaxes); - ndr->depth++; - for (cntr_transfer_syntaxes_0=0;cntr_transfer_syntaxes_0num_transfer_syntaxes;cntr_transfer_syntaxes_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_transfer_syntaxes_0) != -1) { - ndr_print_ndr_syntax_id(ndr, "transfer_syntaxes", &r->transfer_syntaxes[cntr_transfer_syntaxes_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_bind(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind *r) -{ - uint32_t cntr_ctx_list_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_contexts)); - for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; cntr_ctx_list_0++) { - NDR_CHECK(ndr_push_dcerpc_ctx_list(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0])); - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_bind(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind *r) -{ - uint32_t cntr_ctx_list_0; - TALLOC_CTX *_mem_save_ctx_list_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->assoc_group_id)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_contexts)); - NDR_PULL_ALLOC_N(ndr, r->ctx_list, r->num_contexts); - _mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0); - for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; cntr_ctx_list_0++) { - NDR_CHECK(ndr_pull_dcerpc_ctx_list(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_bind(struct ndr_print *ndr, const char *name, const struct dcerpc_bind *r) -{ - uint32_t cntr_ctx_list_0; - ndr_print_struct(ndr, name, "dcerpc_bind"); - ndr->depth++; - ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag); - ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag); - ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id); - ndr_print_uint8(ndr, "num_contexts", r->num_contexts); - ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_contexts); - ndr->depth++; - for (cntr_ctx_list_0=0;cntr_ctx_list_0num_contexts;cntr_ctx_list_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_ctx_list_0) != -1) { - ndr_print_dcerpc_ctx_list(ndr, "ctx_list", &r->ctx_list[cntr_ctx_list_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_empty(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_empty *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_empty(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_empty *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_empty(struct ndr_print *ndr, const char *name, const struct dcerpc_empty *r) -{ - ndr_print_struct(ndr, name, "dcerpc_empty"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_object(struct ndr_push *ndr, int ndr_flags, const union dcerpc_object *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - default: { - NDR_CHECK(ndr_push_dcerpc_empty(ndr, NDR_SCALARS, &r->empty)); - break; } - - case LIBNDR_FLAG_OBJECT_PRESENT: { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - default: - break; - - case LIBNDR_FLAG_OBJECT_PRESENT: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_object(struct ndr_pull *ndr, int ndr_flags, union dcerpc_object *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - default: { - NDR_CHECK(ndr_pull_dcerpc_empty(ndr, NDR_SCALARS, &r->empty)); - break; } - - case LIBNDR_FLAG_OBJECT_PRESENT: { - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - default: - break; - - case LIBNDR_FLAG_OBJECT_PRESENT: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_object(struct ndr_print *ndr, const char *name, const union dcerpc_object *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dcerpc_object"); - switch (level) { - default: - ndr_print_dcerpc_empty(ndr, "empty", &r->empty); - break; - - case LIBNDR_FLAG_OBJECT_PRESENT: - ndr_print_GUID(ndr, "object", &r->object); - break; - - } -} - -static enum ndr_err_code ndr_push_dcerpc_request(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT)); - NDR_CHECK(ndr_push_dcerpc_object(ndr, NDR_SCALARS, &r->object)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->stub_and_verifier)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_request(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT)); - NDR_CHECK(ndr_pull_dcerpc_object(ndr, NDR_SCALARS, &r->object)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->stub_and_verifier)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_request(struct ndr_print *ndr, const char *name, const struct dcerpc_request *r) -{ - ndr_print_struct(ndr, name, "dcerpc_request"); - ndr->depth++; - ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint); - ndr_print_uint16(ndr, "context_id", r->context_id); - ndr_print_uint16(ndr, "opnum", r->opnum); - ndr_print_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT); - ndr_print_dcerpc_object(ndr, "object", &r->object); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr_print_DATA_BLOB(ndr, "stub_and_verifier", r->stub_and_verifier); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_ack_ctx(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack_ctx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->result)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reason)); - NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_ack_ctx(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack_ctx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->result)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reason)); - NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_ack_ctx(struct ndr_print *ndr, const char *name, const struct dcerpc_ack_ctx *r) -{ - ndr_print_struct(ndr, name, "dcerpc_ack_ctx"); - ndr->depth++; - ndr_print_uint16(ndr, "result", r->result); - ndr_print_uint16(ndr, "reason", r->reason); - ndr_print_ndr_syntax_id(ndr, "syntax", &r->syntax); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_bind_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_ack *r) -{ - uint32_t cntr_ctx_list_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->secondary_address) + 1)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->secondary_address, strlen(r->secondary_address) + 1, sizeof(uint8_t), CH_DOS)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad1)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_results)); - for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_results; cntr_ctx_list_0++) { - NDR_CHECK(ndr_push_dcerpc_ack_ctx(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0])); - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_bind_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_ack *r) -{ - uint32_t cntr_ctx_list_0; - TALLOC_CTX *_mem_save_ctx_list_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->assoc_group_id)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->secondary_address_size)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->secondary_address, r->secondary_address_size, sizeof(uint8_t), CH_DOS)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad1)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_results)); - NDR_PULL_ALLOC_N(ndr, r->ctx_list, r->num_results); - _mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0); - for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_results; cntr_ctx_list_0++) { - NDR_CHECK(ndr_pull_dcerpc_ack_ctx(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_bind_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_ack *r) -{ - uint32_t cntr_ctx_list_0; - ndr_print_struct(ndr, name, "dcerpc_bind_ack"); - ndr->depth++; - ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag); - ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag); - ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id); - ndr_print_uint16(ndr, "secondary_address_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->secondary_address) + 1:r->secondary_address_size); - ndr_print_string(ndr, "secondary_address", r->secondary_address); - ndr_print_DATA_BLOB(ndr, "_pad1", r->_pad1); - ndr_print_uint8(ndr, "num_results", r->num_results); - ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_results); - ndr->depth++; - for (cntr_ctx_list_0=0;cntr_ctx_list_0num_results;cntr_ctx_list_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_ctx_list_0) != -1) { - ndr_print_dcerpc_ack_ctx(ndr, "ctx_list", &r->ctx_list[cntr_ctx_list_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_bind_nak_versions(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_nak_versions *r) -{ - uint32_t cntr_versions_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_versions)); - for (cntr_versions_0 = 0; cntr_versions_0 < r->num_versions; cntr_versions_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->versions[cntr_versions_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_bind_nak_versions(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_nak_versions *r) -{ - uint32_t cntr_versions_0; - TALLOC_CTX *_mem_save_versions_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_versions)); - NDR_PULL_ALLOC_N(ndr, r->versions, r->num_versions); - _mem_save_versions_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->versions, 0); - for (cntr_versions_0 = 0; cntr_versions_0 < r->num_versions; cntr_versions_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->versions[cntr_versions_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_versions_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_bind_nak_versions(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak_versions *r) -{ - uint32_t cntr_versions_0; - ndr_print_struct(ndr, name, "dcerpc_bind_nak_versions"); - ndr->depth++; - ndr_print_uint32(ndr, "num_versions", r->num_versions); - ndr->print(ndr, "%s: ARRAY(%d)", "versions", (int)r->num_versions); - ndr->depth++; - for (cntr_versions_0=0;cntr_versions_0num_versions;cntr_versions_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_versions_0) != -1) { - ndr_print_uint32(ndr, "versions", r->versions[cntr_versions_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_bind_nak_versions_ctr(struct ndr_push *ndr, int ndr_flags, const union dcerpc_bind_nak_versions_ctr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: { - NDR_CHECK(ndr_push_dcerpc_bind_nak_versions(ndr, NDR_SCALARS, &r->v)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_bind_nak_versions_ctr(struct ndr_pull *ndr, int ndr_flags, union dcerpc_bind_nak_versions_ctr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: { - NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions(ndr, NDR_SCALARS, &r->v)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_bind_nak_versions_ctr(struct ndr_print *ndr, const char *name, const union dcerpc_bind_nak_versions_ctr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dcerpc_bind_nak_versions_ctr"); - switch (level) { - case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: - ndr_print_dcerpc_bind_nak_versions(ndr, "v", &r->v); - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_dcerpc_bind_nak(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_nak *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reject_reason)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->versions, r->reject_reason)); - NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, NDR_SCALARS, &r->versions)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, NDR_BUFFERS, &r->versions)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_bind_nak(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_nak *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reject_reason)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->versions, r->reject_reason)); - NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, NDR_SCALARS, &r->versions)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, NDR_BUFFERS, &r->versions)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_bind_nak(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak *r) -{ - ndr_print_struct(ndr, name, "dcerpc_bind_nak"); - ndr->depth++; - ndr_print_uint16(ndr, "reject_reason", r->reject_reason); - ndr_print_set_switch_value(ndr, &r->versions, r->reject_reason); - ndr_print_dcerpc_bind_nak_versions_ctr(ndr, "versions", &r->versions); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_response(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_response *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->cancel_count)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->stub_and_verifier)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_response(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_response *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->cancel_count)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->stub_and_verifier)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_response(struct ndr_print *ndr, const char *name, const struct dcerpc_response *r) -{ - ndr_print_struct(ndr, name, "dcerpc_response"); - ndr->depth++; - ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint); - ndr_print_uint16(ndr, "context_id", r->context_id); - ndr_print_uint8(ndr, "cancel_count", r->cancel_count); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr_print_DATA_BLOB(ndr, "stub_and_verifier", r->stub_and_verifier); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_nca_status(struct ndr_push *ndr, int ndr_flags, enum dcerpc_nca_status r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_nca_status(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_nca_status *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_nca_status(struct ndr_print *ndr, const char *name, enum dcerpc_nca_status r) -{ - const char *val = NULL; - - switch (r) { - case DCERPC_NCA_S_COMM_FAILURE: val = "DCERPC_NCA_S_COMM_FAILURE"; break; - case DCERPC_NCA_S_OP_RNG_ERROR: val = "DCERPC_NCA_S_OP_RNG_ERROR"; break; - case DCERPC_NCA_S_UNKNOWN_IF: val = "DCERPC_NCA_S_UNKNOWN_IF"; break; - case DCERPC_NCA_S_WRONG_BOOT_TIME: val = "DCERPC_NCA_S_WRONG_BOOT_TIME"; break; - case DCERPC_NCA_S_YOU_CRASHED: val = "DCERPC_NCA_S_YOU_CRASHED"; break; - case DCERPC_NCA_S_PROTO_ERROR: val = "DCERPC_NCA_S_PROTO_ERROR"; break; - case DCERPC_NCA_S_OUT_ARGS_TOO_BIG: val = "DCERPC_NCA_S_OUT_ARGS_TOO_BIG"; break; - case DCERPC_NCA_S_SERVER_TOO_BUSY: val = "DCERPC_NCA_S_SERVER_TOO_BUSY"; break; - case DCERPC_NCA_S_FAULT_STRING_TOO_LARGE: val = "DCERPC_NCA_S_FAULT_STRING_TOO_LARGE"; break; - case DCERPC_NCA_S_UNSUPPORTED_TYPE: val = "DCERPC_NCA_S_UNSUPPORTED_TYPE"; break; - case DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO: val = "DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO"; break; - case DCERPC_NCA_S_FAULT_ADDR_ERROR: val = "DCERPC_NCA_S_FAULT_ADDR_ERROR"; break; - case DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO: val = "DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO"; break; - case DCERPC_NCA_S_FAULT_FP_UNDERFLOW: val = "DCERPC_NCA_S_FAULT_FP_UNDERFLOW"; break; - case DCERPC_NCA_S_FAULT_FP_OVERRFLOW: val = "DCERPC_NCA_S_FAULT_FP_OVERRFLOW"; break; - case DCERPC_NCA_S_FAULT_INVALID_TAG: val = "DCERPC_NCA_S_FAULT_INVALID_TAG"; break; - case DCERPC_NCA_S_FAULT_INVALID_BOUND: val = "DCERPC_NCA_S_FAULT_INVALID_BOUND"; break; - case DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH: val = "DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH"; break; - case DCERPC_NCA_S_FAULT_UNSPEC_REJECT: val = "DCERPC_NCA_S_FAULT_UNSPEC_REJECT"; break; - case DCERPC_NCA_S_FAULT_BAD_ACTID: val = "DCERPC_NCA_S_FAULT_BAD_ACTID"; break; - case DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED: val = "DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED"; break; - case DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED: val = "DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED"; break; - case DCERPC_NCA_S_FAULT_CANCEL: val = "DCERPC_NCA_S_FAULT_CANCEL"; break; - case DCERPC_NCA_S_FAULT_ILL_INST: val = "DCERPC_NCA_S_FAULT_ILL_INST"; break; - case DCERPC_NCA_S_FAULT_FP_ERROR: val = "DCERPC_NCA_S_FAULT_FP_ERROR"; break; - case DCERPC_NCA_S_FAULT_INT_OVERFLOW: val = "DCERPC_NCA_S_FAULT_INT_OVERFLOW"; break; - case DCERPC_NCA_S_UNUSED_1C000011: val = "DCERPC_NCA_S_UNUSED_1C000011"; break; - case DCERPC_NCA_S_FAULT_UNSPEC: val = "DCERPC_NCA_S_FAULT_UNSPEC"; break; - case DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE: val = "DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE"; break; - case DCERPC_NCA_S_FAULT_PIPE_EMPTY: val = "DCERPC_NCA_S_FAULT_PIPE_EMPTY"; break; - case DCERPC_NCA_S_FAULT_PIPE_CLOSED: val = "DCERPC_NCA_S_FAULT_PIPE_CLOSED"; break; - case DCERPC_NCA_S_FAULT_PIPE_ORDER: val = "DCERPC_NCA_S_FAULT_PIPE_ORDER"; break; - case DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE: val = "DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE"; break; - case DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR: val = "DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR"; break; - case DCERPC_NCA_S_FAULT_PIPE_MEMORY: val = "DCERPC_NCA_S_FAULT_PIPE_MEMORY"; break; - case DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH: val = "DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH"; break; - case DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY: val = "DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY"; break; - case DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID: val = "DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID"; break; - case DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL: val = "DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL"; break; - case DCERPC_NCA_S_UNUSED_1C00001E: val = "DCERPC_NCA_S_UNUSED_1C00001E"; break; - case DCERPC_NCA_S_INVALID_CHECKSUM: val = "DCERPC_NCA_S_INVALID_CHECKSUM"; break; - case DCERPC_NCA_S_INVALID_CRC: val = "DCERPC_NCA_S_INVALID_CRC"; break; - case DCERPC_NCA_S_FAULT_USER_DEFINED: val = "DCERPC_NCA_S_FAULT_USER_DEFINED"; break; - case DCERPC_NCA_S_FAULT_TX_OPEN_FAILED: val = "DCERPC_NCA_S_FAULT_TX_OPEN_FAILED"; break; - case DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR: val = "DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR"; break; - case DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND: val = "DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND"; break; - case DCERPC_NCA_S_FAULT_NO_CLIENT_STUB: val = "DCERPC_NCA_S_FAULT_NO_CLIENT_STUB"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dcerpc_fault(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fault *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->cancel_count)); - NDR_CHECK(ndr_push_dcerpc_nca_status(ndr, NDR_SCALARS, r->status)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_fault(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fault *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->cancel_count)); - NDR_CHECK(ndr_pull_dcerpc_nca_status(ndr, NDR_SCALARS, &r->status)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_fault(struct ndr_print *ndr, const char *name, const struct dcerpc_fault *r) -{ - ndr_print_struct(ndr, name, "dcerpc_fault"); - ndr->depth++; - ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint); - ndr_print_uint16(ndr, "context_id", r->context_id); - ndr_print_uint8(ndr, "cancel_count", r->cancel_count); - ndr_print_dcerpc_nca_status(ndr, "status", r->status); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_AuthType(struct ndr_push *ndr, int ndr_flags, enum dcerpc_AuthType r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_AuthType(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_AuthType *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_AuthType(struct ndr_print *ndr, const char *name, enum dcerpc_AuthType r) -{ - const char *val = NULL; - - switch (r) { - case DCERPC_AUTH_TYPE_NONE: val = "DCERPC_AUTH_TYPE_NONE"; break; - case DCERPC_AUTH_TYPE_KRB5_1: val = "DCERPC_AUTH_TYPE_KRB5_1"; break; - case DCERPC_AUTH_TYPE_SPNEGO: val = "DCERPC_AUTH_TYPE_SPNEGO"; break; - case DCERPC_AUTH_TYPE_NTLMSSP: val = "DCERPC_AUTH_TYPE_NTLMSSP"; break; - case DCERPC_AUTH_TYPE_KRB5: val = "DCERPC_AUTH_TYPE_KRB5"; break; - case DCERPC_AUTH_TYPE_DPA: val = "DCERPC_AUTH_TYPE_DPA"; break; - case DCERPC_AUTH_TYPE_MSN: val = "DCERPC_AUTH_TYPE_MSN"; break; - case DCERPC_AUTH_TYPE_DIGEST: val = "DCERPC_AUTH_TYPE_DIGEST"; break; - case DCERPC_AUTH_TYPE_SCHANNEL: val = "DCERPC_AUTH_TYPE_SCHANNEL"; break; - case DCERPC_AUTH_TYPE_MSMQ: val = "DCERPC_AUTH_TYPE_MSMQ"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dcerpc_AuthLevel(struct ndr_push *ndr, int ndr_flags, enum dcerpc_AuthLevel r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_AuthLevel(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_AuthLevel *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_AuthLevel(struct ndr_print *ndr, const char *name, enum dcerpc_AuthLevel r) -{ - const char *val = NULL; - - switch (r) { - case DCERPC_AUTH_LEVEL_NONE: val = "DCERPC_AUTH_LEVEL_NONE"; break; - case DCERPC_AUTH_LEVEL_CONNECT: val = "DCERPC_AUTH_LEVEL_CONNECT"; break; - case DCERPC_AUTH_LEVEL_CALL: val = "DCERPC_AUTH_LEVEL_CALL"; break; - case DCERPC_AUTH_LEVEL_PACKET: val = "DCERPC_AUTH_LEVEL_PACKET"; break; - case DCERPC_AUTH_LEVEL_INTEGRITY: val = "DCERPC_AUTH_LEVEL_INTEGRITY"; break; - case DCERPC_AUTH_LEVEL_PRIVACY: val = "DCERPC_AUTH_LEVEL_PRIVACY"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dcerpc_AuthType(ndr, NDR_SCALARS, r->auth_type)); - NDR_CHECK(ndr_push_dcerpc_AuthLevel(ndr, NDR_SCALARS, r->auth_level)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_pad_length)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_reserved)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_context_id)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->credentials)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dcerpc_AuthType(ndr, NDR_SCALARS, &r->auth_type)); - NDR_CHECK(ndr_pull_dcerpc_AuthLevel(ndr, NDR_SCALARS, &r->auth_level)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_pad_length)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_reserved)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_context_id)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->credentials)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_auth(struct ndr_print *ndr, const char *name, const struct dcerpc_auth *r) -{ - ndr_print_struct(ndr, name, "dcerpc_auth"); - ndr->depth++; - ndr_print_dcerpc_AuthType(ndr, "auth_type", r->auth_type); - ndr_print_dcerpc_AuthLevel(ndr, "auth_level", r->auth_level); - ndr_print_uint8(ndr, "auth_pad_length", r->auth_pad_length); - ndr_print_uint8(ndr, "auth_reserved", r->auth_reserved); - ndr_print_uint32(ndr, "auth_context_id", r->auth_context_id); - ndr_print_DATA_BLOB(ndr, "credentials", r->credentials); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth3(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth3(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_auth3(struct ndr_print *ndr, const char *name, const struct dcerpc_auth3 *r) -{ - ndr_print_struct(ndr, name, "dcerpc_auth3"); - ndr->depth++; - ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad); - ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_orphaned(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_orphaned *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_orphaned(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_orphaned *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_orphaned(struct ndr_print *ndr, const char *name, const struct dcerpc_orphaned *r) -{ - ndr_print_struct(ndr, name, "dcerpc_orphaned"); - ndr->depth++; - ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad); - ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_co_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_co_cancel *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_co_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_co_cancel *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_co_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_co_cancel *r) -{ - ndr_print_struct(ndr, name, "dcerpc_co_cancel"); - ndr->depth++; - ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad); - ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_cl_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cl_cancel *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_cl_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cl_cancel *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_cl_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_cl_cancel *r) -{ - ndr_print_struct(ndr, name, "dcerpc_cl_cancel"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "id", r->id); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_cancel_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cancel_ack *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->server_is_accepting)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_cancel_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cancel_ack *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->server_is_accepting)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_cancel_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_cancel_ack *r) -{ - ndr_print_struct(ndr, name, "dcerpc_cancel_ack"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "id", r->id); - ndr_print_uint32(ndr, "server_is_accepting", r->server_is_accepting); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_fack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fack *r) -{ - uint32_t cntr_selack_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->_pad1)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->window_size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_tdsu)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_frag_size)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->serial_no)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->selack_size)); - for (cntr_selack_0 = 0; cntr_selack_0 < r->selack_size; cntr_selack_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->selack[cntr_selack_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_fack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fack *r) -{ - uint32_t cntr_selack_0; - TALLOC_CTX *_mem_save_selack_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->_pad1)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->window_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_tdsu)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_frag_size)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->serial_no)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->selack_size)); - NDR_PULL_ALLOC_N(ndr, r->selack, r->selack_size); - _mem_save_selack_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->selack, 0); - for (cntr_selack_0 = 0; cntr_selack_0 < r->selack_size; cntr_selack_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->selack[cntr_selack_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_selack_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_fack(struct ndr_print *ndr, const char *name, const struct dcerpc_fack *r) -{ - uint32_t cntr_selack_0; - ndr_print_struct(ndr, name, "dcerpc_fack"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint8(ndr, "_pad1", r->_pad1); - ndr_print_uint16(ndr, "window_size", r->window_size); - ndr_print_uint32(ndr, "max_tdsu", r->max_tdsu); - ndr_print_uint32(ndr, "max_frag_size", r->max_frag_size); - ndr_print_uint16(ndr, "serial_no", r->serial_no); - ndr_print_uint16(ndr, "selack_size", r->selack_size); - ndr->print(ndr, "%s: ARRAY(%d)", "selack", (int)r->selack_size); - ndr->depth++; - for (cntr_selack_0=0;cntr_selack_0selack_size;cntr_selack_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_selack_0) != -1) { - ndr_print_uint32(ndr, "selack", r->selack[cntr_selack_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_ack *r) -{ - ndr_print_struct(ndr, name, "dcerpc_ack"); - ndr->depth++; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ping(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ping *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ping(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ping *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_ping(struct ndr_print *ndr, const char *name, const struct dcerpc_ping *r) -{ - ndr_print_struct(ndr, name, "dcerpc_ping"); - ndr->depth++; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_shutdown(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_shutdown *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_shutdown(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_shutdown *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_shutdown(struct ndr_print *ndr, const char *name, const struct dcerpc_shutdown *r) -{ - ndr_print_struct(ndr, name, "dcerpc_shutdown"); - ndr->depth++; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_working(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_working *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_working(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_working *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_working(struct ndr_print *ndr, const char *name, const struct dcerpc_working *r) -{ - ndr_print_struct(ndr, name, "dcerpc_working"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dcerpc_pkt_type(struct ndr_push *ndr, int ndr_flags, enum dcerpc_pkt_type r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_pkt_type(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_pkt_type *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_pkt_type(struct ndr_print *ndr, const char *name, enum dcerpc_pkt_type r) -{ - const char *val = NULL; - - switch (r) { - case DCERPC_PKT_REQUEST: val = "DCERPC_PKT_REQUEST"; break; - case DCERPC_PKT_PING: val = "DCERPC_PKT_PING"; break; - case DCERPC_PKT_RESPONSE: val = "DCERPC_PKT_RESPONSE"; break; - case DCERPC_PKT_FAULT: val = "DCERPC_PKT_FAULT"; break; - case DCERPC_PKT_WORKING: val = "DCERPC_PKT_WORKING"; break; - case DCERPC_PKT_NOCALL: val = "DCERPC_PKT_NOCALL"; break; - case DCERPC_PKT_REJECT: val = "DCERPC_PKT_REJECT"; break; - case DCERPC_PKT_ACK: val = "DCERPC_PKT_ACK"; break; - case DCERPC_PKT_CL_CANCEL: val = "DCERPC_PKT_CL_CANCEL"; break; - case DCERPC_PKT_FACK: val = "DCERPC_PKT_FACK"; break; - case DCERPC_PKT_CANCEL_ACK: val = "DCERPC_PKT_CANCEL_ACK"; break; - case DCERPC_PKT_BIND: val = "DCERPC_PKT_BIND"; break; - case DCERPC_PKT_BIND_ACK: val = "DCERPC_PKT_BIND_ACK"; break; - case DCERPC_PKT_BIND_NAK: val = "DCERPC_PKT_BIND_NAK"; break; - case DCERPC_PKT_ALTER: val = "DCERPC_PKT_ALTER"; break; - case DCERPC_PKT_ALTER_RESP: val = "DCERPC_PKT_ALTER_RESP"; break; - case DCERPC_PKT_AUTH3: val = "DCERPC_PKT_AUTH3"; break; - case DCERPC_PKT_SHUTDOWN: val = "DCERPC_PKT_SHUTDOWN"; break; - case DCERPC_PKT_CO_CANCEL: val = "DCERPC_PKT_CO_CANCEL"; break; - case DCERPC_PKT_ORPHANED: val = "DCERPC_PKT_ORPHANED"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dcerpc_payload(struct ndr_push *ndr, int ndr_flags, const union dcerpc_payload *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case DCERPC_PKT_REQUEST: { - NDR_CHECK(ndr_push_dcerpc_request(ndr, NDR_SCALARS, &r->request)); - break; } - - case DCERPC_PKT_PING: { - NDR_CHECK(ndr_push_dcerpc_ping(ndr, NDR_SCALARS, &r->ping)); - break; } - - case DCERPC_PKT_RESPONSE: { - NDR_CHECK(ndr_push_dcerpc_response(ndr, NDR_SCALARS, &r->response)); - break; } - - case DCERPC_PKT_FAULT: { - NDR_CHECK(ndr_push_dcerpc_fault(ndr, NDR_SCALARS, &r->fault)); - break; } - - case DCERPC_PKT_WORKING: { - NDR_CHECK(ndr_push_dcerpc_working(ndr, NDR_SCALARS, &r->working)); - break; } - - case DCERPC_PKT_NOCALL: { - NDR_CHECK(ndr_push_dcerpc_fack(ndr, NDR_SCALARS, &r->nocall)); - break; } - - case DCERPC_PKT_REJECT: { - NDR_CHECK(ndr_push_dcerpc_fault(ndr, NDR_SCALARS, &r->reject)); - break; } - - case DCERPC_PKT_ACK: { - NDR_CHECK(ndr_push_dcerpc_ack(ndr, NDR_SCALARS, &r->ack)); - break; } - - case DCERPC_PKT_CL_CANCEL: { - NDR_CHECK(ndr_push_dcerpc_cl_cancel(ndr, NDR_SCALARS, &r->cl_cancel)); - break; } - - case DCERPC_PKT_FACK: { - NDR_CHECK(ndr_push_dcerpc_fack(ndr, NDR_SCALARS, &r->fack)); - break; } - - case DCERPC_PKT_CANCEL_ACK: { - NDR_CHECK(ndr_push_dcerpc_cancel_ack(ndr, NDR_SCALARS, &r->cancel_ack)); - break; } - - case DCERPC_PKT_BIND: { - NDR_CHECK(ndr_push_dcerpc_bind(ndr, NDR_SCALARS, &r->bind)); - break; } - - case DCERPC_PKT_BIND_ACK: { - NDR_CHECK(ndr_push_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->bind_ack)); - break; } - - case DCERPC_PKT_BIND_NAK: { - NDR_CHECK(ndr_push_dcerpc_bind_nak(ndr, NDR_SCALARS, &r->bind_nak)); - break; } - - case DCERPC_PKT_ALTER: { - NDR_CHECK(ndr_push_dcerpc_bind(ndr, NDR_SCALARS, &r->alter)); - break; } - - case DCERPC_PKT_ALTER_RESP: { - NDR_CHECK(ndr_push_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->alter_resp)); - break; } - - case DCERPC_PKT_SHUTDOWN: { - NDR_CHECK(ndr_push_dcerpc_shutdown(ndr, NDR_SCALARS, &r->shutdown)); - break; } - - case DCERPC_PKT_CO_CANCEL: { - NDR_CHECK(ndr_push_dcerpc_co_cancel(ndr, NDR_SCALARS, &r->co_cancel)); - break; } - - case DCERPC_PKT_ORPHANED: { - NDR_CHECK(ndr_push_dcerpc_orphaned(ndr, NDR_SCALARS, &r->orphaned)); - break; } - - case DCERPC_PKT_AUTH3: { - NDR_CHECK(ndr_push_dcerpc_auth3(ndr, NDR_SCALARS, &r->auth3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DCERPC_PKT_REQUEST: - break; - - case DCERPC_PKT_PING: - break; - - case DCERPC_PKT_RESPONSE: - break; - - case DCERPC_PKT_FAULT: - break; - - case DCERPC_PKT_WORKING: - break; - - case DCERPC_PKT_NOCALL: - break; - - case DCERPC_PKT_REJECT: - break; - - case DCERPC_PKT_ACK: - break; - - case DCERPC_PKT_CL_CANCEL: - break; - - case DCERPC_PKT_FACK: - break; - - case DCERPC_PKT_CANCEL_ACK: - break; - - case DCERPC_PKT_BIND: - break; - - case DCERPC_PKT_BIND_ACK: - break; - - case DCERPC_PKT_BIND_NAK: - NDR_CHECK(ndr_push_dcerpc_bind_nak(ndr, NDR_BUFFERS, &r->bind_nak)); - break; - - case DCERPC_PKT_ALTER: - break; - - case DCERPC_PKT_ALTER_RESP: - break; - - case DCERPC_PKT_SHUTDOWN: - break; - - case DCERPC_PKT_CO_CANCEL: - break; - - case DCERPC_PKT_ORPHANED: - break; - - case DCERPC_PKT_AUTH3: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dcerpc_payload(struct ndr_pull *ndr, int ndr_flags, union dcerpc_payload *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case DCERPC_PKT_REQUEST: { - NDR_CHECK(ndr_pull_dcerpc_request(ndr, NDR_SCALARS, &r->request)); - break; } - - case DCERPC_PKT_PING: { - NDR_CHECK(ndr_pull_dcerpc_ping(ndr, NDR_SCALARS, &r->ping)); - break; } - - case DCERPC_PKT_RESPONSE: { - NDR_CHECK(ndr_pull_dcerpc_response(ndr, NDR_SCALARS, &r->response)); - break; } - - case DCERPC_PKT_FAULT: { - NDR_CHECK(ndr_pull_dcerpc_fault(ndr, NDR_SCALARS, &r->fault)); - break; } - - case DCERPC_PKT_WORKING: { - NDR_CHECK(ndr_pull_dcerpc_working(ndr, NDR_SCALARS, &r->working)); - break; } - - case DCERPC_PKT_NOCALL: { - NDR_CHECK(ndr_pull_dcerpc_fack(ndr, NDR_SCALARS, &r->nocall)); - break; } - - case DCERPC_PKT_REJECT: { - NDR_CHECK(ndr_pull_dcerpc_fault(ndr, NDR_SCALARS, &r->reject)); - break; } - - case DCERPC_PKT_ACK: { - NDR_CHECK(ndr_pull_dcerpc_ack(ndr, NDR_SCALARS, &r->ack)); - break; } - - case DCERPC_PKT_CL_CANCEL: { - NDR_CHECK(ndr_pull_dcerpc_cl_cancel(ndr, NDR_SCALARS, &r->cl_cancel)); - break; } - - case DCERPC_PKT_FACK: { - NDR_CHECK(ndr_pull_dcerpc_fack(ndr, NDR_SCALARS, &r->fack)); - break; } - - case DCERPC_PKT_CANCEL_ACK: { - NDR_CHECK(ndr_pull_dcerpc_cancel_ack(ndr, NDR_SCALARS, &r->cancel_ack)); - break; } - - case DCERPC_PKT_BIND: { - NDR_CHECK(ndr_pull_dcerpc_bind(ndr, NDR_SCALARS, &r->bind)); - break; } - - case DCERPC_PKT_BIND_ACK: { - NDR_CHECK(ndr_pull_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->bind_ack)); - break; } - - case DCERPC_PKT_BIND_NAK: { - NDR_CHECK(ndr_pull_dcerpc_bind_nak(ndr, NDR_SCALARS, &r->bind_nak)); - break; } - - case DCERPC_PKT_ALTER: { - NDR_CHECK(ndr_pull_dcerpc_bind(ndr, NDR_SCALARS, &r->alter)); - break; } - - case DCERPC_PKT_ALTER_RESP: { - NDR_CHECK(ndr_pull_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->alter_resp)); - break; } - - case DCERPC_PKT_SHUTDOWN: { - NDR_CHECK(ndr_pull_dcerpc_shutdown(ndr, NDR_SCALARS, &r->shutdown)); - break; } - - case DCERPC_PKT_CO_CANCEL: { - NDR_CHECK(ndr_pull_dcerpc_co_cancel(ndr, NDR_SCALARS, &r->co_cancel)); - break; } - - case DCERPC_PKT_ORPHANED: { - NDR_CHECK(ndr_pull_dcerpc_orphaned(ndr, NDR_SCALARS, &r->orphaned)); - break; } - - case DCERPC_PKT_AUTH3: { - NDR_CHECK(ndr_pull_dcerpc_auth3(ndr, NDR_SCALARS, &r->auth3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DCERPC_PKT_REQUEST: - break; - - case DCERPC_PKT_PING: - break; - - case DCERPC_PKT_RESPONSE: - break; - - case DCERPC_PKT_FAULT: - break; - - case DCERPC_PKT_WORKING: - break; - - case DCERPC_PKT_NOCALL: - break; - - case DCERPC_PKT_REJECT: - break; - - case DCERPC_PKT_ACK: - break; - - case DCERPC_PKT_CL_CANCEL: - break; - - case DCERPC_PKT_FACK: - break; - - case DCERPC_PKT_CANCEL_ACK: - break; - - case DCERPC_PKT_BIND: - break; - - case DCERPC_PKT_BIND_ACK: - break; - - case DCERPC_PKT_BIND_NAK: - NDR_CHECK(ndr_pull_dcerpc_bind_nak(ndr, NDR_BUFFERS, &r->bind_nak)); - break; - - case DCERPC_PKT_ALTER: - break; - - case DCERPC_PKT_ALTER_RESP: - break; - - case DCERPC_PKT_SHUTDOWN: - break; - - case DCERPC_PKT_CO_CANCEL: - break; - - case DCERPC_PKT_ORPHANED: - break; - - case DCERPC_PKT_AUTH3: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dcerpc_payload(struct ndr_print *ndr, const char *name, const union dcerpc_payload *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dcerpc_payload"); - switch (level) { - case DCERPC_PKT_REQUEST: - ndr_print_dcerpc_request(ndr, "request", &r->request); - break; - - case DCERPC_PKT_PING: - ndr_print_dcerpc_ping(ndr, "ping", &r->ping); - break; - - case DCERPC_PKT_RESPONSE: - ndr_print_dcerpc_response(ndr, "response", &r->response); - break; - - case DCERPC_PKT_FAULT: - ndr_print_dcerpc_fault(ndr, "fault", &r->fault); - break; - - case DCERPC_PKT_WORKING: - ndr_print_dcerpc_working(ndr, "working", &r->working); - break; - - case DCERPC_PKT_NOCALL: - ndr_print_dcerpc_fack(ndr, "nocall", &r->nocall); - break; - - case DCERPC_PKT_REJECT: - ndr_print_dcerpc_fault(ndr, "reject", &r->reject); - break; - - case DCERPC_PKT_ACK: - ndr_print_dcerpc_ack(ndr, "ack", &r->ack); - break; - - case DCERPC_PKT_CL_CANCEL: - ndr_print_dcerpc_cl_cancel(ndr, "cl_cancel", &r->cl_cancel); - break; - - case DCERPC_PKT_FACK: - ndr_print_dcerpc_fack(ndr, "fack", &r->fack); - break; - - case DCERPC_PKT_CANCEL_ACK: - ndr_print_dcerpc_cancel_ack(ndr, "cancel_ack", &r->cancel_ack); - break; - - case DCERPC_PKT_BIND: - ndr_print_dcerpc_bind(ndr, "bind", &r->bind); - break; - - case DCERPC_PKT_BIND_ACK: - ndr_print_dcerpc_bind_ack(ndr, "bind_ack", &r->bind_ack); - break; - - case DCERPC_PKT_BIND_NAK: - ndr_print_dcerpc_bind_nak(ndr, "bind_nak", &r->bind_nak); - break; - - case DCERPC_PKT_ALTER: - ndr_print_dcerpc_bind(ndr, "alter", &r->alter); - break; - - case DCERPC_PKT_ALTER_RESP: - ndr_print_dcerpc_bind_ack(ndr, "alter_resp", &r->alter_resp); - break; - - case DCERPC_PKT_SHUTDOWN: - ndr_print_dcerpc_shutdown(ndr, "shutdown", &r->shutdown); - break; - - case DCERPC_PKT_CO_CANCEL: - ndr_print_dcerpc_co_cancel(ndr, "co_cancel", &r->co_cancel); - break; - - case DCERPC_PKT_ORPHANED: - ndr_print_dcerpc_orphaned(ndr, "orphaned", &r->orphaned); - break; - - case DCERPC_PKT_AUTH3: - ndr_print_dcerpc_auth3(ndr, "auth3", &r->auth3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_ncacn_packet(struct ndr_push *ndr, int ndr_flags, const struct ncacn_packet *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers_minor)); - NDR_CHECK(ndr_push_dcerpc_pkt_type(ndr, NDR_SCALARS, r->ptype)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pfc_flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->drep, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->frag_length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->auth_length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->call_id)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype)); - NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ncacn_packet(struct ndr_pull *ndr, int ndr_flags, struct ncacn_packet *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers_minor)); - NDR_CHECK(ndr_pull_dcerpc_pkt_type(ndr, NDR_SCALARS, &r->ptype)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pfc_flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->drep, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->frag_length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->auth_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->call_id)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype)); - NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ncacn_packet(struct ndr_print *ndr, const char *name, const struct ncacn_packet *r) -{ - ndr_print_struct(ndr, name, "ncacn_packet"); - ndr->depth++; - ndr_print_uint8(ndr, "rpc_vers", r->rpc_vers); - ndr_print_uint8(ndr, "rpc_vers_minor", r->rpc_vers_minor); - ndr_print_dcerpc_pkt_type(ndr, "ptype", r->ptype); - ndr_print_uint8(ndr, "pfc_flags", r->pfc_flags); - ndr_print_array_uint8(ndr, "drep", r->drep, 4); - ndr_print_uint16(ndr, "frag_length", r->frag_length); - ndr_print_uint16(ndr, "auth_length", r->auth_length); - ndr_print_uint32(ndr, "call_id", r->call_id); - ndr_print_set_switch_value(ndr, &r->u, r->ptype); - ndr_print_dcerpc_payload(ndr, "u", &r->u); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_ncadg_packet(struct ndr_push *ndr, int ndr_flags, const struct ncadg_packet *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ptype)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pfc_flags)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ncadg_flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->drep, 3)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_high)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->iface)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->activity)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->server_boot)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iface_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seq_num)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ihint)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ahint)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->fragnum)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_proto)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_low)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype)); - NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ncadg_packet(struct ndr_pull *ndr, int ndr_flags, struct ncadg_packet *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ptype)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pfc_flags)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ncadg_flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->drep, 3)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_high)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->iface)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->activity)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->server_boot)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iface_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seq_num)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ihint)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ahint)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->len)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->fragnum)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_proto)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_low)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype)); - NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ncadg_packet(struct ndr_print *ndr, const char *name, const struct ncadg_packet *r) -{ - ndr_print_struct(ndr, name, "ncadg_packet"); - ndr->depth++; - ndr_print_uint8(ndr, "rpc_vers", r->rpc_vers); - ndr_print_uint8(ndr, "ptype", r->ptype); - ndr_print_uint8(ndr, "pfc_flags", r->pfc_flags); - ndr_print_uint8(ndr, "ncadg_flags", r->ncadg_flags); - ndr_print_array_uint8(ndr, "drep", r->drep, 3); - ndr_print_uint8(ndr, "serial_high", r->serial_high); - ndr_print_GUID(ndr, "object", &r->object); - ndr_print_GUID(ndr, "iface", &r->iface); - ndr_print_GUID(ndr, "activity", &r->activity); - ndr_print_uint32(ndr, "server_boot", r->server_boot); - ndr_print_uint32(ndr, "iface_version", r->iface_version); - ndr_print_uint32(ndr, "seq_num", r->seq_num); - ndr_print_uint16(ndr, "opnum", r->opnum); - ndr_print_uint16(ndr, "ihint", r->ihint); - ndr_print_uint16(ndr, "ahint", r->ahint); - ndr_print_uint16(ndr, "len", r->len); - ndr_print_uint16(ndr, "fragnum", r->fragnum); - ndr_print_uint8(ndr, "auth_proto", r->auth_proto); - ndr_print_uint8(ndr, "serial_low", r->serial_low); - ndr_print_set_switch_value(ndr, &r->u, r->ptype); - ndr_print_dcerpc_payload(ndr, "u", &r->u); - ndr->depth--; -} - diff --git a/librpc/gen_ndr/ndr_dcerpc.h b/librpc/gen_ndr/ndr_dcerpc.h deleted file mode 100644 index d787b873cc6..00000000000 --- a/librpc/gen_ndr/ndr_dcerpc.h +++ /dev/null @@ -1,66 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/dcerpc.h" - -#ifndef _HEADER_NDR_dcerpc -#define _HEADER_NDR_dcerpc - -#define NDR_DCERPC_CALL_COUNT (0) -void ndr_print_dcerpc_ctx_list(struct ndr_print *ndr, const char *name, const struct dcerpc_ctx_list *r); -void ndr_print_dcerpc_bind(struct ndr_print *ndr, const char *name, const struct dcerpc_bind *r); -void ndr_print_dcerpc_empty(struct ndr_print *ndr, const char *name, const struct dcerpc_empty *r); -void ndr_print_dcerpc_object(struct ndr_print *ndr, const char *name, const union dcerpc_object *r); -void ndr_print_dcerpc_request(struct ndr_print *ndr, const char *name, const struct dcerpc_request *r); -void ndr_print_dcerpc_ack_ctx(struct ndr_print *ndr, const char *name, const struct dcerpc_ack_ctx *r); -void ndr_print_dcerpc_bind_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_ack *r); -void ndr_print_dcerpc_bind_nak_versions(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak_versions *r); -void ndr_print_dcerpc_bind_nak_versions_ctr(struct ndr_print *ndr, const char *name, const union dcerpc_bind_nak_versions_ctr *r); -void ndr_print_dcerpc_bind_nak(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak *r); -void ndr_print_dcerpc_response(struct ndr_print *ndr, const char *name, const struct dcerpc_response *r); -void ndr_print_dcerpc_nca_status(struct ndr_print *ndr, const char *name, enum dcerpc_nca_status r); -void ndr_print_dcerpc_fault(struct ndr_print *ndr, const char *name, const struct dcerpc_fault *r); -void ndr_print_dcerpc_AuthType(struct ndr_print *ndr, const char *name, enum dcerpc_AuthType r); -void ndr_print_dcerpc_AuthLevel(struct ndr_print *ndr, const char *name, enum dcerpc_AuthLevel r); -enum ndr_err_code ndr_push_dcerpc_auth(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth *r); -enum ndr_err_code ndr_pull_dcerpc_auth(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth *r); -void ndr_print_dcerpc_auth(struct ndr_print *ndr, const char *name, const struct dcerpc_auth *r); -enum ndr_err_code ndr_push_dcerpc_auth3(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth3 *r); -enum ndr_err_code ndr_pull_dcerpc_auth3(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth3 *r); -void ndr_print_dcerpc_auth3(struct ndr_print *ndr, const char *name, const struct dcerpc_auth3 *r); -enum ndr_err_code ndr_push_dcerpc_orphaned(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_orphaned *r); -enum ndr_err_code ndr_pull_dcerpc_orphaned(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_orphaned *r); -void ndr_print_dcerpc_orphaned(struct ndr_print *ndr, const char *name, const struct dcerpc_orphaned *r); -enum ndr_err_code ndr_push_dcerpc_co_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_co_cancel *r); -enum ndr_err_code ndr_pull_dcerpc_co_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_co_cancel *r); -void ndr_print_dcerpc_co_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_co_cancel *r); -enum ndr_err_code ndr_push_dcerpc_cl_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cl_cancel *r); -enum ndr_err_code ndr_pull_dcerpc_cl_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cl_cancel *r); -void ndr_print_dcerpc_cl_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_cl_cancel *r); -enum ndr_err_code ndr_push_dcerpc_cancel_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cancel_ack *r); -enum ndr_err_code ndr_pull_dcerpc_cancel_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cancel_ack *r); -void ndr_print_dcerpc_cancel_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_cancel_ack *r); -enum ndr_err_code ndr_push_dcerpc_fack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fack *r); -enum ndr_err_code ndr_pull_dcerpc_fack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fack *r); -void ndr_print_dcerpc_fack(struct ndr_print *ndr, const char *name, const struct dcerpc_fack *r); -enum ndr_err_code ndr_push_dcerpc_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack *r); -enum ndr_err_code ndr_pull_dcerpc_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack *r); -void ndr_print_dcerpc_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_ack *r); -enum ndr_err_code ndr_push_dcerpc_ping(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ping *r); -enum ndr_err_code ndr_pull_dcerpc_ping(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ping *r); -void ndr_print_dcerpc_ping(struct ndr_print *ndr, const char *name, const struct dcerpc_ping *r); -enum ndr_err_code ndr_push_dcerpc_shutdown(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_shutdown *r); -enum ndr_err_code ndr_pull_dcerpc_shutdown(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_shutdown *r); -void ndr_print_dcerpc_shutdown(struct ndr_print *ndr, const char *name, const struct dcerpc_shutdown *r); -enum ndr_err_code ndr_push_dcerpc_working(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_working *r); -enum ndr_err_code ndr_pull_dcerpc_working(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_working *r); -void ndr_print_dcerpc_working(struct ndr_print *ndr, const char *name, const struct dcerpc_working *r); -void ndr_print_dcerpc_pkt_type(struct ndr_print *ndr, const char *name, enum dcerpc_pkt_type r); -void ndr_print_dcerpc_payload(struct ndr_print *ndr, const char *name, const union dcerpc_payload *r); -enum ndr_err_code ndr_push_ncacn_packet(struct ndr_push *ndr, int ndr_flags, const struct ncacn_packet *r); -enum ndr_err_code ndr_pull_ncacn_packet(struct ndr_pull *ndr, int ndr_flags, struct ncacn_packet *r); -void ndr_print_ncacn_packet(struct ndr_print *ndr, const char *name, const struct ncacn_packet *r); -enum ndr_err_code ndr_push_ncadg_packet(struct ndr_push *ndr, int ndr_flags, const struct ncadg_packet *r); -enum ndr_err_code ndr_pull_ncadg_packet(struct ndr_pull *ndr, int ndr_flags, struct ncadg_packet *r); -void ndr_print_ncadg_packet(struct ndr_print *ndr, const char *name, const struct ncadg_packet *r); -#endif /* _HEADER_NDR_dcerpc */ diff --git a/librpc/gen_ndr/ndr_dfs.c b/librpc/gen_ndr/ndr_dfs.c deleted file mode 100644 index 62f42bad155..00000000000 --- a/librpc/gen_ndr/ndr_dfs.c +++ /dev/null @@ -1,5859 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_dfs.h" - -#include "librpc/gen_ndr/ndr_misc.h" -static enum ndr_err_code ndr_push_dfs_ManagerVersion(struct ndr_push *ndr, int ndr_flags, enum dfs_ManagerVersion r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_ManagerVersion(struct ndr_pull *ndr, int ndr_flags, enum dfs_ManagerVersion *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_ManagerVersion(struct ndr_print *ndr, const char *name, enum dfs_ManagerVersion r) -{ - const char *val = NULL; - - switch (r) { - case DFS_MANAGER_VERSION_NT4: val = "DFS_MANAGER_VERSION_NT4"; break; - case DFS_MANAGER_VERSION_W2K: val = "DFS_MANAGER_VERSION_W2K"; break; - case DFS_MANAGER_VERSION_W2K3: val = "DFS_MANAGER_VERSION_W2K3"; break; - case DFS_MANAGER_VERSION_W2K8: val = "DFS_MANAGER_VERSION_W2K8"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dfs_Info0(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info0(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info0(struct ndr_print *ndr, const char *name, const struct dfs_Info0 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info0"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info1(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info1(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info1 *r) -{ - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info1(struct ndr_print *ndr, const char *name, const struct dfs_Info1 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info1"); - ndr->depth++; - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dfs_VolumeState(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dfs_VolumeState(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_VolumeState(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_VOLUME_STATE_OK", DFS_VOLUME_STATE_OK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_VOLUME_STATE_INCONSISTENT", DFS_VOLUME_STATE_INCONSISTENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_VOLUME_STATE_OFFLINE", DFS_VOLUME_STATE_OFFLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_VOLUME_STATE_ONLINE", DFS_VOLUME_STATE_ONLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_VOLUME_STATE_STANDALONE", DFS_VOLUME_STATE_STANDALONE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_VOLUME_STATE_AD_BLOB", DFS_VOLUME_STATE_AD_BLOB, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info2(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info2(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info2 *r) -{ - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_stores)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info2(struct ndr_print *ndr, const char *name, const struct dfs_Info2 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info2"); - ndr->depth++; - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_dfs_VolumeState(ndr, "state", r->state); - ndr_print_uint32(ndr, "num_stores", r->num_stores); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dfs_StorageState(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dfs_StorageState(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_StorageState(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_STORAGE_STATE_OFFLINE", DFS_STORAGE_STATE_OFFLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_STORAGE_STATE_ONLINE", DFS_STORAGE_STATE_ONLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_STORAGE_STATE_ACTIVE", DFS_STORAGE_STATE_ACTIVE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_StorageInfo(struct ndr_push *ndr, int ndr_flags, const struct dfs_StorageInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_dfs_StorageState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->share)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server, ndr_charset_length(r->server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->share) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->share, ndr_charset_length(r->share, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_StorageInfo(struct ndr_pull *ndr, int ndr_flags, struct dfs_StorageInfo *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - uint32_t _ptr_share; - TALLOC_CTX *_mem_save_share_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_dfs_StorageState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->server); - } else { - r->server = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share)); - if (_ptr_share) { - NDR_PULL_ALLOC(ndr, r->share); - } else { - r->share = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server)); - if (ndr_get_array_length(ndr, &r->server) > ndr_get_array_size(ndr, &r->server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server), ndr_get_array_length(ndr, &r->server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server, ndr_get_array_length(ndr, &r->server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - if (r->share) { - _mem_save_share_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->share, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->share)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->share)); - if (ndr_get_array_length(ndr, &r->share) > ndr_get_array_size(ndr, &r->share)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->share), ndr_get_array_length(ndr, &r->share)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_StorageInfo(struct ndr_print *ndr, const char *name, const struct dfs_StorageInfo *r) -{ - ndr_print_struct(ndr, name, "dfs_StorageInfo"); - ndr->depth++; - ndr_print_dfs_StorageState(ndr, "state", r->state); - ndr_print_ptr(ndr, "server", r->server); - ndr->depth++; - if (r->server) { - ndr_print_string(ndr, "server", r->server); - } - ndr->depth--; - ndr_print_ptr(ndr, "share", r->share); - ndr->depth++; - if (r->share) { - ndr_print_string(ndr, "share", r->share); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info3(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info3 *r) -{ - uint32_t cntr_stores_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->stores)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->stores) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_stores)); - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_push_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1])); - } - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_push_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info3(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info3 *r) -{ - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_stores; - uint32_t cntr_stores_1; - TALLOC_CTX *_mem_save_stores_0; - TALLOC_CTX *_mem_save_stores_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_stores)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stores)); - if (_ptr_stores) { - NDR_PULL_ALLOC(ndr, r->stores); - } else { - r->stores = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->stores) { - _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->stores)); - NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores)); - _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0); - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1])); - } - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_0, 0); - } - if (r->stores) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->stores, r->num_stores)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info3(struct ndr_print *ndr, const char *name, const struct dfs_Info3 *r) -{ - uint32_t cntr_stores_1; - ndr_print_struct(ndr, name, "dfs_Info3"); - ndr->depth++; - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_dfs_VolumeState(ndr, "state", r->state); - ndr_print_uint32(ndr, "num_stores", r->num_stores); - ndr_print_ptr(ndr, "stores", r->stores); - ndr->depth++; - if (r->stores) { - ndr->print(ndr, "%s: ARRAY(%d)", "stores", (int)r->num_stores); - ndr->depth++; - for (cntr_stores_1=0;cntr_stores_1num_stores;cntr_stores_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_stores_1) != -1) { - ndr_print_dfs_StorageInfo(ndr, "stores", &r->stores[cntr_stores_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info4(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info4 *r) -{ - uint32_t cntr_stores_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->stores)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->stores) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_stores)); - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_push_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1])); - } - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_push_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info4 *r) -{ - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_stores; - uint32_t cntr_stores_1; - TALLOC_CTX *_mem_save_stores_0; - TALLOC_CTX *_mem_save_stores_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_stores)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stores)); - if (_ptr_stores) { - NDR_PULL_ALLOC(ndr, r->stores); - } else { - r->stores = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->stores) { - _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->stores)); - NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores)); - _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0); - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1])); - } - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_0, 0); - } - if (r->stores) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->stores, r->num_stores)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info4(struct ndr_print *ndr, const char *name, const struct dfs_Info4 *r) -{ - uint32_t cntr_stores_1; - ndr_print_struct(ndr, name, "dfs_Info4"); - ndr->depth++; - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_dfs_VolumeState(ndr, "state", r->state); - ndr_print_uint32(ndr, "timeout", r->timeout); - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_uint32(ndr, "num_stores", r->num_stores); - ndr_print_ptr(ndr, "stores", r->stores); - ndr->depth++; - if (r->stores) { - ndr->print(ndr, "%s: ARRAY(%d)", "stores", (int)r->num_stores); - ndr->depth++; - for (cntr_stores_1=0;cntr_stores_1num_stores;cntr_stores_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_stores_1) != -1) { - ndr_print_dfs_StorageInfo(ndr, "stores", &r->stores[cntr_stores_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dfs_PropertyFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dfs_PropertyFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_PropertyFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_PROPERTY_FLAG_INSITE_REFERRALS", DFS_PROPERTY_FLAG_INSITE_REFERRALS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_PROPERTY_FLAG_ROOT_SCALABILITY", DFS_PROPERTY_FLAG_ROOT_SCALABILITY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_PROPERTY_FLAG_SITE_COSTING", DFS_PROPERTY_FLAG_SITE_COSTING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_PROPERTY_FLAG_TARGET_FAILBACK", DFS_PROPERTY_FLAG_TARGET_FAILBACK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_PROPERTY_FLAG_CLUSTER_ENABLED", DFS_PROPERTY_FLAG_CLUSTER_ENABLED, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info5(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_dfs_PropertyFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pktsize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info5(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info5 *r) -{ - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_dfs_PropertyFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pktsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_stores)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info5(struct ndr_print *ndr, const char *name, const struct dfs_Info5 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info5"); - ndr->depth++; - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_dfs_VolumeState(ndr, "state", r->state); - ndr_print_uint32(ndr, "timeout", r->timeout); - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_dfs_PropertyFlags(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "pktsize", r->pktsize); - ndr_print_uint32(ndr, "num_stores", r->num_stores); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Target_PriorityClass(struct ndr_push *ndr, int ndr_flags, enum dfs_Target_PriorityClass r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Target_PriorityClass(struct ndr_pull *ndr, int ndr_flags, enum dfs_Target_PriorityClass *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Target_PriorityClass(struct ndr_print *ndr, const char *name, enum dfs_Target_PriorityClass r) -{ - const char *val = NULL; - - switch (r) { - case DFS_INVALID_PRIORITY_CLASS: val = "DFS_INVALID_PRIORITY_CLASS"; break; - case DFS_SITE_COST_NORMAL_PRIORITY_CLASS: val = "DFS_SITE_COST_NORMAL_PRIORITY_CLASS"; break; - case DFS_GLOBAL_HIGH_PRIORITY_CLASS: val = "DFS_GLOBAL_HIGH_PRIORITY_CLASS"; break; - case DFS_SITE_COST_HIGH_PRIORITY_CLASS: val = "DFS_SITE_COST_HIGH_PRIORITY_CLASS"; break; - case DFS_SITE_COST_LOW_PRIORITY_CLASS: val = "DFS_SITE_COST_LOW_PRIORITY_CLASS"; break; - case DFS_GLOBAL_LOW_PRIORITY_CLASS: val = "DFS_GLOBAL_LOW_PRIORITY_CLASS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dfs_Target_Priority(struct ndr_push *ndr, int ndr_flags, const struct dfs_Target_Priority *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dfs_Target_PriorityClass(ndr, NDR_SCALARS, r->target_priority_class)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->target_priority_rank)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Target_Priority(struct ndr_pull *ndr, int ndr_flags, struct dfs_Target_Priority *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dfs_Target_PriorityClass(ndr, NDR_SCALARS, &r->target_priority_class)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->target_priority_rank)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Target_Priority(struct ndr_print *ndr, const char *name, const struct dfs_Target_Priority *r) -{ - ndr_print_struct(ndr, name, "dfs_Target_Priority"); - ndr->depth++; - ndr_print_dfs_Target_PriorityClass(ndr, "target_priority_class", r->target_priority_class); - ndr_print_uint16(ndr, "target_priority_rank", r->target_priority_rank); - ndr_print_uint16(ndr, "reserved", r->reserved); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_StorageInfo2(struct ndr_push *ndr, int ndr_flags, const struct dfs_StorageInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_dfs_StorageInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_dfs_Target_Priority(ndr, NDR_SCALARS, &r->target_priority)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_StorageInfo2(struct ndr_pull *ndr, int ndr_flags, struct dfs_StorageInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_dfs_Target_Priority(ndr, NDR_SCALARS, &r->target_priority)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_StorageInfo2(struct ndr_print *ndr, const char *name, const struct dfs_StorageInfo2 *r) -{ - ndr_print_struct(ndr, name, "dfs_StorageInfo2"); - ndr->depth++; - ndr_print_dfs_StorageInfo(ndr, "info", &r->info); - ndr_print_dfs_Target_Priority(ndr, "target_priority", &r->target_priority); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info6(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info6 *r) -{ - uint32_t cntr_stores_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entry_path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_dfs_PropertyFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pktsize)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_stores)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->stores)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entry_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->entry_path, ndr_charset_length(r->entry_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->stores) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_stores)); - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_push_dfs_StorageInfo2(ndr, NDR_SCALARS, &r->stores[cntr_stores_1])); - } - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_push_dfs_StorageInfo2(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info6(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info6 *r) -{ - uint32_t _ptr_entry_path; - TALLOC_CTX *_mem_save_entry_path_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_stores; - uint32_t cntr_stores_1; - TALLOC_CTX *_mem_save_stores_0; - TALLOC_CTX *_mem_save_stores_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entry_path)); - if (_ptr_entry_path) { - NDR_PULL_ALLOC(ndr, r->entry_path); - } else { - r->entry_path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_dfs_PropertyFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pktsize)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_stores)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stores)); - if (_ptr_stores) { - NDR_PULL_ALLOC(ndr, r->stores); - } else { - r->stores = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entry_path) { - _mem_save_entry_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entry_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entry_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->entry_path)); - if (ndr_get_array_length(ndr, &r->entry_path) > ndr_get_array_size(ndr, &r->entry_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->entry_path), ndr_get_array_length(ndr, &r->entry_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->entry_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->entry_path, ndr_get_array_length(ndr, &r->entry_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_path_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->stores) { - _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->stores)); - NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores)); - _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0); - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_pull_dfs_StorageInfo2(ndr, NDR_SCALARS, &r->stores[cntr_stores_1])); - } - for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) { - NDR_CHECK(ndr_pull_dfs_StorageInfo2(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_0, 0); - } - if (r->stores) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->stores, r->num_stores)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info6(struct ndr_print *ndr, const char *name, const struct dfs_Info6 *r) -{ - uint32_t cntr_stores_1; - ndr_print_struct(ndr, name, "dfs_Info6"); - ndr->depth++; - ndr_print_ptr(ndr, "entry_path", r->entry_path); - ndr->depth++; - if (r->entry_path) { - ndr_print_string(ndr, "entry_path", r->entry_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_dfs_VolumeState(ndr, "state", r->state); - ndr_print_uint32(ndr, "timeout", r->timeout); - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_dfs_PropertyFlags(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "pktsize", r->pktsize); - ndr_print_uint16(ndr, "num_stores", r->num_stores); - ndr_print_ptr(ndr, "stores", r->stores); - ndr->depth++; - if (r->stores) { - ndr->print(ndr, "%s: ARRAY(%d)", "stores", (int)r->num_stores); - ndr->depth++; - for (cntr_stores_1=0;cntr_stores_1num_stores;cntr_stores_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_stores_1) != -1) { - ndr_print_dfs_StorageInfo2(ndr, "stores", &r->stores[cntr_stores_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info7(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->generation_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info7(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->generation_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info7(struct ndr_print *ndr, const char *name, const struct dfs_Info7 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info7"); - ndr->depth++; - ndr_print_GUID(ndr, "generation_guid", &r->generation_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info100(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info100 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info100(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info100 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info100(struct ndr_print *ndr, const char *name, const struct dfs_Info100 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info100"); - ndr->depth++; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info101(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info101 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dfs_StorageState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info101(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info101 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dfs_StorageState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info101(struct ndr_print *ndr, const char *name, const struct dfs_Info101 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info101"); - ndr->depth++; - ndr_print_dfs_StorageState(ndr, "state", r->state); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info102(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info102 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info102(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info102 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info102(struct ndr_print *ndr, const char *name, const struct dfs_Info102 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info102"); - ndr->depth++; - ndr_print_uint32(ndr, "timeout", r->timeout); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info103(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info103 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dfs_PropertyFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info103(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info103 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dfs_PropertyFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info103(struct ndr_print *ndr, const char *name, const struct dfs_Info103 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info103"); - ndr->depth++; - ndr_print_dfs_PropertyFlags(ndr, "flags", r->flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info104(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info104 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dfs_Target_Priority(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info104(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info104 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dfs_Target_Priority(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info104(struct ndr_print *ndr, const char *name, const struct dfs_Info104 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info104"); - ndr->depth++; - ndr_print_dfs_Target_Priority(ndr, "priority", &r->priority); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info105(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info105 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->property_flag_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->property_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info105(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info105 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->property_flag_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->property_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info105(struct ndr_print *ndr, const char *name, const struct dfs_Info105 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info105"); - ndr->depth++; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_dfs_VolumeState(ndr, "state", r->state); - ndr_print_uint32(ndr, "timeout", r->timeout); - ndr_print_uint32(ndr, "property_flag_mask", r->property_flag_mask); - ndr_print_uint32(ndr, "property_flags", r->property_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info106(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info106 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dfs_StorageState(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_dfs_Target_Priority(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info106(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info106 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dfs_StorageState(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_dfs_Target_Priority(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info106(struct ndr_print *ndr, const char *name, const struct dfs_Info106 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info106"); - ndr->depth++; - ndr_print_dfs_StorageState(ndr, "state", r->state); - ndr_print_dfs_Target_Priority(ndr, "priority", &r->priority); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info200(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info200 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dom_root)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dom_root) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dom_root, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dom_root, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dom_root, ndr_charset_length(r->dom_root, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info200(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info200 *r) -{ - uint32_t _ptr_dom_root; - TALLOC_CTX *_mem_save_dom_root_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dom_root)); - if (_ptr_dom_root) { - NDR_PULL_ALLOC(ndr, r->dom_root); - } else { - r->dom_root = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dom_root) { - _mem_save_dom_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dom_root, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dom_root)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dom_root)); - if (ndr_get_array_length(ndr, &r->dom_root) > ndr_get_array_size(ndr, &r->dom_root)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dom_root), ndr_get_array_length(ndr, &r->dom_root)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_root_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info200(struct ndr_print *ndr, const char *name, const struct dfs_Info200 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info200"); - ndr->depth++; - ndr_print_ptr(ndr, "dom_root", r->dom_root); - ndr->depth++; - if (r->dom_root) { - ndr_print_string(ndr, "dom_root", r->dom_root); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_VolumeFlavor(struct ndr_push *ndr, int ndr_flags, enum dfs_VolumeFlavor r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_VolumeFlavor(struct ndr_pull *ndr, int ndr_flags, enum dfs_VolumeFlavor *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_VolumeFlavor(struct ndr_print *ndr, const char *name, enum dfs_VolumeFlavor r) -{ - const char *val = NULL; - - switch (r) { - case DFS_VOLUME_FLAVOR_STANDALONE: val = "DFS_VOLUME_FLAVOR_STANDALONE"; break; - case DFS_VOLUME_FLAVOR_AD_BLOB: val = "DFS_VOLUME_FLAVOR_AD_BLOB"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dfs_Info300(struct ndr_push *ndr, int ndr_flags, const struct dfs_Info300 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_dfs_VolumeFlavor(ndr, NDR_SCALARS, r->flavor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dom_root)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dom_root) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dom_root, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dom_root, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dom_root, ndr_charset_length(r->dom_root, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info300(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info300 *r) -{ - uint32_t _ptr_dom_root; - TALLOC_CTX *_mem_save_dom_root_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_dfs_VolumeFlavor(ndr, NDR_SCALARS, &r->flavor)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dom_root)); - if (_ptr_dom_root) { - NDR_PULL_ALLOC(ndr, r->dom_root); - } else { - r->dom_root = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dom_root) { - _mem_save_dom_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dom_root, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dom_root)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dom_root)); - if (ndr_get_array_length(ndr, &r->dom_root) > ndr_get_array_size(ndr, &r->dom_root)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dom_root), ndr_get_array_length(ndr, &r->dom_root)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_root_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info300(struct ndr_print *ndr, const char *name, const struct dfs_Info300 *r) -{ - ndr_print_struct(ndr, name, "dfs_Info300"); - ndr->depth++; - ndr_print_dfs_VolumeFlavor(ndr, "flavor", r->flavor); - ndr_print_ptr(ndr, "dom_root", r->dom_root); - ndr->depth++; - if (r->dom_root) { - ndr_print_string(ndr, "dom_root", r->dom_root); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Info(struct ndr_push *ndr, int ndr_flags, const union dfs_Info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info7)); - break; } - - case 100: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info100)); - break; } - - case 101: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info101)); - break; } - - case 102: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info102)); - break; } - - case 103: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info103)); - break; } - - case 104: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info104)); - break; } - - case 105: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info105)); - break; } - - case 106: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info106)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_dfs_Info0(ndr, NDR_SCALARS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_dfs_Info1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_dfs_Info2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_dfs_Info3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - } - break; - - case 4: - if (r->info4) { - NDR_CHECK(ndr_push_dfs_Info4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - } - break; - - case 5: - if (r->info5) { - NDR_CHECK(ndr_push_dfs_Info5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5)); - } - break; - - case 6: - if (r->info6) { - NDR_CHECK(ndr_push_dfs_Info6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6)); - } - break; - - case 7: - if (r->info7) { - NDR_CHECK(ndr_push_dfs_Info7(ndr, NDR_SCALARS, r->info7)); - } - break; - - case 100: - if (r->info100) { - NDR_CHECK(ndr_push_dfs_Info100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); - } - break; - - case 101: - if (r->info101) { - NDR_CHECK(ndr_push_dfs_Info101(ndr, NDR_SCALARS, r->info101)); - } - break; - - case 102: - if (r->info102) { - NDR_CHECK(ndr_push_dfs_Info102(ndr, NDR_SCALARS, r->info102)); - } - break; - - case 103: - if (r->info103) { - NDR_CHECK(ndr_push_dfs_Info103(ndr, NDR_SCALARS, r->info103)); - } - break; - - case 104: - if (r->info104) { - NDR_CHECK(ndr_push_dfs_Info104(ndr, NDR_SCALARS, r->info104)); - } - break; - - case 105: - if (r->info105) { - NDR_CHECK(ndr_push_dfs_Info105(ndr, NDR_SCALARS|NDR_BUFFERS, r->info105)); - } - break; - - case 106: - if (r->info106) { - NDR_CHECK(ndr_push_dfs_Info106(ndr, NDR_SCALARS, r->info106)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Info(struct ndr_pull *ndr, int ndr_flags, union dfs_Info *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - TALLOC_CTX *_mem_save_info4_0; - TALLOC_CTX *_mem_save_info5_0; - TALLOC_CTX *_mem_save_info6_0; - TALLOC_CTX *_mem_save_info7_0; - TALLOC_CTX *_mem_save_info100_0; - TALLOC_CTX *_mem_save_info101_0; - TALLOC_CTX *_mem_save_info102_0; - TALLOC_CTX *_mem_save_info103_0; - TALLOC_CTX *_mem_save_info104_0; - TALLOC_CTX *_mem_save_info105_0; - TALLOC_CTX *_mem_save_info106_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_info4; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4)); - if (_ptr_info4) { - NDR_PULL_ALLOC(ndr, r->info4); - } else { - r->info4 = NULL; - } - break; } - - case 5: { - uint32_t _ptr_info5; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5)); - if (_ptr_info5) { - NDR_PULL_ALLOC(ndr, r->info5); - } else { - r->info5 = NULL; - } - break; } - - case 6: { - uint32_t _ptr_info6; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6)); - if (_ptr_info6) { - NDR_PULL_ALLOC(ndr, r->info6); - } else { - r->info6 = NULL; - } - break; } - - case 7: { - uint32_t _ptr_info7; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7)); - if (_ptr_info7) { - NDR_PULL_ALLOC(ndr, r->info7); - } else { - r->info7 = NULL; - } - break; } - - case 100: { - uint32_t _ptr_info100; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100)); - if (_ptr_info100) { - NDR_PULL_ALLOC(ndr, r->info100); - } else { - r->info100 = NULL; - } - break; } - - case 101: { - uint32_t _ptr_info101; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101)); - if (_ptr_info101) { - NDR_PULL_ALLOC(ndr, r->info101); - } else { - r->info101 = NULL; - } - break; } - - case 102: { - uint32_t _ptr_info102; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102)); - if (_ptr_info102) { - NDR_PULL_ALLOC(ndr, r->info102); - } else { - r->info102 = NULL; - } - break; } - - case 103: { - uint32_t _ptr_info103; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info103)); - if (_ptr_info103) { - NDR_PULL_ALLOC(ndr, r->info103); - } else { - r->info103 = NULL; - } - break; } - - case 104: { - uint32_t _ptr_info104; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info104)); - if (_ptr_info104) { - NDR_PULL_ALLOC(ndr, r->info104); - } else { - r->info104 = NULL; - } - break; } - - case 105: { - uint32_t _ptr_info105; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info105)); - if (_ptr_info105) { - NDR_PULL_ALLOC(ndr, r->info105); - } else { - r->info105 = NULL; - } - break; } - - case 106: { - uint32_t _ptr_info106; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info106)); - if (_ptr_info106) { - NDR_PULL_ALLOC(ndr, r->info106); - } else { - r->info106 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_dfs_Info0(ndr, NDR_SCALARS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - case 4: - if (r->info4) { - _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0); - NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0); - } - break; - - case 5: - if (r->info5) { - _mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0); - NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0); - } - break; - - case 6: - if (r->info6) { - _mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0); - NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0); - } - break; - - case 7: - if (r->info7) { - _mem_save_info7_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info7, 0); - NDR_CHECK(ndr_pull_dfs_Info7(ndr, NDR_SCALARS, r->info7)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info7_0, 0); - } - break; - - case 100: - if (r->info100) { - _mem_save_info100_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info100, 0); - NDR_CHECK(ndr_pull_dfs_Info100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info100_0, 0); - } - break; - - case 101: - if (r->info101) { - _mem_save_info101_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info101, 0); - NDR_CHECK(ndr_pull_dfs_Info101(ndr, NDR_SCALARS, r->info101)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info101_0, 0); - } - break; - - case 102: - if (r->info102) { - _mem_save_info102_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info102, 0); - NDR_CHECK(ndr_pull_dfs_Info102(ndr, NDR_SCALARS, r->info102)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info102_0, 0); - } - break; - - case 103: - if (r->info103) { - _mem_save_info103_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info103, 0); - NDR_CHECK(ndr_pull_dfs_Info103(ndr, NDR_SCALARS, r->info103)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info103_0, 0); - } - break; - - case 104: - if (r->info104) { - _mem_save_info104_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info104, 0); - NDR_CHECK(ndr_pull_dfs_Info104(ndr, NDR_SCALARS, r->info104)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info104_0, 0); - } - break; - - case 105: - if (r->info105) { - _mem_save_info105_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info105, 0); - NDR_CHECK(ndr_pull_dfs_Info105(ndr, NDR_SCALARS|NDR_BUFFERS, r->info105)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info105_0, 0); - } - break; - - case 106: - if (r->info106) { - _mem_save_info106_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info106, 0); - NDR_CHECK(ndr_pull_dfs_Info106(ndr, NDR_SCALARS, r->info106)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info106_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Info(struct ndr_print *ndr, const char *name, const union dfs_Info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dfs_Info"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_dfs_Info0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_dfs_Info1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_dfs_Info2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_dfs_Info3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "info4", r->info4); - ndr->depth++; - if (r->info4) { - ndr_print_dfs_Info4(ndr, "info4", r->info4); - } - ndr->depth--; - break; - - case 5: - ndr_print_ptr(ndr, "info5", r->info5); - ndr->depth++; - if (r->info5) { - ndr_print_dfs_Info5(ndr, "info5", r->info5); - } - ndr->depth--; - break; - - case 6: - ndr_print_ptr(ndr, "info6", r->info6); - ndr->depth++; - if (r->info6) { - ndr_print_dfs_Info6(ndr, "info6", r->info6); - } - ndr->depth--; - break; - - case 7: - ndr_print_ptr(ndr, "info7", r->info7); - ndr->depth++; - if (r->info7) { - ndr_print_dfs_Info7(ndr, "info7", r->info7); - } - ndr->depth--; - break; - - case 100: - ndr_print_ptr(ndr, "info100", r->info100); - ndr->depth++; - if (r->info100) { - ndr_print_dfs_Info100(ndr, "info100", r->info100); - } - ndr->depth--; - break; - - case 101: - ndr_print_ptr(ndr, "info101", r->info101); - ndr->depth++; - if (r->info101) { - ndr_print_dfs_Info101(ndr, "info101", r->info101); - } - ndr->depth--; - break; - - case 102: - ndr_print_ptr(ndr, "info102", r->info102); - ndr->depth++; - if (r->info102) { - ndr_print_dfs_Info102(ndr, "info102", r->info102); - } - ndr->depth--; - break; - - case 103: - ndr_print_ptr(ndr, "info103", r->info103); - ndr->depth++; - if (r->info103) { - ndr_print_dfs_Info103(ndr, "info103", r->info103); - } - ndr->depth--; - break; - - case 104: - ndr_print_ptr(ndr, "info104", r->info104); - ndr->depth++; - if (r->info104) { - ndr_print_dfs_Info104(ndr, "info104", r->info104); - } - ndr->depth--; - break; - - case 105: - ndr_print_ptr(ndr, "info105", r->info105); - ndr->depth++; - if (r->info105) { - ndr_print_dfs_Info105(ndr, "info105", r->info105); - } - ndr->depth--; - break; - - case 106: - ndr_print_ptr(ndr, "info106", r->info106); - ndr->depth++; - if (r->info106) { - ndr_print_dfs_Info106(ndr, "info106", r->info106); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_dfs_EnumArray1(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray1 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info1(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info1(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray1(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray1 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray1(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray1 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info1(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray2(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray2 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info2(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info2(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray2(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray2 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray2(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray2 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info2(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray3(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray3 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info3(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info3(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray3(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray3 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray3(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray3 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray3"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info3(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray4(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray4 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info4(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info4(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray4(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray4 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray4(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray4 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray4"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info4(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray5(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray5 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info5(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info5(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray5(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray5 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray5(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray5 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray5"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info5(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray6(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray6 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info6(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info6(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray6(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray6 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray6(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray6 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray6"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info6(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray200(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray200 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info200(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info200(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray200(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray200 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info200(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info200(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray200(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray200 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray200"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info200(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumArray300(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray300 *r) -{ - uint32_t cntr_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->s)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info300(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_push_dfs_Info300(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumArray300(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray300 *r) -{ - uint32_t _ptr_s; - uint32_t cntr_s_1; - TALLOC_CTX *_mem_save_s_0; - TALLOC_CTX *_mem_save_s_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s)); - if (_ptr_s) { - NDR_PULL_ALLOC(ndr, r->s); - } else { - r->s = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->s) { - _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->s)); - NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s)); - _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->s, 0); - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info300(ndr, NDR_SCALARS, &r->s[cntr_s_1])); - } - for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) { - NDR_CHECK(ndr_pull_dfs_Info300(ndr, NDR_BUFFERS, &r->s[cntr_s_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0); - } - if (r->s) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumArray300(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray300 *r) -{ - uint32_t cntr_s_1; - ndr_print_struct(ndr, name, "dfs_EnumArray300"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "s", r->s); - ndr->depth++; - if (r->s) { - ndr->print(ndr, "%s: ARRAY(%d)", "s", (int)r->count); - ndr->depth++; - for (cntr_s_1=0;cntr_s_1count;cntr_s_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_s_1) != -1) { - ndr_print_dfs_Info300(ndr, "s", &r->s[cntr_s_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_EnumInfo(struct ndr_push *ndr, int ndr_flags, const union dfs_EnumInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6)); - break; } - - case 200: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info200)); - break; } - - case 300: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info300)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_dfs_EnumArray1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_dfs_EnumArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_dfs_EnumArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - } - break; - - case 4: - if (r->info4) { - NDR_CHECK(ndr_push_dfs_EnumArray4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - } - break; - - case 5: - if (r->info5) { - NDR_CHECK(ndr_push_dfs_EnumArray5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5)); - } - break; - - case 6: - if (r->info6) { - NDR_CHECK(ndr_push_dfs_EnumArray6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6)); - } - break; - - case 200: - if (r->info200) { - NDR_CHECK(ndr_push_dfs_EnumArray200(ndr, NDR_SCALARS|NDR_BUFFERS, r->info200)); - } - break; - - case 300: - if (r->info300) { - NDR_CHECK(ndr_push_dfs_EnumArray300(ndr, NDR_SCALARS|NDR_BUFFERS, r->info300)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_flags, union dfs_EnumInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - TALLOC_CTX *_mem_save_info4_0; - TALLOC_CTX *_mem_save_info5_0; - TALLOC_CTX *_mem_save_info6_0; - TALLOC_CTX *_mem_save_info200_0; - TALLOC_CTX *_mem_save_info300_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_info4; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4)); - if (_ptr_info4) { - NDR_PULL_ALLOC(ndr, r->info4); - } else { - r->info4 = NULL; - } - break; } - - case 5: { - uint32_t _ptr_info5; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5)); - if (_ptr_info5) { - NDR_PULL_ALLOC(ndr, r->info5); - } else { - r->info5 = NULL; - } - break; } - - case 6: { - uint32_t _ptr_info6; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6)); - if (_ptr_info6) { - NDR_PULL_ALLOC(ndr, r->info6); - } else { - r->info6 = NULL; - } - break; } - - case 200: { - uint32_t _ptr_info200; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info200)); - if (_ptr_info200) { - NDR_PULL_ALLOC(ndr, r->info200); - } else { - r->info200 = NULL; - } - break; } - - case 300: { - uint32_t _ptr_info300; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info300)); - if (_ptr_info300) { - NDR_PULL_ALLOC(ndr, r->info300); - } else { - r->info300 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - case 4: - if (r->info4) { - _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0); - } - break; - - case 5: - if (r->info5) { - _mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0); - } - break; - - case 6: - if (r->info6) { - _mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0); - } - break; - - case 200: - if (r->info200) { - _mem_save_info200_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info200, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray200(ndr, NDR_SCALARS|NDR_BUFFERS, r->info200)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info200_0, 0); - } - break; - - case 300: - if (r->info300) { - _mem_save_info300_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info300, 0); - NDR_CHECK(ndr_pull_dfs_EnumArray300(ndr, NDR_SCALARS|NDR_BUFFERS, r->info300)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info300_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumInfo(struct ndr_print *ndr, const char *name, const union dfs_EnumInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dfs_EnumInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_dfs_EnumArray1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_dfs_EnumArray2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_dfs_EnumArray3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "info4", r->info4); - ndr->depth++; - if (r->info4) { - ndr_print_dfs_EnumArray4(ndr, "info4", r->info4); - } - ndr->depth--; - break; - - case 5: - ndr_print_ptr(ndr, "info5", r->info5); - ndr->depth++; - if (r->info5) { - ndr_print_dfs_EnumArray5(ndr, "info5", r->info5); - } - ndr->depth--; - break; - - case 6: - ndr_print_ptr(ndr, "info6", r->info6); - ndr->depth++; - if (r->info6) { - ndr_print_dfs_EnumArray6(ndr, "info6", r->info6); - } - ndr->depth--; - break; - - case 200: - ndr_print_ptr(ndr, "info200", r->info200); - ndr->depth++; - if (r->info200) { - ndr_print_dfs_EnumArray200(ndr, "info200", r->info200); - } - ndr->depth--; - break; - - case 300: - ndr_print_ptr(ndr, "info300", r->info300); - ndr->depth++; - if (r->info300) { - ndr_print_dfs_EnumArray300(ndr, "info300", r->info300); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_dfs_EnumStruct(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumStruct *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->e, r->level)); - NDR_CHECK(ndr_push_dfs_EnumInfo(ndr, NDR_SCALARS, &r->e)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dfs_EnumInfo(ndr, NDR_BUFFERS, &r->e)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_EnumStruct(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumStruct *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->e, r->level)); - NDR_CHECK(ndr_pull_dfs_EnumInfo(ndr, NDR_SCALARS, &r->e)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dfs_EnumInfo(ndr, NDR_BUFFERS, &r->e)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumStruct(struct ndr_print *ndr, const char *name, const struct dfs_EnumStruct *r) -{ - ndr_print_struct(ndr, name, "dfs_EnumStruct"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->e, r->level); - ndr_print_dfs_EnumInfo(ndr, "e", &r->e); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_UnknownStruct(struct ndr_push *ndr, int ndr_flags, const struct dfs_UnknownStruct *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->unknown2) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_UnknownStruct(struct ndr_pull *ndr, int ndr_flags, struct dfs_UnknownStruct *r) -{ - uint32_t _ptr_unknown2; - TALLOC_CTX *_mem_save_unknown2_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, r->unknown2); - } else { - r->unknown2 = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->unknown2) { - _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2)); - if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_UnknownStruct(struct ndr_print *ndr, const char *name, const struct dfs_UnknownStruct *r) -{ - ndr_print_struct(ndr, name, "dfs_UnknownStruct"); - ndr->depth++; - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_ptr(ndr, "unknown2", r->unknown2); - ndr->depth++; - if (r->unknown2) { - ndr_print_string(ndr, "unknown2", r->unknown2); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dfs_GetManagerVersion(struct ndr_push *ndr, int flags, const struct dfs_GetManagerVersion *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - if (r->out.version == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dfs_ManagerVersion(ndr, NDR_SCALARS, *r->out.version)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dfs_GetManagerVersion(struct ndr_pull *ndr, int flags, struct dfs_GetManagerVersion *r) -{ - TALLOC_CTX *_mem_save_version_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_PULL_ALLOC(ndr, r->out.version); - ZERO_STRUCTP(r->out.version); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.version); - } - _mem_save_version_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.version, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dfs_ManagerVersion(ndr, NDR_SCALARS, r->out.version)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_version_0, LIBNDR_FLAG_REF_ALLOC); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_GetManagerVersion(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetManagerVersion *r) -{ - ndr_print_struct(ndr, name, "dfs_GetManagerVersion"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_GetManagerVersion"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_GetManagerVersion"); - ndr->depth++; - ndr_print_ptr(ndr, "version", r->out.version); - ndr->depth++; - ndr_print_dfs_ManagerVersion(ndr, "version", *r->out.version); - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Add(struct ndr_push *ndr, int flags, const struct dfs_Add *r) -{ - if (flags & NDR_IN) { - if (r->in.path == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path, ndr_charset_length(r->in.path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.server == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.share)); - if (r->in.share) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share, ndr_charset_length(r->in.share, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.comment)); - if (r->in.comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.comment, ndr_charset_length(r->in.comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Add(struct ndr_pull *ndr, int flags, struct dfs_Add *r) -{ - uint32_t _ptr_share; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_share_0; - TALLOC_CTX *_mem_save_comment_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path)); - if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share)); - if (_ptr_share) { - NDR_PULL_ALLOC(ndr, r->in.share); - } else { - r->in.share = NULL; - } - if (r->in.share) { - _mem_save_share_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share)); - if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->in.comment); - } else { - r->in.comment = NULL; - } - if (r->in.comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment)); - if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Add(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Add *r) -{ - ndr_print_struct(ndr, name, "dfs_Add"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Add"); - ndr->depth++; - ndr_print_ptr(ndr, "path", r->in.path); - ndr->depth++; - ndr_print_string(ndr, "path", r->in.path); - ndr->depth--; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - ndr_print_string(ndr, "server", r->in.server); - ndr->depth--; - ndr_print_ptr(ndr, "share", r->in.share); - ndr->depth++; - if (r->in.share) { - ndr_print_string(ndr, "share", r->in.share); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->in.comment); - ndr->depth++; - if (r->in.comment) { - ndr_print_string(ndr, "comment", r->in.comment); - } - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Add"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Remove(struct ndr_push *ndr, int flags, const struct dfs_Remove *r) -{ - if (flags & NDR_IN) { - if (r->in.dfs_entry_path == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfs_entry_path, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sharename)); - if (r->in.sharename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.sharename, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.sharename, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.sharename, ndr_charset_length(r->in.sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Remove(struct ndr_pull *ndr, int flags, struct dfs_Remove *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_sharename; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_sharename_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path)); - if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename)); - if (_ptr_sharename) { - NDR_PULL_ALLOC(ndr, r->in.sharename); - } else { - r->in.sharename = NULL; - } - if (r->in.sharename) { - _mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename)); - if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.sharename), ndr_get_array_length(ndr, &r->in.sharename)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Remove(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Remove *r) -{ - ndr_print_struct(ndr, name, "dfs_Remove"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Remove"); - ndr->depth++; - ndr_print_ptr(ndr, "dfs_entry_path", r->in.dfs_entry_path); - ndr->depth++; - ndr_print_string(ndr, "dfs_entry_path", r->in.dfs_entry_path); - ndr->depth--; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "sharename", r->in.sharename); - ndr->depth++; - if (r->in.sharename) { - ndr_print_string(ndr, "sharename", r->in.sharename); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Remove"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_SetInfo(struct ndr_push *ndr, int flags, const struct dfs_SetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfs_entry_path, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sharename)); - if (r->in.sharename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.sharename, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.sharename, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.sharename, ndr_charset_length(r->in.sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_dfs_Info(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_SetInfo(struct ndr_pull *ndr, int flags, struct dfs_SetInfo *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_sharename; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_sharename_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path)); - if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename)); - if (_ptr_sharename) { - NDR_PULL_ALLOC(ndr, r->in.sharename); - } else { - r->in.sharename = NULL; - } - if (r->in.sharename) { - _mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename)); - if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.sharename), ndr_get_array_length(ndr, &r->in.sharename)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_dfs_Info(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_SetInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_SetInfo *r) -{ - ndr_print_struct(ndr, name, "dfs_SetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_SetInfo"); - ndr->depth++; - ndr_print_string(ndr, "dfs_entry_path", r->in.dfs_entry_path); - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "sharename", r->in.sharename); - ndr->depth++; - if (r->in.sharename) { - ndr_print_string(ndr, "sharename", r->in.sharename); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_dfs_Info(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_SetInfo"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_GetInfo(struct ndr_push *ndr, int flags, const struct dfs_GetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfs_entry_path, ndr_charset_length(r->in.dfs_entry_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sharename)); - if (r->in.sharename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.sharename, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.sharename, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.sharename, ndr_charset_length(r->in.sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_dfs_Info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_GetInfo(struct ndr_pull *ndr, int flags, struct dfs_GetInfo *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_sharename; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_sharename_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path)); - if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename)); - if (_ptr_sharename) { - NDR_PULL_ALLOC(ndr, r->in.sharename); - } else { - r->in.sharename = NULL; - } - if (r->in.sharename) { - _mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename)); - if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.sharename), ndr_get_array_length(ndr, &r->in.sharename)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_dfs_Info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_GetInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetInfo *r) -{ - ndr_print_struct(ndr, name, "dfs_GetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_GetInfo"); - ndr->depth++; - ndr_print_string(ndr, "dfs_entry_path", r->in.dfs_entry_path); - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "sharename", r->in.sharename); - ndr->depth++; - if (r->in.sharename) { - ndr_print_string(ndr, "sharename", r->in.sharename); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_GetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_dfs_Info(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Enum(struct ndr_push *ndr, int flags, const struct dfs_Enum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info)); - if (r->in.info) { - NDR_CHECK(ndr_push_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.total)); - if (r->in.total) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.total)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.total)); - if (r->out.total) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Enum(struct ndr_pull *ndr, int flags, struct dfs_Enum *r) -{ - uint32_t _ptr_info; - uint32_t _ptr_total; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_total_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->in.info); - } else { - r->in.info = NULL; - } - if (r->in.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0); - NDR_CHECK(ndr_pull_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_total)); - if (_ptr_total) { - NDR_PULL_ALLOC(ndr, r->in.total); - } else { - r->in.total = NULL; - } - if (r->in.total) { - _mem_save_total_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.total, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.total)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_total)); - if (_ptr_total) { - NDR_PULL_ALLOC(ndr, r->out.total); - } else { - r->out.total = NULL; - } - if (r->out.total) { - _mem_save_total_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Enum(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Enum *r) -{ - ndr_print_struct(ndr, name, "dfs_Enum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Enum"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "bufsize", r->in.bufsize); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - if (r->in.info) { - ndr_print_dfs_EnumStruct(ndr, "info", r->in.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "total", r->in.total); - ndr->depth++; - if (r->in.total) { - ndr_print_uint32(ndr, "total", *r->in.total); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Enum"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_dfs_EnumStruct(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "total", r->out.total); - ndr->depth++; - if (r->out.total) { - ndr_print_uint32(ndr, "total", *r->out.total); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Rename(struct ndr_push *ndr, int flags, const struct dfs_Rename *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Rename(struct ndr_pull *ndr, int flags, struct dfs_Rename *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Rename(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Rename *r) -{ - ndr_print_struct(ndr, name, "dfs_Rename"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Rename"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Rename"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Move(struct ndr_push *ndr, int flags, const struct dfs_Move *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Move(struct ndr_pull *ndr, int flags, struct dfs_Move *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Move(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Move *r) -{ - ndr_print_struct(ndr, name, "dfs_Move"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Move"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Move"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_ManagerGetConfigInfo(struct ndr_push *ndr, int flags, const struct dfs_ManagerGetConfigInfo *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_ManagerGetConfigInfo(struct ndr_pull *ndr, int flags, struct dfs_ManagerGetConfigInfo *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_ManagerGetConfigInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_ManagerGetConfigInfo *r) -{ - ndr_print_struct(ndr, name, "dfs_ManagerGetConfigInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_ManagerGetConfigInfo"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_ManagerGetConfigInfo"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_ManagerSendSiteInfo(struct ndr_push *ndr, int flags, const struct dfs_ManagerSendSiteInfo *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_ManagerSendSiteInfo(struct ndr_pull *ndr, int flags, struct dfs_ManagerSendSiteInfo *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_ManagerSendSiteInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_ManagerSendSiteInfo *r) -{ - ndr_print_struct(ndr, name, "dfs_ManagerSendSiteInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_ManagerSendSiteInfo"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_ManagerSendSiteInfo"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_AddFtRoot(struct ndr_push *ndr, int flags, const struct dfs_AddFtRoot *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_servername, ndr_charset_length(r->in.dns_servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfsname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfsname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfsname, ndr_charset_length(r->in.dfsname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.rootshare, ndr_charset_length(r->in.rootshare, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.comment, ndr_charset_length(r->in.comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_config_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_config_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfs_config_dn, ndr_charset_length(r->in.dfs_config_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown2)); - if (r->in.unknown2) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.unknown2)); - if (*r->in.unknown2) { - NDR_CHECK(ndr_push_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.unknown2)); - } - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.unknown2)); - if (r->out.unknown2) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.unknown2)); - if (*r->out.unknown2) { - NDR_CHECK(ndr_push_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.unknown2)); - } - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_AddFtRoot(struct ndr_pull *ndr, int flags, struct dfs_AddFtRoot *r) -{ - uint32_t _ptr_unknown2; - TALLOC_CTX *_mem_save_unknown2_0; - TALLOC_CTX *_mem_save_unknown2_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_servername)); - if (ndr_get_array_length(ndr, &r->in.dns_servername) > ndr_get_array_size(ndr, &r->in.dns_servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_servername), ndr_get_array_length(ndr, &r->in.dns_servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfsname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfsname)); - if (ndr_get_array_length(ndr, &r->in.dfsname) > ndr_get_array_size(ndr, &r->in.dfsname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfsname), ndr_get_array_length(ndr, &r->in.dfsname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare)); - if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment)); - if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_config_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_config_dn)); - if (ndr_get_array_length(ndr, &r->in.dfs_config_dn) > ndr_get_array_size(ndr, &r->in.dfs_config_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_config_dn), ndr_get_array_length(ndr, &r->in.dfs_config_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_config_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_config_dn, ndr_get_array_length(ndr, &r->in.dfs_config_dn), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, r->in.unknown2); - } else { - r->in.unknown2 = NULL; - } - if (r->in.unknown2) { - _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown2, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, *r->in.unknown2); - } else { - *r->in.unknown2 = NULL; - } - if (*r->in.unknown2) { - _mem_save_unknown2_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.unknown2, 0); - NDR_CHECK(ndr_pull_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.unknown2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, r->out.unknown2); - } else { - r->out.unknown2 = NULL; - } - if (r->out.unknown2) { - _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown2, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, *r->out.unknown2); - } else { - *r->out.unknown2 = NULL; - } - if (*r->out.unknown2) { - _mem_save_unknown2_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.unknown2, 0); - NDR_CHECK(ndr_pull_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.unknown2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_AddFtRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_AddFtRoot *r) -{ - ndr_print_struct(ndr, name, "dfs_AddFtRoot"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_AddFtRoot"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "dns_servername", r->in.dns_servername); - ndr_print_string(ndr, "dfsname", r->in.dfsname); - ndr_print_string(ndr, "rootshare", r->in.rootshare); - ndr_print_string(ndr, "comment", r->in.comment); - ndr_print_string(ndr, "dfs_config_dn", r->in.dfs_config_dn); - ndr_print_uint8(ndr, "unknown1", r->in.unknown1); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr_print_ptr(ndr, "unknown2", r->in.unknown2); - ndr->depth++; - if (r->in.unknown2) { - ndr_print_ptr(ndr, "unknown2", *r->in.unknown2); - ndr->depth++; - if (*r->in.unknown2) { - ndr_print_dfs_UnknownStruct(ndr, "unknown2", *r->in.unknown2); - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_AddFtRoot"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown2", r->out.unknown2); - ndr->depth++; - if (r->out.unknown2) { - ndr_print_ptr(ndr, "unknown2", *r->out.unknown2); - ndr->depth++; - if (*r->out.unknown2) { - ndr_print_dfs_UnknownStruct(ndr, "unknown2", *r->out.unknown2); - } - ndr->depth--; - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_RemoveFtRoot(struct ndr_push *ndr, int flags, const struct dfs_RemoveFtRoot *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_servername, ndr_charset_length(r->in.dns_servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfsname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfsname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfsname, ndr_charset_length(r->in.dfsname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.rootshare, ndr_charset_length(r->in.rootshare, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown)); - if (r->in.unknown) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.unknown)); - if (*r->in.unknown) { - NDR_CHECK(ndr_push_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.unknown)); - } - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.unknown)); - if (r->out.unknown) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.unknown)); - if (*r->out.unknown) { - NDR_CHECK(ndr_push_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.unknown)); - } - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_RemoveFtRoot(struct ndr_pull *ndr, int flags, struct dfs_RemoveFtRoot *r) -{ - uint32_t _ptr_unknown; - TALLOC_CTX *_mem_save_unknown_0; - TALLOC_CTX *_mem_save_unknown_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_servername)); - if (ndr_get_array_length(ndr, &r->in.dns_servername) > ndr_get_array_size(ndr, &r->in.dns_servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_servername), ndr_get_array_length(ndr, &r->in.dns_servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfsname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfsname)); - if (ndr_get_array_length(ndr, &r->in.dfsname) > ndr_get_array_size(ndr, &r->in.dfsname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfsname), ndr_get_array_length(ndr, &r->in.dfsname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare)); - if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, r->in.unknown); - } else { - r->in.unknown = NULL; - } - if (r->in.unknown) { - _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, *r->in.unknown); - } else { - *r->in.unknown = NULL; - } - if (*r->in.unknown) { - _mem_save_unknown_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.unknown, 0); - NDR_CHECK(ndr_pull_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.unknown)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, r->out.unknown); - } else { - r->out.unknown = NULL; - } - if (r->out.unknown) { - _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, *r->out.unknown); - } else { - *r->out.unknown = NULL; - } - if (*r->out.unknown) { - _mem_save_unknown_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.unknown, 0); - NDR_CHECK(ndr_pull_dfs_UnknownStruct(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.unknown)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_RemoveFtRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_RemoveFtRoot *r) -{ - ndr_print_struct(ndr, name, "dfs_RemoveFtRoot"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_RemoveFtRoot"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "dns_servername", r->in.dns_servername); - ndr_print_string(ndr, "dfsname", r->in.dfsname); - ndr_print_string(ndr, "rootshare", r->in.rootshare); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr_print_ptr(ndr, "unknown", r->in.unknown); - ndr->depth++; - if (r->in.unknown) { - ndr_print_ptr(ndr, "unknown", *r->in.unknown); - ndr->depth++; - if (*r->in.unknown) { - ndr_print_dfs_UnknownStruct(ndr, "unknown", *r->in.unknown); - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_RemoveFtRoot"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown", r->out.unknown); - ndr->depth++; - if (r->out.unknown) { - ndr_print_ptr(ndr, "unknown", *r->out.unknown); - ndr->depth++; - if (*r->out.unknown) { - ndr_print_dfs_UnknownStruct(ndr, "unknown", *r->out.unknown); - } - ndr->depth--; - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_AddStdRoot(struct ndr_push *ndr, int flags, const struct dfs_AddStdRoot *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.rootshare, ndr_charset_length(r->in.rootshare, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.comment, ndr_charset_length(r->in.comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_AddStdRoot(struct ndr_pull *ndr, int flags, struct dfs_AddStdRoot *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare)); - if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment)); - if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_AddStdRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_AddStdRoot *r) -{ - ndr_print_struct(ndr, name, "dfs_AddStdRoot"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_AddStdRoot"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "rootshare", r->in.rootshare); - ndr_print_string(ndr, "comment", r->in.comment); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_AddStdRoot"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_RemoveStdRoot(struct ndr_push *ndr, int flags, const struct dfs_RemoveStdRoot *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.rootshare, ndr_charset_length(r->in.rootshare, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_RemoveStdRoot(struct ndr_pull *ndr, int flags, struct dfs_RemoveStdRoot *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare)); - if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_RemoveStdRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_RemoveStdRoot *r) -{ - ndr_print_struct(ndr, name, "dfs_RemoveStdRoot"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_RemoveStdRoot"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "rootshare", r->in.rootshare); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_RemoveStdRoot"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_ManagerInitialize(struct ndr_push *ndr, int flags, const struct dfs_ManagerInitialize *r) -{ - if (flags & NDR_IN) { - if (r->in.servername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_ManagerInitialize(struct ndr_pull *ndr, int flags, struct dfs_ManagerInitialize *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_ManagerInitialize(struct ndr_print *ndr, const char *name, int flags, const struct dfs_ManagerInitialize *r) -{ - ndr_print_struct(ndr, name, "dfs_ManagerInitialize"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_ManagerInitialize"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_ManagerInitialize"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_AddStdRootForced(struct ndr_push *ndr, int flags, const struct dfs_AddStdRootForced *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.rootshare, ndr_charset_length(r->in.rootshare, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.comment, ndr_charset_length(r->in.comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.store, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.store, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.store, ndr_charset_length(r->in.store, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_AddStdRootForced(struct ndr_pull *ndr, int flags, struct dfs_AddStdRootForced *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare)); - if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment)); - if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.comment), ndr_get_array_length(ndr, &r->in.comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.store)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.store)); - if (ndr_get_array_length(ndr, &r->in.store) > ndr_get_array_size(ndr, &r->in.store)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.store), ndr_get_array_length(ndr, &r->in.store)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.store), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.store, ndr_get_array_length(ndr, &r->in.store), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_AddStdRootForced(struct ndr_print *ndr, const char *name, int flags, const struct dfs_AddStdRootForced *r) -{ - ndr_print_struct(ndr, name, "dfs_AddStdRootForced"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_AddStdRootForced"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "rootshare", r->in.rootshare); - ndr_print_string(ndr, "comment", r->in.comment); - ndr_print_string(ndr, "store", r->in.store); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_AddStdRootForced"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_GetDcAddress(struct ndr_push *ndr, int flags, const struct dfs_GetDcAddress *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.server_fullname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.server_fullname)); - if (*r->in.server_fullname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->in.server_fullname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->in.server_fullname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->in.server_fullname, ndr_charset_length(*r->in.server_fullname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.is_root == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->in.is_root)); - if (r->in.ttl == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.ttl)); - } - if (flags & NDR_OUT) { - if (r->out.server_fullname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.server_fullname)); - if (*r->out.server_fullname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.server_fullname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.server_fullname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.server_fullname, ndr_charset_length(*r->out.server_fullname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->out.is_root == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.is_root)); - if (r->out.ttl == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.ttl)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_GetDcAddress(struct ndr_pull *ndr, int flags, struct dfs_GetDcAddress *r) -{ - uint32_t _ptr_server_fullname; - TALLOC_CTX *_mem_save_server_fullname_0; - TALLOC_CTX *_mem_save_server_fullname_1; - TALLOC_CTX *_mem_save_is_root_0; - TALLOC_CTX *_mem_save_ttl_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.server_fullname); - } - _mem_save_server_fullname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_fullname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_fullname)); - if (_ptr_server_fullname) { - NDR_PULL_ALLOC(ndr, *r->in.server_fullname); - } else { - *r->in.server_fullname = NULL; - } - if (*r->in.server_fullname) { - _mem_save_server_fullname_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.server_fullname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->in.server_fullname)); - NDR_CHECK(ndr_pull_array_length(ndr, r->in.server_fullname)); - if (ndr_get_array_length(ndr, r->in.server_fullname) > ndr_get_array_size(ndr, r->in.server_fullname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->in.server_fullname), ndr_get_array_length(ndr, r->in.server_fullname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->in.server_fullname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.server_fullname, ndr_get_array_length(ndr, r->in.server_fullname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.is_root); - } - _mem_save_is_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.is_root, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->in.is_root)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_is_root_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.ttl); - } - _mem_save_ttl_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.ttl, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.ttl)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ttl_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.server_fullname); - *r->out.server_fullname = *r->in.server_fullname; - NDR_PULL_ALLOC(ndr, r->out.is_root); - *r->out.is_root = *r->in.is_root; - NDR_PULL_ALLOC(ndr, r->out.ttl); - *r->out.ttl = *r->in.ttl; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.server_fullname); - } - _mem_save_server_fullname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.server_fullname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_fullname)); - if (_ptr_server_fullname) { - NDR_PULL_ALLOC(ndr, *r->out.server_fullname); - } else { - *r->out.server_fullname = NULL; - } - if (*r->out.server_fullname) { - _mem_save_server_fullname_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.server_fullname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.server_fullname)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.server_fullname)); - if (ndr_get_array_length(ndr, r->out.server_fullname) > ndr_get_array_size(ndr, r->out.server_fullname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.server_fullname), ndr_get_array_length(ndr, r->out.server_fullname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.server_fullname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.server_fullname, ndr_get_array_length(ndr, r->out.server_fullname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.is_root); - } - _mem_save_is_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.is_root, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.is_root)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_is_root_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ttl); - } - _mem_save_ttl_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ttl, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.ttl)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ttl_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_GetDcAddress(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetDcAddress *r) -{ - ndr_print_struct(ndr, name, "dfs_GetDcAddress"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_GetDcAddress"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_ptr(ndr, "server_fullname", r->in.server_fullname); - ndr->depth++; - ndr_print_ptr(ndr, "server_fullname", *r->in.server_fullname); - ndr->depth++; - if (*r->in.server_fullname) { - ndr_print_string(ndr, "server_fullname", *r->in.server_fullname); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "is_root", r->in.is_root); - ndr->depth++; - ndr_print_uint8(ndr, "is_root", *r->in.is_root); - ndr->depth--; - ndr_print_ptr(ndr, "ttl", r->in.ttl); - ndr->depth++; - ndr_print_uint32(ndr, "ttl", *r->in.ttl); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_GetDcAddress"); - ndr->depth++; - ndr_print_ptr(ndr, "server_fullname", r->out.server_fullname); - ndr->depth++; - ndr_print_ptr(ndr, "server_fullname", *r->out.server_fullname); - ndr->depth++; - if (*r->out.server_fullname) { - ndr_print_string(ndr, "server_fullname", *r->out.server_fullname); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "is_root", r->out.is_root); - ndr->depth++; - ndr_print_uint8(ndr, "is_root", *r->out.is_root); - ndr->depth--; - ndr_print_ptr(ndr, "ttl", r->out.ttl); - ndr->depth++; - ndr_print_uint32(ndr, "ttl", *r->out.ttl); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_SetDcAddress(struct ndr_push *ndr, int flags, const struct dfs_SetDcAddress *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_fullname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_fullname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_fullname, ndr_charset_length(r->in.server_fullname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.ttl)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_SetDcAddress(struct ndr_pull *ndr, int flags, struct dfs_SetDcAddress *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_fullname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_fullname)); - if (ndr_get_array_length(ndr, &r->in.server_fullname) > ndr_get_array_size(ndr, &r->in.server_fullname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_fullname), ndr_get_array_length(ndr, &r->in.server_fullname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_fullname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_fullname, ndr_get_array_length(ndr, &r->in.server_fullname), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.ttl)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_SetDcAddress(struct ndr_print *ndr, const char *name, int flags, const struct dfs_SetDcAddress *r) -{ - ndr_print_struct(ndr, name, "dfs_SetDcAddress"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_SetDcAddress"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "server_fullname", r->in.server_fullname); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr_print_uint32(ndr, "ttl", r->in.ttl); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_SetDcAddress"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_FlushFtTable(struct ndr_push *ndr, int flags, const struct dfs_FlushFtTable *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.rootshare, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.rootshare, ndr_charset_length(r->in.rootshare, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_FlushFtTable(struct ndr_pull *ndr, int flags, struct dfs_FlushFtTable *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare)); - if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rootshare), ndr_get_array_length(ndr, &r->in.rootshare)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_FlushFtTable(struct ndr_print *ndr, const char *name, int flags, const struct dfs_FlushFtTable *r) -{ - ndr_print_struct(ndr, name, "dfs_FlushFtTable"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_FlushFtTable"); - ndr->depth++; - ndr_print_string(ndr, "servername", r->in.servername); - ndr_print_string(ndr, "rootshare", r->in.rootshare); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_FlushFtTable"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Add2(struct ndr_push *ndr, int flags, const struct dfs_Add2 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Add2(struct ndr_pull *ndr, int flags, struct dfs_Add2 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Add2(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Add2 *r) -{ - ndr_print_struct(ndr, name, "dfs_Add2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Add2"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Add2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_Remove2(struct ndr_push *ndr, int flags, const struct dfs_Remove2 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_Remove2(struct ndr_pull *ndr, int flags, struct dfs_Remove2 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_Remove2(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Remove2 *r) -{ - ndr_print_struct(ndr, name, "dfs_Remove2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_Remove2"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_Remove2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_dfs_EnumEx(struct ndr_push *ndr, int flags, const struct dfs_EnumEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dfs_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dfs_name, ndr_charset_length(r->in.dfs_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info)); - if (r->in.info) { - NDR_CHECK(ndr_push_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.total)); - if (r->in.total) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.total)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.total)); - if (r->out.total) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dfs_EnumEx(struct ndr_pull *ndr, int flags, struct dfs_EnumEx *r) -{ - uint32_t _ptr_info; - uint32_t _ptr_total; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_total_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_name)); - if (ndr_get_array_length(ndr, &r->in.dfs_name) > ndr_get_array_size(ndr, &r->in.dfs_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dfs_name), ndr_get_array_length(ndr, &r->in.dfs_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_name, ndr_get_array_length(ndr, &r->in.dfs_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->in.info); - } else { - r->in.info = NULL; - } - if (r->in.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0); - NDR_CHECK(ndr_pull_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_total)); - if (_ptr_total) { - NDR_PULL_ALLOC(ndr, r->in.total); - } else { - r->in.total = NULL; - } - if (r->in.total) { - _mem_save_total_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.total, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.total)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_dfs_EnumStruct(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_total)); - if (_ptr_total) { - NDR_PULL_ALLOC(ndr, r->out.total); - } else { - r->out.total = NULL; - } - if (r->out.total) { - _mem_save_total_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_EnumEx(struct ndr_print *ndr, const char *name, int flags, const struct dfs_EnumEx *r) -{ - ndr_print_struct(ndr, name, "dfs_EnumEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_EnumEx"); - ndr->depth++; - ndr_print_string(ndr, "dfs_name", r->in.dfs_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "bufsize", r->in.bufsize); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - if (r->in.info) { - ndr_print_dfs_EnumStruct(ndr, "info", r->in.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "total", r->in.total); - ndr->depth++; - if (r->in.total) { - ndr_print_uint32(ndr, "total", *r->in.total); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_EnumEx"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_dfs_EnumStruct(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "total", r->out.total); - ndr->depth++; - if (r->out.total) { - ndr_print_uint32(ndr, "total", *r->out.total); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dfs_SetInfo2(struct ndr_push *ndr, int flags, const struct dfs_SetInfo2 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dfs_SetInfo2(struct ndr_pull *ndr, int flags, struct dfs_SetInfo2 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dfs_SetInfo2(struct ndr_print *ndr, const char *name, int flags, const struct dfs_SetInfo2 *r) -{ - ndr_print_struct(ndr, name, "dfs_SetInfo2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dfs_SetInfo2"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dfs_SetInfo2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call netdfs_calls[] = { - { - "dfs_GetManagerVersion", - sizeof(struct dfs_GetManagerVersion), - (ndr_push_flags_fn_t) ndr_push_dfs_GetManagerVersion, - (ndr_pull_flags_fn_t) ndr_pull_dfs_GetManagerVersion, - (ndr_print_function_t) ndr_print_dfs_GetManagerVersion, - false, - }, - { - "dfs_Add", - sizeof(struct dfs_Add), - (ndr_push_flags_fn_t) ndr_push_dfs_Add, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Add, - (ndr_print_function_t) ndr_print_dfs_Add, - false, - }, - { - "dfs_Remove", - sizeof(struct dfs_Remove), - (ndr_push_flags_fn_t) ndr_push_dfs_Remove, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Remove, - (ndr_print_function_t) ndr_print_dfs_Remove, - false, - }, - { - "dfs_SetInfo", - sizeof(struct dfs_SetInfo), - (ndr_push_flags_fn_t) ndr_push_dfs_SetInfo, - (ndr_pull_flags_fn_t) ndr_pull_dfs_SetInfo, - (ndr_print_function_t) ndr_print_dfs_SetInfo, - false, - }, - { - "dfs_GetInfo", - sizeof(struct dfs_GetInfo), - (ndr_push_flags_fn_t) ndr_push_dfs_GetInfo, - (ndr_pull_flags_fn_t) ndr_pull_dfs_GetInfo, - (ndr_print_function_t) ndr_print_dfs_GetInfo, - false, - }, - { - "dfs_Enum", - sizeof(struct dfs_Enum), - (ndr_push_flags_fn_t) ndr_push_dfs_Enum, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Enum, - (ndr_print_function_t) ndr_print_dfs_Enum, - false, - }, - { - "dfs_Rename", - sizeof(struct dfs_Rename), - (ndr_push_flags_fn_t) ndr_push_dfs_Rename, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Rename, - (ndr_print_function_t) ndr_print_dfs_Rename, - false, - }, - { - "dfs_Move", - sizeof(struct dfs_Move), - (ndr_push_flags_fn_t) ndr_push_dfs_Move, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Move, - (ndr_print_function_t) ndr_print_dfs_Move, - false, - }, - { - "dfs_ManagerGetConfigInfo", - sizeof(struct dfs_ManagerGetConfigInfo), - (ndr_push_flags_fn_t) ndr_push_dfs_ManagerGetConfigInfo, - (ndr_pull_flags_fn_t) ndr_pull_dfs_ManagerGetConfigInfo, - (ndr_print_function_t) ndr_print_dfs_ManagerGetConfigInfo, - false, - }, - { - "dfs_ManagerSendSiteInfo", - sizeof(struct dfs_ManagerSendSiteInfo), - (ndr_push_flags_fn_t) ndr_push_dfs_ManagerSendSiteInfo, - (ndr_pull_flags_fn_t) ndr_pull_dfs_ManagerSendSiteInfo, - (ndr_print_function_t) ndr_print_dfs_ManagerSendSiteInfo, - false, - }, - { - "dfs_AddFtRoot", - sizeof(struct dfs_AddFtRoot), - (ndr_push_flags_fn_t) ndr_push_dfs_AddFtRoot, - (ndr_pull_flags_fn_t) ndr_pull_dfs_AddFtRoot, - (ndr_print_function_t) ndr_print_dfs_AddFtRoot, - false, - }, - { - "dfs_RemoveFtRoot", - sizeof(struct dfs_RemoveFtRoot), - (ndr_push_flags_fn_t) ndr_push_dfs_RemoveFtRoot, - (ndr_pull_flags_fn_t) ndr_pull_dfs_RemoveFtRoot, - (ndr_print_function_t) ndr_print_dfs_RemoveFtRoot, - false, - }, - { - "dfs_AddStdRoot", - sizeof(struct dfs_AddStdRoot), - (ndr_push_flags_fn_t) ndr_push_dfs_AddStdRoot, - (ndr_pull_flags_fn_t) ndr_pull_dfs_AddStdRoot, - (ndr_print_function_t) ndr_print_dfs_AddStdRoot, - false, - }, - { - "dfs_RemoveStdRoot", - sizeof(struct dfs_RemoveStdRoot), - (ndr_push_flags_fn_t) ndr_push_dfs_RemoveStdRoot, - (ndr_pull_flags_fn_t) ndr_pull_dfs_RemoveStdRoot, - (ndr_print_function_t) ndr_print_dfs_RemoveStdRoot, - false, - }, - { - "dfs_ManagerInitialize", - sizeof(struct dfs_ManagerInitialize), - (ndr_push_flags_fn_t) ndr_push_dfs_ManagerInitialize, - (ndr_pull_flags_fn_t) ndr_pull_dfs_ManagerInitialize, - (ndr_print_function_t) ndr_print_dfs_ManagerInitialize, - false, - }, - { - "dfs_AddStdRootForced", - sizeof(struct dfs_AddStdRootForced), - (ndr_push_flags_fn_t) ndr_push_dfs_AddStdRootForced, - (ndr_pull_flags_fn_t) ndr_pull_dfs_AddStdRootForced, - (ndr_print_function_t) ndr_print_dfs_AddStdRootForced, - false, - }, - { - "dfs_GetDcAddress", - sizeof(struct dfs_GetDcAddress), - (ndr_push_flags_fn_t) ndr_push_dfs_GetDcAddress, - (ndr_pull_flags_fn_t) ndr_pull_dfs_GetDcAddress, - (ndr_print_function_t) ndr_print_dfs_GetDcAddress, - false, - }, - { - "dfs_SetDcAddress", - sizeof(struct dfs_SetDcAddress), - (ndr_push_flags_fn_t) ndr_push_dfs_SetDcAddress, - (ndr_pull_flags_fn_t) ndr_pull_dfs_SetDcAddress, - (ndr_print_function_t) ndr_print_dfs_SetDcAddress, - false, - }, - { - "dfs_FlushFtTable", - sizeof(struct dfs_FlushFtTable), - (ndr_push_flags_fn_t) ndr_push_dfs_FlushFtTable, - (ndr_pull_flags_fn_t) ndr_pull_dfs_FlushFtTable, - (ndr_print_function_t) ndr_print_dfs_FlushFtTable, - false, - }, - { - "dfs_Add2", - sizeof(struct dfs_Add2), - (ndr_push_flags_fn_t) ndr_push_dfs_Add2, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Add2, - (ndr_print_function_t) ndr_print_dfs_Add2, - false, - }, - { - "dfs_Remove2", - sizeof(struct dfs_Remove2), - (ndr_push_flags_fn_t) ndr_push_dfs_Remove2, - (ndr_pull_flags_fn_t) ndr_pull_dfs_Remove2, - (ndr_print_function_t) ndr_print_dfs_Remove2, - false, - }, - { - "dfs_EnumEx", - sizeof(struct dfs_EnumEx), - (ndr_push_flags_fn_t) ndr_push_dfs_EnumEx, - (ndr_pull_flags_fn_t) ndr_pull_dfs_EnumEx, - (ndr_print_function_t) ndr_print_dfs_EnumEx, - false, - }, - { - "dfs_SetInfo2", - sizeof(struct dfs_SetInfo2), - (ndr_push_flags_fn_t) ndr_push_dfs_SetInfo2, - (ndr_pull_flags_fn_t) ndr_pull_dfs_SetInfo2, - (ndr_print_function_t) ndr_print_dfs_SetInfo2, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const netdfs_endpoint_strings[] = { - "ncacn_np:[\\pipe\\netdfs]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array netdfs_endpoints = { - .count = 3, - .names = netdfs_endpoint_strings -}; - -static const char * const netdfs_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array netdfs_authservices = { - .count = 1, - .names = netdfs_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_netdfs = { - .name = "netdfs", - .syntax_id = { - {0x4fc742e0,0x4a10,0x11cf,{0x82,0x73},{0x00,0xaa,0x00,0x4a,0xe6,0x73}}, - NDR_NETDFS_VERSION - }, - .helpstring = NDR_NETDFS_HELPSTRING, - .num_calls = 23, - .calls = netdfs_calls, - .endpoints = &netdfs_endpoints, - .authservices = &netdfs_authservices -}; - diff --git a/librpc/gen_ndr/ndr_dfs.h b/librpc/gen_ndr/ndr_dfs.h deleted file mode 100644 index fd0ebf58de2..00000000000 --- a/librpc/gen_ndr/ndr_dfs.h +++ /dev/null @@ -1,132 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/dfs.h" - -#ifndef _HEADER_NDR_netdfs -#define _HEADER_NDR_netdfs - -#define NDR_NETDFS_UUID "4fc742e0-4a10-11cf-8273-00aa004ae673" -#define NDR_NETDFS_VERSION 3.0 -#define NDR_NETDFS_NAME "netdfs" -#define NDR_NETDFS_HELPSTRING "Settings for Microsoft Distributed File System" -extern const struct ndr_interface_table ndr_table_netdfs; -#define NDR_DFS_GETMANAGERVERSION (0x00) - -#define NDR_DFS_ADD (0x01) - -#define NDR_DFS_REMOVE (0x02) - -#define NDR_DFS_SETINFO (0x03) - -#define NDR_DFS_GETINFO (0x04) - -#define NDR_DFS_ENUM (0x05) - -#define NDR_DFS_RENAME (0x06) - -#define NDR_DFS_MOVE (0x07) - -#define NDR_DFS_MANAGERGETCONFIGINFO (0x08) - -#define NDR_DFS_MANAGERSENDSITEINFO (0x09) - -#define NDR_DFS_ADDFTROOT (0x0a) - -#define NDR_DFS_REMOVEFTROOT (0x0b) - -#define NDR_DFS_ADDSTDROOT (0x0c) - -#define NDR_DFS_REMOVESTDROOT (0x0d) - -#define NDR_DFS_MANAGERINITIALIZE (0x0e) - -#define NDR_DFS_ADDSTDROOTFORCED (0x0f) - -#define NDR_DFS_GETDCADDRESS (0x10) - -#define NDR_DFS_SETDCADDRESS (0x11) - -#define NDR_DFS_FLUSHFTTABLE (0x12) - -#define NDR_DFS_ADD2 (0x13) - -#define NDR_DFS_REMOVE2 (0x14) - -#define NDR_DFS_ENUMEX (0x15) - -#define NDR_DFS_SETINFO2 (0x16) - -#define NDR_NETDFS_CALL_COUNT (23) -void ndr_print_dfs_ManagerVersion(struct ndr_print *ndr, const char *name, enum dfs_ManagerVersion r); -void ndr_print_dfs_Info0(struct ndr_print *ndr, const char *name, const struct dfs_Info0 *r); -void ndr_print_dfs_Info1(struct ndr_print *ndr, const char *name, const struct dfs_Info1 *r); -enum ndr_err_code ndr_push_dfs_VolumeState(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_dfs_VolumeState(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_dfs_VolumeState(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_dfs_Info2(struct ndr_print *ndr, const char *name, const struct dfs_Info2 *r); -enum ndr_err_code ndr_push_dfs_StorageState(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_dfs_StorageState(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_dfs_StorageState(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_dfs_StorageInfo(struct ndr_print *ndr, const char *name, const struct dfs_StorageInfo *r); -void ndr_print_dfs_Info3(struct ndr_print *ndr, const char *name, const struct dfs_Info3 *r); -void ndr_print_dfs_Info4(struct ndr_print *ndr, const char *name, const struct dfs_Info4 *r); -enum ndr_err_code ndr_push_dfs_PropertyFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_dfs_PropertyFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_dfs_PropertyFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_dfs_Info5(struct ndr_print *ndr, const char *name, const struct dfs_Info5 *r); -void ndr_print_dfs_Target_PriorityClass(struct ndr_print *ndr, const char *name, enum dfs_Target_PriorityClass r); -void ndr_print_dfs_Target_Priority(struct ndr_print *ndr, const char *name, const struct dfs_Target_Priority *r); -void ndr_print_dfs_StorageInfo2(struct ndr_print *ndr, const char *name, const struct dfs_StorageInfo2 *r); -void ndr_print_dfs_Info6(struct ndr_print *ndr, const char *name, const struct dfs_Info6 *r); -void ndr_print_dfs_Info7(struct ndr_print *ndr, const char *name, const struct dfs_Info7 *r); -void ndr_print_dfs_Info100(struct ndr_print *ndr, const char *name, const struct dfs_Info100 *r); -void ndr_print_dfs_Info101(struct ndr_print *ndr, const char *name, const struct dfs_Info101 *r); -void ndr_print_dfs_Info102(struct ndr_print *ndr, const char *name, const struct dfs_Info102 *r); -void ndr_print_dfs_Info103(struct ndr_print *ndr, const char *name, const struct dfs_Info103 *r); -void ndr_print_dfs_Info104(struct ndr_print *ndr, const char *name, const struct dfs_Info104 *r); -void ndr_print_dfs_Info105(struct ndr_print *ndr, const char *name, const struct dfs_Info105 *r); -void ndr_print_dfs_Info106(struct ndr_print *ndr, const char *name, const struct dfs_Info106 *r); -void ndr_print_dfs_Info200(struct ndr_print *ndr, const char *name, const struct dfs_Info200 *r); -void ndr_print_dfs_VolumeFlavor(struct ndr_print *ndr, const char *name, enum dfs_VolumeFlavor r); -void ndr_print_dfs_Info300(struct ndr_print *ndr, const char *name, const struct dfs_Info300 *r); -void ndr_print_dfs_Info(struct ndr_print *ndr, const char *name, const union dfs_Info *r); -void ndr_print_dfs_EnumArray1(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray1 *r); -void ndr_print_dfs_EnumArray2(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray2 *r); -void ndr_print_dfs_EnumArray3(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray3 *r); -void ndr_print_dfs_EnumArray4(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray4 *r); -void ndr_print_dfs_EnumArray5(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray5 *r); -void ndr_print_dfs_EnumArray6(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray6 *r); -void ndr_print_dfs_EnumArray200(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray200 *r); -void ndr_print_dfs_EnumArray300(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray300 *r); -void ndr_print_dfs_EnumInfo(struct ndr_print *ndr, const char *name, const union dfs_EnumInfo *r); -void ndr_print_dfs_EnumStruct(struct ndr_print *ndr, const char *name, const struct dfs_EnumStruct *r); -void ndr_print_dfs_UnknownStruct(struct ndr_print *ndr, const char *name, const struct dfs_UnknownStruct *r); -enum ndr_err_code ndr_push_dfs_GetManagerVersion(struct ndr_push *ndr, int flags, const struct dfs_GetManagerVersion *r); -enum ndr_err_code ndr_pull_dfs_GetManagerVersion(struct ndr_pull *ndr, int flags, struct dfs_GetManagerVersion *r); -void ndr_print_dfs_GetManagerVersion(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetManagerVersion *r); -void ndr_print_dfs_Add(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Add *r); -void ndr_print_dfs_Remove(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Remove *r); -void ndr_print_dfs_SetInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_SetInfo *r); -void ndr_print_dfs_GetInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetInfo *r); -void ndr_print_dfs_Enum(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Enum *r); -void ndr_print_dfs_Rename(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Rename *r); -void ndr_print_dfs_Move(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Move *r); -void ndr_print_dfs_ManagerGetConfigInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_ManagerGetConfigInfo *r); -void ndr_print_dfs_ManagerSendSiteInfo(struct ndr_print *ndr, const char *name, int flags, const struct dfs_ManagerSendSiteInfo *r); -void ndr_print_dfs_AddFtRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_AddFtRoot *r); -void ndr_print_dfs_RemoveFtRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_RemoveFtRoot *r); -void ndr_print_dfs_AddStdRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_AddStdRoot *r); -void ndr_print_dfs_RemoveStdRoot(struct ndr_print *ndr, const char *name, int flags, const struct dfs_RemoveStdRoot *r); -void ndr_print_dfs_ManagerInitialize(struct ndr_print *ndr, const char *name, int flags, const struct dfs_ManagerInitialize *r); -void ndr_print_dfs_AddStdRootForced(struct ndr_print *ndr, const char *name, int flags, const struct dfs_AddStdRootForced *r); -void ndr_print_dfs_GetDcAddress(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetDcAddress *r); -void ndr_print_dfs_SetDcAddress(struct ndr_print *ndr, const char *name, int flags, const struct dfs_SetDcAddress *r); -void ndr_print_dfs_FlushFtTable(struct ndr_print *ndr, const char *name, int flags, const struct dfs_FlushFtTable *r); -void ndr_print_dfs_Add2(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Add2 *r); -void ndr_print_dfs_Remove2(struct ndr_print *ndr, const char *name, int flags, const struct dfs_Remove2 *r); -enum ndr_err_code ndr_push_dfs_EnumEx(struct ndr_push *ndr, int flags, const struct dfs_EnumEx *r); -enum ndr_err_code ndr_pull_dfs_EnumEx(struct ndr_pull *ndr, int flags, struct dfs_EnumEx *r); -void ndr_print_dfs_EnumEx(struct ndr_print *ndr, const char *name, int flags, const struct dfs_EnumEx *r); -void ndr_print_dfs_SetInfo2(struct ndr_print *ndr, const char *name, int flags, const struct dfs_SetInfo2 *r); -#endif /* _HEADER_NDR_netdfs */ diff --git a/librpc/gen_ndr/ndr_drsblobs.c b/librpc/gen_ndr/ndr_drsblobs.c deleted file mode 100644 index fa8ef895dc7..00000000000 --- a/librpc/gen_ndr/ndr_drsblobs.c +++ /dev/null @@ -1,5384 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_drsblobs.h" - -#include "librpc/gen_ndr/ndr_drsuapi.h" -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_samr.h" -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_security.h" -static enum ndr_err_code ndr_push_replPropertyMetaData1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaData1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_replPropertyMetaData1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaData1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replPropertyMetaData1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaData1 *r) -{ - ndr_print_struct(ndr, name, "replPropertyMetaData1"); - ndr->depth++; - ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid); - ndr_print_uint32(ndr, "version", r->version); - ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time); - ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); - ndr_print_hyper(ndr, "originating_usn", r->originating_usn); - ndr_print_hyper(ndr, "local_usn", r->local_usn); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_replPropertyMetaDataCtr1(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataCtr1 *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr1(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataCtr1 *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, r->count); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_replPropertyMetaData1(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataCtr1 *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "replPropertyMetaDataCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_replPropertyMetaData1(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_replPropertyMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const union replPropertyMetaDataCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_replPropertyMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, union replPropertyMetaDataCtr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_replPropertyMetaDataCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replPropertyMetaDataCtr(struct ndr_print *ndr, const char *name, const union replPropertyMetaDataCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "replPropertyMetaDataCtr"); - switch (level) { - case 1: - ndr_print_replPropertyMetaDataCtr1(ndr, "ctr1", &r->ctr1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_push_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_replPropertyMetaDataBlob(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_pull_replPropertyMetaDataCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataBlob *r) -{ - ndr_print_struct(ndr, name, "replPropertyMetaDataBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_set_switch_value(ndr, &r->ctr, r->version); - ndr_print_replPropertyMetaDataCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_replUpToDateVectorCtr1(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr1 *r) -{ - uint32_t cntr_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_replUpToDateVectorCtr1(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr1 *r) -{ - uint32_t cntr_cursors_0; - TALLOC_CTX *_mem_save_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->cursors, r->count); - _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr1 *r) -{ - uint32_t cntr_cursors_0; - ndr_print_struct(ndr, name, "replUpToDateVectorCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count); - ndr->depth++; - for (cntr_cursors_0=0;cntr_cursors_0count;cntr_cursors_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_replUpToDateVectorCtr2(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorCtr2 *r) -{ - uint32_t cntr_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_replUpToDateVectorCtr2(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorCtr2 *r) -{ - uint32_t cntr_cursors_0; - TALLOC_CTX *_mem_save_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->cursors, r->count); - _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr2 *r) -{ - uint32_t cntr_cursors_0; - ndr_print_struct(ndr, name, "replUpToDateVectorCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count); - ndr->depth++; - for (cntr_cursors_0=0;cntr_cursors_0count;cntr_cursors_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_replUpToDateVectorCtr(struct ndr_push *ndr, int ndr_flags, const union replUpToDateVectorCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - case 2: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_replUpToDateVectorCtr(struct ndr_pull *ndr, int ndr_flags, union replUpToDateVectorCtr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_replUpToDateVectorCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_replUpToDateVectorCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - case 2: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replUpToDateVectorCtr(struct ndr_print *ndr, const char *name, const union replUpToDateVectorCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "replUpToDateVectorCtr"); - switch (level) { - case 1: - ndr_print_replUpToDateVectorCtr1(ndr, "ctr1", &r->ctr1); - break; - - case 2: - ndr_print_replUpToDateVectorCtr2(ndr, "ctr2", &r->ctr2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_push_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_replUpToDateVectorBlob(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_pull_replUpToDateVectorCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorBlob *r) -{ - ndr_print_struct(ndr, name, "replUpToDateVectorBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_set_switch_value(ndr, &r->ctr, r->version); - ndr_print_replUpToDateVectorCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1OtherInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->dns_name) + 1)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, strlen(r->dns_name) + 1, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1OtherInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__dns_name_size)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, r->__dns_name_size, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_repsFromTo1OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo1OtherInfo *r) -{ - ndr_print_struct(ndr, name, "repsFromTo1OtherInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "__dns_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->dns_name) + 1:r->__dns_name_size); - ndr_print_string(ndr, "dns_name", r->dns_name); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1OtherInfo, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->other_info) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info)); - NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1 *r) -{ - uint32_t _ptr_other_info; - TALLOC_CTX *_mem_save_other_info_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info)); - if (_ptr_other_info) { - NDR_PULL_ALLOC(ndr, r->other_info); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info)); - } else { - r->other_info = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->other_info) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info)); - _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0); - NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, const struct repsFromTo1 *r) -{ - ndr_print_struct(ndr, name, "repsFromTo1"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize); - ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures); - ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success); - ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt); - ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt); - ndr_print_ptr(ndr, "other_info", r->other_info); - ndr->depth++; - if (r->other_info) { - ndr_print_repsFromTo1OtherInfo(ndr, "other_info", r->other_info); - } - ndr->depth--; - ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length); - ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags); - ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); - ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_GUID(ndr, "transport_guid", &r->transport_guid); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ size_t ndr_size_repsFromTo1(const struct repsFromTo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_PRINT_ARRAY_HEX; - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2OtherInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name1)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dns_name2)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dns_name1) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dns_name2) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2)); - } - ndr->flags = _flags_save_string; - } - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2OtherInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - uint32_t _ptr_dns_name1; - TALLOC_CTX *_mem_save_dns_name1_0; - uint32_t _ptr_dns_name2; - TALLOC_CTX *_mem_save_dns_name2_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name1)); - if (_ptr_dns_name1) { - NDR_PULL_ALLOC(ndr, r->dns_name1); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name1, _ptr_dns_name1)); - } else { - r->dns_name1 = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name2)); - if (_ptr_dns_name2) { - NDR_PULL_ALLOC(ndr, r->dns_name2); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_name2, _ptr_dns_name2)); - } else { - r->dns_name2 = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dns_name1) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name1)); - _mem_save_dns_name1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name1_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dns_name2) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_name2)); - _mem_save_dns_name2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dns_name2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name2_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_repsFromTo2OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo2OtherInfo *r) -{ - ndr_print_struct(ndr, name, "repsFromTo2OtherInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size); - ndr_print_ptr(ndr, "dns_name1", r->dns_name1); - ndr->depth++; - if (r->dns_name1) { - ndr_print_string(ndr, "dns_name1", r->dns_name1); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_ptr(ndr, "dns_name2", r->dns_name2); - ndr->depth++; - if (r->dns_name2) { - ndr_print_string(ndr, "dns_name2", r->dns_name2); - } - ndr->depth--; - ndr_print_hyper(ndr, "unknown2", r->unknown2); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2OtherInfo, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_success)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->last_attempt)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->other_info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_guid)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->other_info) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info)); - NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2 *r) -{ - uint32_t _ptr_other_info; - TALLOC_CTX *_mem_save_other_info_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blobsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_success)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->last_attempt)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info)); - if (_ptr_other_info) { - NDR_PULL_ALLOC(ndr, r->other_info); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->other_info, _ptr_other_info)); - } else { - r->other_info = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->other_info_length)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_guid)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->other_info) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->other_info)); - _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0); - NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, const struct repsFromTo2 *r) -{ - ndr_print_struct(ndr, name, "repsFromTo2"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "blobsize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2(r, ndr->iconv_convenience, ndr->flags) + 8:r->blobsize); - ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures); - ndr_print_NTTIME_1sec(ndr, "last_success", r->last_success); - ndr_print_NTTIME_1sec(ndr, "last_attempt", r->last_attempt); - ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt); - ndr_print_ptr(ndr, "other_info", r->other_info); - ndr->depth++; - if (r->other_info) { - ndr_print_repsFromTo2OtherInfo(ndr, "other_info", r->other_info); - } - ndr->depth--; - ndr_print_uint32(ndr, "other_info_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_repsFromTo2OtherInfo(r->other_info, ndr->iconv_convenience, ndr->flags):r->other_info_length); - ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags); - ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); - ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_GUID(ndr, "transport_guid", &r->transport_guid); - ndr_print_hyper(ndr, "unknown1", r->unknown1); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ size_t ndr_size_repsFromTo2(const struct repsFromTo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_PRINT_ARRAY_HEX; - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_repsFromTo2, ic); -} - -static enum ndr_err_code ndr_push_repsFromTo(struct ndr_push *ndr, int ndr_flags, const union repsFromTo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case 2: - NDR_CHECK(ndr_push_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_repsFromTo(struct ndr_pull *ndr, int ndr_flags, union repsFromTo *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_repsFromTo1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case 2: - NDR_CHECK(ndr_pull_repsFromTo2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_repsFromTo(struct ndr_print *ndr, const char *name, const union repsFromTo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "repsFromTo"); - switch (level) { - case 1: - ndr_print_repsFromTo1(ndr, "ctr1", &r->ctr1); - break; - - case 2: - ndr_print_repsFromTo2(ndr, "ctr2", &r->ctr2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr_flags, const struct repsFromToBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_repsFromTo(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_repsFromToBlob(struct ndr_pull *ndr, int ndr_flags, struct repsFromToBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_repsFromTo(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name, const struct repsFromToBlob *r) -{ - ndr_print_struct(ndr, name, "repsFromToBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_set_switch_value(ndr, &r->ctr, r->version); - ndr_print_repsFromTo(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_partialAttributeSetCtr1(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetCtr1 *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_partialAttributeSetCtr1(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetCtr1 *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_PULL_ALLOC_N(ndr, r->array, r->count); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_partialAttributeSetCtr1(struct ndr_print *ndr, const char *name, const struct partialAttributeSetCtr1 *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "partialAttributeSetCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsAttributeId(ndr, "array", r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_partialAttributeSetCtr(struct ndr_push *ndr, int ndr_flags, const union partialAttributeSetCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_partialAttributeSetCtr(struct ndr_pull *ndr, int ndr_flags, union partialAttributeSetCtr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_partialAttributeSetCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_partialAttributeSetCtr(struct ndr_print *ndr, const char *name, const union partialAttributeSetCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "partialAttributeSetCtr"); - switch (level) { - case 1: - ndr_print_partialAttributeSetCtr1(ndr, "ctr1", &r->ctr1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_push_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_partialAttributeSetBlob(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_pull_partialAttributeSetCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const char *name, const struct partialAttributeSetBlob *r) -{ - ndr_print_struct(ndr, name, "partialAttributeSetBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_set_switch_value(ndr, &r->ctr, r->version); - ndr_print_partialAttributeSetCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_schemaInfoBlob(struct ndr_push *ndr, int ndr_flags, const struct schemaInfoBlob *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0xFF)); - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->revision)); - ndr->flags = _flags_save_uint32; - } - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->invocation_id)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_schemaInfoBlob(struct ndr_pull *ndr, int ndr_flags, struct schemaInfoBlob *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->marker)); - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->revision)); - ndr->flags = _flags_save_uint32; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->invocation_id)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_schemaInfoBlob(struct ndr_print *ndr, const char *name, const struct schemaInfoBlob *r) -{ - ndr_print_struct(ndr, name, "schemaInfoBlob"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint8(ndr, "marker", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0xFF:r->marker); - ndr_print_uint32(ndr, "revision", r->revision); - ndr_print_GUID(ndr, "invocation_id", &r->invocation_id); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Entry(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Entry *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->entryID)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Entry(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Entry *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->entryID)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_PULL_ALLOC_N(ndr, r->binary_oid, r->length); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Ctr *r) -{ - uint32_t cntr_entries_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_entries)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags))); - for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) { - NDR_CHECK(ndr_push_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Ctr *r) -{ - uint32_t cntr_entries_0; - TALLOC_CTX *_mem_save_entries_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_entries)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_PULL_ALLOC_N(ndr, r->entries, r->num_entries); - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_0 = 0; cntr_entries_0 < r->num_entries; cntr_entries_0++) { - NDR_CHECK(ndr_pull_drsuapi_MSPrefixMap_Entry(ndr, NDR_SCALARS, &r->entries[cntr_entries_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_MSPrefixMap_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_MSPrefixMap_Ctr *r) -{ - uint32_t cntr_entries_0; - ndr_print_struct(ndr, name, "drsuapi_MSPrefixMap_Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "num_entries", r->num_entries); - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size); - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->num_entries); - ndr->depth++; - for (cntr_entries_0=0;cntr_entries_0num_entries;cntr_entries_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { - ndr_print_drsuapi_MSPrefixMap_Entry(ndr, "entries", &r->entries[cntr_entries_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_drsuapi_MSPrefixMap_Ctr(const struct drsuapi_MSPrefixMap_Ctr *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_MSPrefixMap_Ctr, ic); -} - -static enum ndr_err_code ndr_push_prefixMapVersion(struct ndr_push *ndr, int ndr_flags, enum prefixMapVersion r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_prefixMapVersion(struct ndr_pull *ndr, int ndr_flags, enum prefixMapVersion *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r) -{ - const char *val = NULL; - - switch (r) { - case PREFIX_MAP_VERSION_DSDB: val = "PREFIX_MAP_VERSION_DSDB"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_prefixMapCtr(struct ndr_push *ndr, int ndr_flags, const union prefixMapCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case PREFIX_MAP_VERSION_DSDB: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case PREFIX_MAP_VERSION_DSDB: - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_prefixMapCtr(struct ndr_pull *ndr, int ndr_flags, union prefixMapCtr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case PREFIX_MAP_VERSION_DSDB: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->dsdb)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case PREFIX_MAP_VERSION_DSDB: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->dsdb)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "prefixMapCtr"); - switch (level) { - case PREFIX_MAP_VERSION_DSDB: - ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "dsdb", &r->dsdb); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_prefixMapVersion(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_prefixMapVersion(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_prefixMapCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r) -{ - ndr_print_struct(ndr, name, "prefixMapBlob"); - ndr->depth++; - ndr_print_prefixMapVersion(ndr, "version", r->version); - ndr_print_uint32(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved); - ndr_print_set_switch_value(ndr, &r->ctr, r->version); - ndr_print_prefixMapCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ldapControlDirSyncExtra(struct ndr_push *ndr, int ndr_flags, const union ldapControlDirSyncExtra *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 0: { - break; } - - default: { - NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ldapControlDirSyncExtra(struct ndr_pull *ndr, int ndr_flags, union ldapControlDirSyncExtra *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 0: { - break; } - - default: { - NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->uptodateness_vector)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ldapControlDirSyncExtra"); - switch (level) { - case 0: - break; - - default: - ndr_print_replUpToDateVectorBlob(ndr, "uptodateness_vector", &r->uptodateness_vector); - break; - - } -} - -static size_t ndr_size_ldapControlDirSyncExtra(const union ldapControlDirSyncExtra *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ldapControlDirSyncExtra, ic); -} - -static enum ndr_err_code ndr_push_ldapControlDirSyncBlob(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 3)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0))); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->extra, ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0))); - NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ldapControlDirSyncBlob(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extra_length)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->extra, r->extra_length)); - NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_SCALARS, &r->extra)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_ldapControlDirSyncExtra(ndr, NDR_BUFFERS, &r->extra)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r) -{ - ndr_print_struct(ndr, name, "ldapControlDirSyncBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "u1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->u1); - ndr_print_NTTIME(ndr, "time", r->time); - ndr_print_uint32(ndr, "u2", r->u2); - ndr_print_uint32(ndr, "u3", r->u3); - ndr_print_uint32(ndr, "extra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_ldapControlDirSyncExtra(&r->extra, r->extra.uptodateness_vector.version, ndr->iconv_convenience, 0):r->extra_length); - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); - ndr_print_GUID(ndr, "guid1", &r->guid1); - ndr_print_set_switch_value(ndr, &r->extra, r->extra_length); - ndr_print_ldapControlDirSyncExtra(ndr, "extra", &r->extra); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "MSDS", 4, sizeof(uint8_t), CH_DOS)); - { - struct ndr_push *_ndr_blob; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_blob, 0, -1)); - NDR_CHECK(ndr_push_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_blob, 0, -1)); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->msds, 4, sizeof(uint8_t), CH_DOS)); - { - struct ndr_pull *_ndr_blob; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_blob, 0, -1)); - NDR_CHECK(ndr_pull_ldapControlDirSyncBlob(_ndr_blob, NDR_SCALARS|NDR_BUFFERS, &r->blob)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_blob, 0, -1)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r) -{ - ndr_print_struct(ndr, name, "ldapControlDirSyncCookie"); - ndr->depth++; - ndr_print_string(ndr, "msds", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"MSDS":r->msds); - ndr_print_ldapControlDirSyncBlob(ndr, "blob", &r->blob); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_supplementalCredentialsPackage(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsPackage *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->name))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->data))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 2 * strlen_m(r->name), sizeof(uint8_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data, strlen(r->data), sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_supplementalCredentialsPackage(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsPackage *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_len)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, r->name_len, sizeof(uint8_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data, r->data_len, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r) -{ - ndr_print_struct(ndr, name, "supplementalCredentialsPackage"); - ndr->depth++; - ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->name):r->name_len); - ndr_print_uint16(ndr, "data_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->data):r->data_len); - ndr_print_uint16(ndr, "reserved", r->reserved); - ndr_print_string(ndr, "name", r->name); - ndr_print_string(ndr, "data", r->data); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_supplementalCredentialsSignature(struct ndr_push *ndr, int ndr_flags, enum supplementalCredentialsSignature r) -{ - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_supplementalCredentialsSignature(struct ndr_pull *ndr, int ndr_flags, enum supplementalCredentialsSignature *r) -{ - uint16_t v; - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r) -{ - const char *val = NULL; - - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - switch (r) { - case SUPPLEMENTAL_CREDENTIALS_SIGNATURE: val = "SUPPLEMENTAL_CREDENTIALS_SIGNATURE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); - ndr->flags = _flags_save_ENUM; - } -} - -static enum ndr_err_code ndr_push_supplementalCredentialsSubBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsSubBlob *r) -{ - uint32_t cntr_packages_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 3)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_PREFIX, 0x30, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_supplementalCredentialsSignature(ndr, NDR_SCALARS, SUPPLEMENTAL_CREDENTIALS_SIGNATURE)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_packages)); - for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) { - NDR_CHECK(ndr_push_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_supplementalCredentialsSubBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsSubBlob *r) -{ - uint32_t cntr_packages_0; - TALLOC_CTX *_mem_save_packages_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 3)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->prefix, 0x30, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_supplementalCredentialsSignature(ndr, NDR_SCALARS, &r->signature)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_packages)); - NDR_PULL_ALLOC_N(ndr, r->packages, r->num_packages); - _mem_save_packages_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->packages, 0); - for (cntr_packages_0 = 0; cntr_packages_0 < r->num_packages; cntr_packages_0++) { - NDR_CHECK(ndr_pull_supplementalCredentialsPackage(ndr, NDR_SCALARS, &r->packages[cntr_packages_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_packages_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r) -{ - uint32_t cntr_packages_0; - ndr_print_struct(ndr, name, "supplementalCredentialsSubBlob"); - ndr->depth++; - ndr_print_string(ndr, "prefix", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_PREFIX:r->prefix); - ndr_print_supplementalCredentialsSignature(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SUPPLEMENTAL_CREDENTIALS_SIGNATURE:r->signature); - ndr_print_uint16(ndr, "num_packages", r->num_packages); - ndr->print(ndr, "%s: ARRAY(%d)", "packages", (int)r->num_packages); - ndr->depth++; - for (cntr_packages_0=0;cntr_packages_0num_packages;cntr_packages_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_packages_0) != -1) { - ndr_print_supplementalCredentialsPackage(ndr, "packages", &r->packages[cntr_packages_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static size_t ndr_size_supplementalCredentialsSubBlob(const struct supplementalCredentialsSubBlob *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_supplementalCredentialsSubBlob, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - { - struct ndr_push *_ndr_sub; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sub, 0, ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags))); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - { - struct ndr_pull *_ndr_sub; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sub, 0, r->__ndr_size)); - NDR_CHECK(ndr_pull_supplementalCredentialsSubBlob(_ndr_sub, NDR_SCALARS, &r->sub)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sub, 0, r->__ndr_size)); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r) -{ - ndr_print_struct(ndr, name, "supplementalCredentialsBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown1); - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_supplementalCredentialsSubBlob(&r->sub, ndr->iconv_convenience, ndr->flags):r->__ndr_size); - ndr_print_uint32(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown2); - ndr_print_supplementalCredentialsSubBlob(ndr, "sub", &r->sub); - ndr_print_uint8(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->names)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->names)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r) -{ - ndr_print_struct(ndr, name, "package_PackagesBlob"); - ndr->depth++; - ndr_print_string_array(ndr, "names", r->names); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->string)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); - if (r->string) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string)); - { - struct ndr_push *_ndr_string; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string))); - NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryKerberosString(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosString *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->string, _ptr_string)); - } else { - r->string = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING); - if (r->string) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->string)); - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - { - struct ndr_pull *_ndr_string; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_string, 0, r->size)); - NDR_CHECK(ndr_pull_string(_ndr_string, NDR_SCALARS, &r->string)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_string, 0, r->size)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r) -{ - ndr_print_struct(ndr, name, "package_PrimaryKerberosString"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0))); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (r->value) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value)); - { - struct ndr_push *_ndr_value; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0))); - NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value)); - } - ndr->flags = _flags_save_DATA_BLOB; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey3 *r) -{ - uint32_t _ptr_value; - TALLOC_CTX *_mem_save_value_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value)); - if (_ptr_value) { - NDR_PULL_ALLOC(ndr, r->value); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value)); - } else { - r->value = NULL; - } - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (r->value) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value)); - _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->value, 0); - { - struct ndr_pull *_ndr_value; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len)); - NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_DATA_BLOB; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r) -{ - ndr_print_struct(ndr, name, "package_PrimaryKerberosKey3"); - ndr->depth++; - ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); - ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2); - ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3); - ndr_print_uint32(ndr, "keytype", r->keytype); - ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len); - ndr_print_ptr(ndr, "value", r->value); - ndr->depth++; - if (r->value) { - ndr_print_DATA_BLOB(ndr, "value", *r->value); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr3(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr3 *r) -{ - uint32_t cntr_keys_0; - uint32_t cntr_old_keys_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys)); - NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); - } - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); - } - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr3(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr3 *r) -{ - uint32_t cntr_keys_0; - TALLOC_CTX *_mem_save_keys_0; - uint32_t cntr_old_keys_0; - TALLOC_CTX *_mem_save_old_keys_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys)); - NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); - NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys); - _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); - NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys); - _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding5)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); - _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); - _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey3(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r) -{ - uint32_t cntr_keys_0; - uint32_t cntr_old_keys_0; - ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr3"); - ndr->depth++; - ndr_print_uint16(ndr, "num_keys", r->num_keys); - ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys); - ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt); - ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys); - ndr->depth++; - for (cntr_keys_0=0;cntr_keys_0num_keys;cntr_keys_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) { - ndr_print_package_PrimaryKerberosKey3(ndr, "keys", &r->keys[cntr_keys_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys); - ndr->depth++; - for (cntr_old_keys_0=0;cntr_old_keys_0num_old_keys;cntr_old_keys_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) { - ndr_print_package_PrimaryKerberosKey3(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "padding1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding1); - ndr_print_uint32(ndr, "padding2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding2); - ndr_print_uint32(ndr, "padding3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding3); - ndr_print_uint32(ndr, "padding4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding4); - ndr_print_uint32(ndr, "padding5", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->padding5); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosKey4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iteration_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keytype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (r->value?r->value->length:0))); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (r->value) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value)); - { - struct ndr_push *_ndr_value; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0))); - NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value)); - } - ndr->flags = _flags_save_DATA_BLOB; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosKey4 *r) -{ - uint32_t _ptr_value; - TALLOC_CTX *_mem_save_value_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iteration_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keytype)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_len)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value)); - if (_ptr_value) { - NDR_PULL_ALLOC(ndr, r->value); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value, _ptr_value)); - } else { - r->value = NULL; - } - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (r->value) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value)); - _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->value, 0); - { - struct ndr_pull *_ndr_value; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_value, 0, r->value_len)); - NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_value, NDR_SCALARS, r->value)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_value, 0, r->value_len)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_DATA_BLOB; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r) -{ - ndr_print_struct(ndr, name, "package_PrimaryKerberosKey4"); - ndr->depth++; - ndr_print_uint16(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); - ndr_print_uint16(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2); - ndr_print_uint32(ndr, "reserved3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved3); - ndr_print_uint32(ndr, "iteration_count", r->iteration_count); - ndr_print_uint32(ndr, "keytype", r->keytype); - ndr_print_uint32(ndr, "value_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(r->value?r->value->length:0):r->value_len); - ndr_print_ptr(ndr, "value", r->value); - ndr->depth++; - if (r->value) { - ndr_print_DATA_BLOB(ndr, "value", *r->value); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr4(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosCtr4 *r) -{ - uint32_t cntr_keys_0; - uint32_t cntr_old_keys_0; - uint32_t cntr_older_keys_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_keys)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_old_keys)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_older_keys)); - NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->default_iteration_count)); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); - } - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); - } - for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); - } - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); - } - for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { - NDR_CHECK(ndr_push_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr4(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosCtr4 *r) -{ - uint32_t cntr_keys_0; - TALLOC_CTX *_mem_save_keys_0; - uint32_t cntr_service_keys_0; - TALLOC_CTX *_mem_save_service_keys_0; - uint32_t cntr_old_keys_0; - TALLOC_CTX *_mem_save_old_keys_0; - uint32_t cntr_older_keys_0; - TALLOC_CTX *_mem_save_older_keys_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_keys)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_service_keys)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_old_keys)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_older_keys)); - NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_SCALARS, &r->salt)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->default_iteration_count)); - NDR_PULL_ALLOC_N(ndr, r->keys, r->num_keys); - _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->keys[cntr_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); - NDR_PULL_ALLOC_N(ndr, r->service_keys, r->num_service_keys); - _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0); - for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->service_keys[cntr_service_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0); - NDR_PULL_ALLOC_N(ndr, r->old_keys, r->num_old_keys); - _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->old_keys[cntr_old_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); - NDR_PULL_ALLOC_N(ndr, r->older_keys, r->num_older_keys); - _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0); - for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_SCALARS, &r->older_keys[cntr_older_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosString(ndr, NDR_BUFFERS, &r->salt)); - _mem_save_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->keys, 0); - for (cntr_keys_0 = 0; cntr_keys_0 < r->num_keys; cntr_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->keys[cntr_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keys_0, 0); - _mem_save_service_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->service_keys, 0); - for (cntr_service_keys_0 = 0; cntr_service_keys_0 < r->num_service_keys; cntr_service_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->service_keys[cntr_service_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_keys_0, 0); - _mem_save_old_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->old_keys, 0); - for (cntr_old_keys_0 = 0; cntr_old_keys_0 < r->num_old_keys; cntr_old_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->old_keys[cntr_old_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_keys_0, 0); - _mem_save_older_keys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->older_keys, 0); - for (cntr_older_keys_0 = 0; cntr_older_keys_0 < r->num_older_keys; cntr_older_keys_0++) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosKey4(ndr, NDR_BUFFERS, &r->older_keys[cntr_older_keys_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_older_keys_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r) -{ - uint32_t cntr_keys_0; - uint32_t cntr_service_keys_0; - uint32_t cntr_old_keys_0; - uint32_t cntr_older_keys_0; - ndr_print_struct(ndr, name, "package_PrimaryKerberosCtr4"); - ndr->depth++; - ndr_print_uint16(ndr, "num_keys", r->num_keys); - ndr_print_uint16(ndr, "num_service_keys", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->num_service_keys); - ndr_print_uint16(ndr, "num_old_keys", r->num_old_keys); - ndr_print_uint16(ndr, "num_older_keys", r->num_older_keys); - ndr_print_package_PrimaryKerberosString(ndr, "salt", &r->salt); - ndr_print_uint32(ndr, "default_iteration_count", r->default_iteration_count); - ndr->print(ndr, "%s: ARRAY(%d)", "keys", (int)r->num_keys); - ndr->depth++; - for (cntr_keys_0=0;cntr_keys_0num_keys;cntr_keys_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_keys_0) != -1) { - ndr_print_package_PrimaryKerberosKey4(ndr, "keys", &r->keys[cntr_keys_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "service_keys", (int)r->num_service_keys); - ndr->depth++; - for (cntr_service_keys_0=0;cntr_service_keys_0num_service_keys;cntr_service_keys_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_service_keys_0) != -1) { - ndr_print_package_PrimaryKerberosKey4(ndr, "service_keys", &r->service_keys[cntr_service_keys_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "old_keys", (int)r->num_old_keys); - ndr->depth++; - for (cntr_old_keys_0=0;cntr_old_keys_0num_old_keys;cntr_old_keys_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_old_keys_0) != -1) { - ndr_print_package_PrimaryKerberosKey4(ndr, "old_keys", &r->old_keys[cntr_old_keys_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "older_keys", (int)r->num_older_keys); - ndr->depth++; - for (cntr_older_keys_0=0;cntr_older_keys_0num_older_keys;cntr_older_keys_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_older_keys_0) != -1) { - ndr_print_package_PrimaryKerberosKey4(ndr, "older_keys", &r->older_keys[cntr_older_keys_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryKerberosCtr(struct ndr_push *ndr, int ndr_flags, const union package_PrimaryKerberosCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 3: { - NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 3: - NDR_CHECK(ndr_push_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - case 4: - NDR_CHECK(ndr_push_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryKerberosCtr(struct ndr_pull *ndr, int ndr_flags, union package_PrimaryKerberosCtr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 3: { - NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_SCALARS, &r->ctr4)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 3: - NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr3(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - case 4: - NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr4(ndr, NDR_BUFFERS, &r->ctr4)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "package_PrimaryKerberosCtr"); - switch (level) { - case 3: - ndr_print_package_PrimaryKerberosCtr3(ndr, "ctr3", &r->ctr3); - break; - - case 4: - ndr_print_package_PrimaryKerberosCtr4(ndr, "ctr4", &r->ctr4); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->version)); - NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r) -{ - ndr_print_struct(ndr, name, "package_PrimaryKerberosBlob"); - ndr->depth++; - ndr_print_uint16(ndr, "version", r->version); - ndr_print_uint16(ndr, "flags", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags); - ndr_print_set_switch_value(ndr, &r->ctr, r->version); - ndr_print_package_PrimaryKerberosCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->cleartext)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->cleartext)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r) -{ - ndr_print_struct(ndr, name, "package_PrimaryCLEARTEXTBlob"); - ndr->depth++; - ndr_print_DATA_BLOB(ndr, "cleartext", r->cleartext); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_package_PrimaryWDigestHash(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestHash *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_package_PrimaryWDigestHash(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestHash *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r) -{ - ndr_print_struct(ndr, name, "package_PrimaryWDigestHash"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "hash", r->hash, 16); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r) -{ - uint32_t cntr_hashes_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x31)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0x01)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_hashes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, 0)); - for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) { - NDR_CHECK(ndr_push_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r) -{ - uint32_t cntr_hashes_0; - TALLOC_CTX *_mem_save_hashes_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_hashes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->uuknown4)); - NDR_PULL_ALLOC_N(ndr, r->hashes, r->num_hashes); - _mem_save_hashes_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->hashes, 0); - for (cntr_hashes_0 = 0; cntr_hashes_0 < r->num_hashes; cntr_hashes_0++) { - NDR_CHECK(ndr_pull_package_PrimaryWDigestHash(ndr, NDR_SCALARS, &r->hashes[cntr_hashes_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hashes_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r) -{ - uint32_t cntr_hashes_0; - ndr_print_struct(ndr, name, "package_PrimaryWDigestBlob"); - ndr->depth++; - ndr_print_uint16(ndr, "unknown1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x31:r->unknown1); - ndr_print_uint8(ndr, "unknown2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x01:r->unknown2); - ndr_print_uint8(ndr, "num_hashes", r->num_hashes); - ndr_print_uint32(ndr, "unknown3", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unknown3); - ndr_print_udlong(ndr, "uuknown4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->uuknown4); - ndr->print(ndr, "%s: ARRAY(%d)", "hashes", (int)r->num_hashes); - ndr->depth++; - for (cntr_hashes_0=0;cntr_hashes_0num_hashes;cntr_hashes_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_hashes_0) != -1) { - ndr_print_package_PrimaryWDigestHash(ndr, "hashes", &r->hashes[cntr_hashes_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_AuthInfoNone(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNone *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_AuthInfoNone(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNone *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r) -{ - ndr_print_struct(ndr, name, "AuthInfoNone"); - ndr->depth++; - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_AuthInfoNT4Owf(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoNT4Owf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 16)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_AuthInfoNT4Owf(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoNT4Owf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r) -{ - ndr_print_struct(ndr, name, "AuthInfoNT4Owf"); - ndr->depth++; - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?16:r->size); - ndr_print_samr_Password(ndr, "password", &r->password); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_AuthInfoClear(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoClear *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, r->size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_AuthInfoClear(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoClear *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_PULL_ALLOC_N(ndr, r->password, r->size); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, r->size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r) -{ - ndr_print_struct(ndr, name, "AuthInfoClear"); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_array_uint8(ndr, "password", r->password, r->size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_AuthInfoVersion(struct ndr_push *ndr, int ndr_flags, const struct AuthInfoVersion *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_AuthInfoVersion(struct ndr_pull *ndr, int ndr_flags, struct AuthInfoVersion *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r) -{ - ndr_print_struct(ndr, name, "AuthInfoVersion"); - ndr->depth++; - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->size); - ndr_print_uint32(ndr, "version", r->version); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_AuthInfo(struct ndr_push *ndr, int ndr_flags, const union AuthInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case TRUST_AUTH_TYPE_NONE: { - NDR_CHECK(ndr_push_AuthInfoNone(ndr, NDR_SCALARS, &r->none)); - break; } - - case TRUST_AUTH_TYPE_NT4OWF: { - NDR_CHECK(ndr_push_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf)); - break; } - - case TRUST_AUTH_TYPE_CLEAR: { - NDR_CHECK(ndr_push_AuthInfoClear(ndr, NDR_SCALARS, &r->clear)); - break; } - - case TRUST_AUTH_TYPE_VERSION: { - NDR_CHECK(ndr_push_AuthInfoVersion(ndr, NDR_SCALARS, &r->version)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case TRUST_AUTH_TYPE_NONE: - break; - - case TRUST_AUTH_TYPE_NT4OWF: - break; - - case TRUST_AUTH_TYPE_CLEAR: - break; - - case TRUST_AUTH_TYPE_VERSION: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_AuthInfo(struct ndr_pull *ndr, int ndr_flags, union AuthInfo *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case TRUST_AUTH_TYPE_NONE: { - NDR_CHECK(ndr_pull_AuthInfoNone(ndr, NDR_SCALARS, &r->none)); - break; } - - case TRUST_AUTH_TYPE_NT4OWF: { - NDR_CHECK(ndr_pull_AuthInfoNT4Owf(ndr, NDR_SCALARS, &r->nt4owf)); - break; } - - case TRUST_AUTH_TYPE_CLEAR: { - NDR_CHECK(ndr_pull_AuthInfoClear(ndr, NDR_SCALARS, &r->clear)); - break; } - - case TRUST_AUTH_TYPE_VERSION: { - NDR_CHECK(ndr_pull_AuthInfoVersion(ndr, NDR_SCALARS, &r->version)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case TRUST_AUTH_TYPE_NONE: - break; - - case TRUST_AUTH_TYPE_NT4OWF: - break; - - case TRUST_AUTH_TYPE_CLEAR: - break; - - case TRUST_AUTH_TYPE_VERSION: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "AuthInfo"); - switch (level) { - case TRUST_AUTH_TYPE_NONE: - ndr_print_AuthInfoNone(ndr, "none", &r->none); - break; - - case TRUST_AUTH_TYPE_NT4OWF: - ndr_print_AuthInfoNT4Owf(ndr, "nt4owf", &r->nt4owf); - break; - - case TRUST_AUTH_TYPE_CLEAR: - ndr_print_AuthInfoClear(ndr, "clear", &r->clear); - break; - - case TRUST_AUTH_TYPE_VERSION: - ndr_print_AuthInfoVersion(ndr, "version", &r->version); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->LastUpdateTime)); - NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->AuthInfo, r->AuthType)); - NDR_CHECK(ndr_push_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->LastUpdateTime)); - NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->AuthInfo, r->AuthType)); - NDR_CHECK(ndr_pull_AuthInfo(ndr, NDR_SCALARS, &r->AuthInfo)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r) -{ - ndr_print_struct(ndr, name, "AuthenticationInformation"); - ndr->depth++; - ndr_print_NTTIME(ndr, "LastUpdateTime", r->LastUpdateTime); - ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType); - ndr_print_set_switch_value(ndr, &r->AuthInfo, r->AuthType); - ndr_print_AuthInfo(ndr, "AuthInfo", &r->AuthInfo); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustAuthInOutBlob, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r) -{ - uint32_t cntr_current_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->current[cntr_current_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { - if (r->current[cntr_current_0]) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0])); - NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0])); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r) -{ - uint32_t _ptr_current; - uint32_t cntr_current_0; - TALLOC_CTX *_mem_save_current_0; - TALLOC_CTX *_mem_save_current_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_PULL_ALLOC_N(ndr, r->current, r->count); - _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->current, 0); - for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_current)); - if (_ptr_current) { - NDR_PULL_ALLOC(ndr, r->current[cntr_current_0]); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->current[cntr_current_0], _ptr_current)); - } else { - r->current[cntr_current_0] = NULL; - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_current_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->current, 0); - for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) { - if (r->current[cntr_current_0]) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->current[cntr_current_0])); - _mem_save_current_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->current[cntr_current_0], 0); - NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r) -{ - uint32_t cntr_current_0; - ndr_print_struct(ndr, name, "trustCurrentPasswords"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "current", (int)r->count); - ndr->depth++; - for (cntr_current_0=0;cntr_current_0count;cntr_current_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_current_0) != -1) { - ndr_print_ptr(ndr, "current", r->current[cntr_current_0]); - ndr->depth++; - if (r->current[cntr_current_0]) { - ndr_print_AuthenticationInformation(ndr, "current", r->current[cntr_current_0]); - } - ndr->depth--; - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_trustCurrentPasswords, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->confounder, 512)); - { - struct ndr_push *_ndr_outgoing; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_outgoing, NDR_SCALARS|NDR_BUFFERS, &r->outgoing)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_outgoing, 0, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags))); - } - { - struct ndr_push *_ndr_incoming; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_trustCurrentPasswords(_ndr_incoming, NDR_SCALARS|NDR_BUFFERS, &r->incoming)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_incoming, 0, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags))); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r) -{ - ndr_print_struct(ndr, name, "trustDomainPasswords"); - ndr->depth++; - ndr_print_array_uint8(ndr, "confounder", r->confounder, 512); - ndr_print_trustCurrentPasswords(ndr, "outgoing", &r->outgoing); - ndr_print_trustCurrentPasswords(ndr, "incoming", &r->incoming); - ndr_print_uint32(ndr, "outgoing_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_trustCurrentPasswords(&r->outgoing, ndr->iconv_convenience, ndr->flags):r->outgoing_size); - ndr_print_uint32(ndr, "incoming_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_trustCurrentPasswords(&r->incoming, ndr->iconv_convenience, ndr->flags):r->incoming_size); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->marker)); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->marker)); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r) -{ - ndr_print_struct(ndr, name, "DsCompressedChunk"); - ndr->depth++; - ndr_print_uint32(ndr, "marker", r->marker); - ndr_print_DATA_BLOB(ndr, "data", r->data); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ExtendedErrorAString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorAString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint8_t), CH_DOS)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorAString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorAString *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r) -{ - ndr_print_struct(ndr, name, "ExtendedErrorAString"); - ndr->depth++; - ndr_print_uint16(ndr, "__size", r->__size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ExtendedErrorUString(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorUString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->__size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->__size)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->__size, sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorUString(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorUString *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->__size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r) -{ - ndr_print_struct(ndr, name, "ExtendedErrorUString"); - ndr->depth++; - ndr_print_uint16(ndr, "__size", r->__size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ExtendedErrorBlob(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorBlob(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorBlob *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r) -{ - ndr_print_struct(ndr, name, "ExtendedErrorBlob"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ExtendedErrorComputerNamePresent(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorComputerNamePresent(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorComputerNamePresent *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r) -{ - const char *val = NULL; - - switch (r) { - case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_PRESENT"; break; - case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: val = "EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_ExtendedErrorComputerNameU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorComputerNameU *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: { - NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name)); - break; } - - case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: { - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: - NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name)); - break; - - case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorComputerNameU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorComputerNameU *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: { - NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->name)); - break; } - - case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: { - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: - NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->name)); - break; - - case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ExtendedErrorComputerNameU"); - switch (level) { - case EXTENDED_ERROR_COMPUTER_NAME_PRESENT: - ndr_print_ExtendedErrorUString(ndr, "name", &r->name); - break; - - case EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT: - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_ExtendedErrorComputerName(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorComputerName *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, r->present)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->n, r->present)); - NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorComputerName(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorComputerName *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ExtendedErrorComputerNamePresent(ndr, NDR_SCALARS, &r->present)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->n, r->present)); - NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_SCALARS, &r->n)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_ExtendedErrorComputerNameU(ndr, NDR_BUFFERS, &r->n)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r) -{ - ndr_print_struct(ndr, name, "ExtendedErrorComputerName"); - ndr->depth++; - ndr_print_ExtendedErrorComputerNamePresent(ndr, "present", r->present); - ndr_print_set_switch_value(ndr, &r->n, r->present); - ndr_print_ExtendedErrorComputerNameU(ndr, "n", &r->n); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ExtendedErrorParamType(struct ndr_push *ndr, int ndr_flags, enum ExtendedErrorParamType r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorParamType(struct ndr_pull *ndr, int ndr_flags, enum ExtendedErrorParamType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r) -{ - const char *val = NULL; - - switch (r) { - case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING"; break; - case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: val = "EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING"; break; - case EXTENDED_ERROR_PARAM_TYPE_UINT32: val = "EXTENDED_ERROR_PARAM_TYPE_UINT32"; break; - case EXTENDED_ERROR_PARAM_TYPE_UINT16: val = "EXTENDED_ERROR_PARAM_TYPE_UINT16"; break; - case EXTENDED_ERROR_PARAM_TYPE_UINT64: val = "EXTENDED_ERROR_PARAM_TYPE_UINT64"; break; - case EXTENDED_ERROR_PARAM_TYPE_NONE: val = "EXTENDED_ERROR_PARAM_TYPE_NONE"; break; - case EXTENDED_ERROR_PARAM_TYPE_BLOB: val = "EXTENDED_ERROR_PARAM_TYPE_BLOB"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_ExtendedErrorParamU(struct ndr_push *ndr, int ndr_flags, const union ExtendedErrorParamU *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: { - NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: { - NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UINT32: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->uint32)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UINT16: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->uint16)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UINT64: { - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uint64)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_NONE: { - break; } - - case EXTENDED_ERROR_PARAM_TYPE_BLOB: { - NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: - NDR_CHECK(ndr_push_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string)); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: - NDR_CHECK(ndr_push_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string)); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT32: - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT16: - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT64: - break; - - case EXTENDED_ERROR_PARAM_TYPE_NONE: - break; - - case EXTENDED_ERROR_PARAM_TYPE_BLOB: - NDR_CHECK(ndr_push_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorParamU(struct ndr_pull *ndr, int ndr_flags, union ExtendedErrorParamU *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: { - NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_SCALARS, &r->a_string)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: { - NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_SCALARS, &r->u_string)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UINT32: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->uint32)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UINT16: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->uint16)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_UINT64: { - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uint64)); - break; } - - case EXTENDED_ERROR_PARAM_TYPE_NONE: { - break; } - - case EXTENDED_ERROR_PARAM_TYPE_BLOB: { - NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_SCALARS, &r->blob)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: - NDR_CHECK(ndr_pull_ExtendedErrorAString(ndr, NDR_BUFFERS, &r->a_string)); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: - NDR_CHECK(ndr_pull_ExtendedErrorUString(ndr, NDR_BUFFERS, &r->u_string)); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT32: - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT16: - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT64: - break; - - case EXTENDED_ERROR_PARAM_TYPE_NONE: - break; - - case EXTENDED_ERROR_PARAM_TYPE_BLOB: - NDR_CHECK(ndr_pull_ExtendedErrorBlob(ndr, NDR_BUFFERS, &r->blob)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ExtendedErrorParamU"); - switch (level) { - case EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING: - ndr_print_ExtendedErrorAString(ndr, "a_string", &r->a_string); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING: - ndr_print_ExtendedErrorUString(ndr, "u_string", &r->u_string); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT32: - ndr_print_uint32(ndr, "uint32", r->uint32); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT16: - ndr_print_uint16(ndr, "uint16", r->uint16); - break; - - case EXTENDED_ERROR_PARAM_TYPE_UINT64: - ndr_print_hyper(ndr, "uint64", r->uint64); - break; - - case EXTENDED_ERROR_PARAM_TYPE_NONE: - break; - - case EXTENDED_ERROR_PARAM_TYPE_BLOB: - ndr_print_ExtendedErrorBlob(ndr, "blob", &r->blob); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_ExtendedErrorParam(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorParam *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_ExtendedErrorParamType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->p, r->type)); - NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorParam(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorParam *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_ExtendedErrorParamType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->p, r->type)); - NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_SCALARS, &r->p)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_ExtendedErrorParamU(ndr, NDR_BUFFERS, &r->p)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r) -{ - ndr_print_struct(ndr, name, "ExtendedErrorParam"); - ndr->depth++; - ndr_print_ExtendedErrorParamType(ndr, "type", r->type); - ndr_print_set_switch_value(ndr, &r->p, r->type); - ndr_print_ExtendedErrorParamU(ndr, "p", &r->p); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r) -{ - uint32_t cntr_params_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_params)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->next)); - NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->pid)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->generating_component)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->detection_location)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_params)); - for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { - NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next) { - NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - } - NDR_CHECK(ndr_push_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name)); - for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { - NDR_CHECK(ndr_push_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r) -{ - uint32_t _ptr_next; - TALLOC_CTX *_mem_save_next_0; - uint32_t cntr_params_0; - TALLOC_CTX *_mem_save_params_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->params)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next)); - if (_ptr_next) { - NDR_PULL_ALLOC(ndr, r->next); - } else { - r->next = NULL; - } - NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_SCALARS, &r->computer_name)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->pid)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->generating_component)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->detection_location)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_params)); - NDR_PULL_ALLOC_N(ndr, r->params, ndr_get_array_size(ndr, &r->params)); - _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->params, 0); - for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { - NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_SCALARS, &r->params[cntr_params_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0); - if (r->params) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->params, r->num_params)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next) { - _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->next, 0); - NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0); - } - NDR_CHECK(ndr_pull_ExtendedErrorComputerName(ndr, NDR_BUFFERS, &r->computer_name)); - _mem_save_params_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->params, 0); - for (cntr_params_0 = 0; cntr_params_0 < r->num_params; cntr_params_0++) { - NDR_CHECK(ndr_pull_ExtendedErrorParam(ndr, NDR_BUFFERS, &r->params[cntr_params_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_params_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r) -{ - uint32_t cntr_params_0; - ndr_print_struct(ndr, name, "ExtendedErrorInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "next", r->next); - ndr->depth++; - if (r->next) { - ndr_print_ExtendedErrorInfo(ndr, "next", r->next); - } - ndr->depth--; - ndr_print_ExtendedErrorComputerName(ndr, "computer_name", &r->computer_name); - ndr_print_hyper(ndr, "pid", r->pid); - ndr_print_NTTIME(ndr, "time", r->time); - ndr_print_uint32(ndr, "generating_component", r->generating_component); - ndr_print_WERROR(ndr, "status", r->status); - ndr_print_uint16(ndr, "detection_location", r->detection_location); - ndr_print_uint16(ndr, "flags", r->flags); - ndr_print_uint16(ndr, "num_params", r->num_params); - ndr->print(ndr, "%s: ARRAY(%d)", "params", (int)r->num_params); - ndr->depth++; - for (cntr_params_0=0;cntr_params_0num_params;cntr_params_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_params_0) != -1) { - ndr_print_ExtendedErrorParam(ndr, "params", &r->params[cntr_params_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ExtendedErrorInfoPtr(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfoPtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - NDR_CHECK(ndr_push_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ExtendedErrorInfoPtr(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfoPtr *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_info_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->info); - } else { - r->info = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - NDR_CHECK(ndr_pull_ExtendedErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r) -{ - ndr_print_struct(ndr, name, "ExtendedErrorInfoPtr"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->info); - ndr->depth++; - if (r->info) { - ndr_print_ExtendedErrorInfo(ndr, "info", r->info); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ForestTrustString(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ForestTrustString(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, r->size, sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustString(struct ndr_print *ndr, const char *name, const struct ForestTrustString *r) -{ - ndr_print_struct(ndr, name, "ForestTrustString"); - ndr->depth++; - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->size); - ndr_print_string(ndr, "string", r->string); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ForestTrustDataDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustDataDomainInfo *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags))); - { - struct ndr_push *_ndr_sid; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags))); - NDR_CHECK(ndr_push_dom_sid(_ndr_sid, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags))); - } - NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->dns_name)); - NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ForestTrustDataDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustDataDomainInfo *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size)); - { - struct ndr_pull *_ndr_sid; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sid, 0, r->sid_size)); - NDR_CHECK(ndr_pull_dom_sid(_ndr_sid, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size)); - } - NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->dns_name)); - NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustDataDomainInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustDataDomainInfo *r) -{ - ndr_print_struct(ndr, name, "ForestTrustDataDomainInfo"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size); - ndr_print_dom_sid(ndr, "sid", &r->sid); - ndr_print_ForestTrustString(ndr, "dns_name", &r->dns_name); - ndr_print_ForestTrustString(ndr, "netbios_name", &r->netbios_name); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_ForestTrustDataBinaryData(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustDataBinaryData *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ForestTrustDataBinaryData(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustDataBinaryData *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_PULL_ALLOC_N(ndr, r->data, r->size); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustDataBinaryData(struct ndr_print *ndr, const char *name, const struct ForestTrustDataBinaryData *r) -{ - ndr_print_struct(ndr, name, "ForestTrustDataBinaryData"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_array_uint8(ndr, "data", r->data, r->size); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_ForestTrustData(struct ndr_push *ndr, int ndr_flags, const union ForestTrustData *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case FOREST_TRUST_TOP_LEVEL_NAME: { - NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->name)); - break; } - - case FOREST_TRUST_TOP_LEVEL_NAME_EX: { - NDR_CHECK(ndr_push_ForestTrustString(ndr, NDR_SCALARS, &r->name)); - break; } - - case FOREST_TRUST_DOMAIN_INFO: { - NDR_CHECK(ndr_push_ForestTrustDataDomainInfo(ndr, NDR_SCALARS, &r->info)); - break; } - - default: { - NDR_CHECK(ndr_push_ForestTrustDataBinaryData(ndr, NDR_SCALARS, &r->data)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case FOREST_TRUST_TOP_LEVEL_NAME: - break; - - case FOREST_TRUST_TOP_LEVEL_NAME_EX: - break; - - case FOREST_TRUST_DOMAIN_INFO: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ForestTrustData(struct ndr_pull *ndr, int ndr_flags, union ForestTrustData *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case FOREST_TRUST_TOP_LEVEL_NAME: { - NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->name)); - break; } - - case FOREST_TRUST_TOP_LEVEL_NAME_EX: { - NDR_CHECK(ndr_pull_ForestTrustString(ndr, NDR_SCALARS, &r->name)); - break; } - - case FOREST_TRUST_DOMAIN_INFO: { - NDR_CHECK(ndr_pull_ForestTrustDataDomainInfo(ndr, NDR_SCALARS, &r->info)); - break; } - - default: { - NDR_CHECK(ndr_pull_ForestTrustDataBinaryData(ndr, NDR_SCALARS, &r->data)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case FOREST_TRUST_TOP_LEVEL_NAME: - break; - - case FOREST_TRUST_TOP_LEVEL_NAME_EX: - break; - - case FOREST_TRUST_DOMAIN_INFO: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustData(struct ndr_print *ndr, const char *name, const union ForestTrustData *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ForestTrustData"); - switch (level) { - case FOREST_TRUST_TOP_LEVEL_NAME: - ndr_print_ForestTrustString(ndr, "name", &r->name); - break; - - case FOREST_TRUST_TOP_LEVEL_NAME_EX: - ndr_print_ForestTrustString(ndr, "name", &r->name); - break; - - case FOREST_TRUST_DOMAIN_INFO: - ndr_print_ForestTrustDataDomainInfo(ndr, "info", &r->info); - break; - - default: - ndr_print_ForestTrustDataBinaryData(ndr, "data", &r->data); - break; - - } -} - -static enum ndr_err_code ndr_push_ForestTrustInfoRecordType(struct ndr_push *ndr, int ndr_flags, enum ForestTrustInfoRecordType r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ForestTrustInfoRecordType(struct ndr_pull *ndr, int ndr_flags, enum ForestTrustInfoRecordType *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustInfoRecordType(struct ndr_print *ndr, const char *name, enum ForestTrustInfoRecordType r) -{ - const char *val = NULL; - - switch (r) { - case FOREST_TRUST_TOP_LEVEL_NAME: val = "FOREST_TRUST_TOP_LEVEL_NAME"; break; - case FOREST_TRUST_TOP_LEVEL_NAME_EX: val = "FOREST_TRUST_TOP_LEVEL_NAME_EX"; break; - case FOREST_TRUST_DOMAIN_INFO: val = "FOREST_TRUST_DOMAIN_INFO"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_ForestTrustInfoRecord(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecord *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timestamp)); - NDR_CHECK(ndr_push_ForestTrustInfoRecordType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->type)); - NDR_CHECK(ndr_push_ForestTrustData(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ForestTrustInfoRecord(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecord *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timestamp)); - NDR_CHECK(ndr_pull_ForestTrustInfoRecordType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->type)); - NDR_CHECK(ndr_pull_ForestTrustData(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustInfoRecord(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecord *r) -{ - ndr_print_struct(ndr, name, "ForestTrustInfoRecord"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_NTTIME(ndr, "timestamp", r->timestamp); - ndr_print_ForestTrustInfoRecordType(ndr, "type", r->type); - ndr_print_set_switch_value(ndr, &r->data, r->type); - ndr_print_ForestTrustData(ndr, "data", &r->data); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ size_t ndr_size_ForestTrustInfoRecord(const struct ForestTrustInfoRecord *r, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_NOALIGN; - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_ForestTrustInfoRecord, ic); -} - -static enum ndr_err_code ndr_push_ForestTrustInfoRecordArmor(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecordArmor *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_ForestTrustInfoRecord(&r->record, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_ForestTrustInfoRecord(ndr, NDR_SCALARS, &r->record)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ForestTrustInfoRecordArmor(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecordArmor *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->record_size)); - NDR_CHECK(ndr_pull_ForestTrustInfoRecord(ndr, NDR_SCALARS, &r->record)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustInfoRecordArmor(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecordArmor *r) -{ - ndr_print_struct(ndr, name, "ForestTrustInfoRecordArmor"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint32(ndr, "record_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_ForestTrustInfoRecord(&r->record, ndr->iconv_convenience, ndr->flags):r->record_size); - ndr_print_ForestTrustInfoRecord(ndr, "record", &r->record); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_ForestTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfo *r) -{ - uint32_t cntr_records_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - for (cntr_records_0 = 0; cntr_records_0 < r->count; cntr_records_0++) { - NDR_CHECK(ndr_push_ForestTrustInfoRecordArmor(ndr, NDR_SCALARS, &r->records[cntr_records_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ForestTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfo *r) -{ - uint32_t cntr_records_0; - TALLOC_CTX *_mem_save_records_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_PULL_ALLOC_N(ndr, r->records, r->count); - _mem_save_records_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->records, 0); - for (cntr_records_0 = 0; cntr_records_0 < r->count; cntr_records_0++) { - NDR_CHECK(ndr_pull_ForestTrustInfoRecordArmor(ndr, NDR_SCALARS, &r->records[cntr_records_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_records_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ForestTrustInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustInfo *r) -{ - uint32_t cntr_records_0; - ndr_print_struct(ndr, name, "ForestTrustInfo"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "records", (int)r->count); - ndr->depth++; - for (cntr_records_0=0;cntr_records_0count;cntr_records_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_records_0) != -1) { - ndr_print_ForestTrustInfoRecordArmor(ndr, "records", &r->records[cntr_records_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_decode_replPropertyMetaData(struct ndr_push *ndr, int flags, const struct decode_replPropertyMetaData *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_replPropertyMetaData(struct ndr_pull *ndr, int flags, struct decode_replPropertyMetaData *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_replPropertyMetaDataBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r) -{ - ndr_print_struct(ndr, name, "decode_replPropertyMetaData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_replPropertyMetaData"); - ndr->depth++; - ndr_print_replPropertyMetaDataBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_replPropertyMetaData"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_replUpToDateVector(struct ndr_push *ndr, int flags, const struct decode_replUpToDateVector *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_replUpToDateVector(struct ndr_pull *ndr, int flags, struct decode_replUpToDateVector *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_replUpToDateVectorBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r) -{ - ndr_print_struct(ndr, name, "decode_replUpToDateVector"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_replUpToDateVector"); - ndr->depth++; - ndr_print_replUpToDateVectorBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_replUpToDateVector"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_repsFromTo(struct ndr_push *ndr, int flags, const struct decode_repsFromTo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_repsFromTo(struct ndr_pull *ndr, int flags, struct decode_repsFromTo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_repsFromToBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r) -{ - ndr_print_struct(ndr, name, "decode_repsFromTo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_repsFromTo"); - ndr->depth++; - ndr_print_repsFromToBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_repsFromTo"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_partialAttributeSet(struct ndr_push *ndr, int flags, const struct decode_partialAttributeSet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_partialAttributeSet(struct ndr_pull *ndr, int flags, struct decode_partialAttributeSet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_partialAttributeSetBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r) -{ - ndr_print_struct(ndr, name, "decode_partialAttributeSet"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_partialAttributeSet"); - ndr->depth++; - ndr_print_partialAttributeSetBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_partialAttributeSet"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_prefixMap(struct ndr_push *ndr, int flags, const struct decode_prefixMap *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_prefixMap(struct ndr_pull *ndr, int flags, struct decode_prefixMap *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_prefixMapBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r) -{ - ndr_print_struct(ndr, name, "decode_prefixMap"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_prefixMap"); - ndr->depth++; - ndr_print_prefixMapBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_prefixMap"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_ldapControlDirSync(struct ndr_push *ndr, int flags, const struct decode_ldapControlDirSync *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_ldapControlDirSync(struct ndr_pull *ndr, int flags, struct decode_ldapControlDirSync *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_ldapControlDirSyncCookie(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.cookie)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r) -{ - ndr_print_struct(ndr, name, "decode_ldapControlDirSync"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_ldapControlDirSync"); - ndr->depth++; - ndr_print_ldapControlDirSyncCookie(ndr, "cookie", &r->in.cookie); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_ldapControlDirSync"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_supplementalCredentials(struct ndr_push *ndr, int flags, const struct decode_supplementalCredentials *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_supplementalCredentials(struct ndr_pull *ndr, int flags, struct decode_supplementalCredentials *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_supplementalCredentialsBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r) -{ - ndr_print_struct(ndr, name, "decode_supplementalCredentials"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_supplementalCredentials"); - ndr->depth++; - ndr_print_supplementalCredentialsBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_supplementalCredentials"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_Packages(struct ndr_push *ndr, int flags, const struct decode_Packages *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_Packages(struct ndr_pull *ndr, int flags, struct decode_Packages *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_package_PackagesBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r) -{ - ndr_print_struct(ndr, name, "decode_Packages"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_Packages"); - ndr->depth++; - ndr_print_package_PackagesBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_Packages"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_PrimaryKerberos(struct ndr_push *ndr, int flags, const struct decode_PrimaryKerberos *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_PrimaryKerberos(struct ndr_pull *ndr, int flags, struct decode_PrimaryKerberos *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_package_PrimaryKerberosBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r) -{ - ndr_print_struct(ndr, name, "decode_PrimaryKerberos"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_PrimaryKerberos"); - ndr->depth++; - ndr_print_package_PrimaryKerberosBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_PrimaryKerberos"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_PrimaryCLEARTEXT(struct ndr_push *ndr, int flags, const struct decode_PrimaryCLEARTEXT *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_PrimaryCLEARTEXT(struct ndr_pull *ndr, int flags, struct decode_PrimaryCLEARTEXT *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_package_PrimaryCLEARTEXTBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r) -{ - ndr_print_struct(ndr, name, "decode_PrimaryCLEARTEXT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_PrimaryCLEARTEXT"); - ndr->depth++; - ndr_print_package_PrimaryCLEARTEXTBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_PrimaryCLEARTEXT"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_PrimaryWDigest(struct ndr_push *ndr, int flags, const struct decode_PrimaryWDigest *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_PrimaryWDigest(struct ndr_pull *ndr, int flags, struct decode_PrimaryWDigest *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_package_PrimaryWDigestBlob(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r) -{ - ndr_print_struct(ndr, name, "decode_PrimaryWDigest"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_PrimaryWDigest"); - ndr->depth++; - ndr_print_package_PrimaryWDigestBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_PrimaryWDigest"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_trustAuthInOut(struct ndr_push *ndr, int flags, const struct decode_trustAuthInOut *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_trustAuthInOut(struct ndr_pull *ndr, int flags, struct decode_trustAuthInOut *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_trustAuthInOutBlob(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r) -{ - ndr_print_struct(ndr, name, "decode_trustAuthInOut"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_trustAuthInOut"); - ndr->depth++; - ndr_print_trustAuthInOutBlob(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_trustAuthInOut"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_trustDomainPasswords(struct ndr_push *ndr, int flags, const struct decode_trustDomainPasswords *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_trustDomainPasswords(struct ndr_pull *ndr, int flags, struct decode_trustDomainPasswords *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_trustDomainPasswords(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r) -{ - ndr_print_struct(ndr, name, "decode_trustDomainPasswords"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_trustDomainPasswords"); - ndr->depth++; - ndr_print_trustDomainPasswords(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_trustDomainPasswords"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_ExtendedErrorInfo(struct ndr_push *ndr, int flags, const struct decode_ExtendedErrorInfo *r) -{ - if (flags & NDR_IN) { - { - struct ndr_push *_ndr_ptr; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_push_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1)); - } - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_ExtendedErrorInfo(struct ndr_pull *ndr, int flags, struct decode_ExtendedErrorInfo *r) -{ - if (flags & NDR_IN) { - { - struct ndr_pull *_ndr_ptr; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ptr, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_pull_ExtendedErrorInfoPtr(_ndr_ptr, NDR_SCALARS|NDR_BUFFERS, &r->in.ptr)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ptr, 0xFFFFFC01, -1)); - } - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r) -{ - ndr_print_struct(ndr, name, "decode_ExtendedErrorInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_ExtendedErrorInfo"); - ndr->depth++; - ndr_print_ExtendedErrorInfoPtr(ndr, "ptr", &r->in.ptr); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_ExtendedErrorInfo"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_ForestTrustInfo(struct ndr_push *ndr, int flags, const struct decode_ForestTrustInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_ForestTrustInfo(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_ForestTrustInfo(struct ndr_pull *ndr, int flags, struct decode_ForestTrustInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_ForestTrustInfo(ndr, NDR_SCALARS, &r->in.blob)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_ForestTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ForestTrustInfo *r) -{ - ndr_print_struct(ndr, name, "decode_ForestTrustInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_ForestTrustInfo"); - ndr->depth++; - ndr_print_ForestTrustInfo(ndr, "blob", &r->in.blob); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_ForestTrustInfo"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call drsblobs_calls[] = { - { - "decode_replPropertyMetaData", - sizeof(struct decode_replPropertyMetaData), - (ndr_push_flags_fn_t) ndr_push_decode_replPropertyMetaData, - (ndr_pull_flags_fn_t) ndr_pull_decode_replPropertyMetaData, - (ndr_print_function_t) ndr_print_decode_replPropertyMetaData, - false, - }, - { - "decode_replUpToDateVector", - sizeof(struct decode_replUpToDateVector), - (ndr_push_flags_fn_t) ndr_push_decode_replUpToDateVector, - (ndr_pull_flags_fn_t) ndr_pull_decode_replUpToDateVector, - (ndr_print_function_t) ndr_print_decode_replUpToDateVector, - false, - }, - { - "decode_repsFromTo", - sizeof(struct decode_repsFromTo), - (ndr_push_flags_fn_t) ndr_push_decode_repsFromTo, - (ndr_pull_flags_fn_t) ndr_pull_decode_repsFromTo, - (ndr_print_function_t) ndr_print_decode_repsFromTo, - false, - }, - { - "decode_partialAttributeSet", - sizeof(struct decode_partialAttributeSet), - (ndr_push_flags_fn_t) ndr_push_decode_partialAttributeSet, - (ndr_pull_flags_fn_t) ndr_pull_decode_partialAttributeSet, - (ndr_print_function_t) ndr_print_decode_partialAttributeSet, - false, - }, - { - "decode_prefixMap", - sizeof(struct decode_prefixMap), - (ndr_push_flags_fn_t) ndr_push_decode_prefixMap, - (ndr_pull_flags_fn_t) ndr_pull_decode_prefixMap, - (ndr_print_function_t) ndr_print_decode_prefixMap, - false, - }, - { - "decode_ldapControlDirSync", - sizeof(struct decode_ldapControlDirSync), - (ndr_push_flags_fn_t) ndr_push_decode_ldapControlDirSync, - (ndr_pull_flags_fn_t) ndr_pull_decode_ldapControlDirSync, - (ndr_print_function_t) ndr_print_decode_ldapControlDirSync, - false, - }, - { - "decode_supplementalCredentials", - sizeof(struct decode_supplementalCredentials), - (ndr_push_flags_fn_t) ndr_push_decode_supplementalCredentials, - (ndr_pull_flags_fn_t) ndr_pull_decode_supplementalCredentials, - (ndr_print_function_t) ndr_print_decode_supplementalCredentials, - false, - }, - { - "decode_Packages", - sizeof(struct decode_Packages), - (ndr_push_flags_fn_t) ndr_push_decode_Packages, - (ndr_pull_flags_fn_t) ndr_pull_decode_Packages, - (ndr_print_function_t) ndr_print_decode_Packages, - false, - }, - { - "decode_PrimaryKerberos", - sizeof(struct decode_PrimaryKerberos), - (ndr_push_flags_fn_t) ndr_push_decode_PrimaryKerberos, - (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryKerberos, - (ndr_print_function_t) ndr_print_decode_PrimaryKerberos, - false, - }, - { - "decode_PrimaryCLEARTEXT", - sizeof(struct decode_PrimaryCLEARTEXT), - (ndr_push_flags_fn_t) ndr_push_decode_PrimaryCLEARTEXT, - (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryCLEARTEXT, - (ndr_print_function_t) ndr_print_decode_PrimaryCLEARTEXT, - false, - }, - { - "decode_PrimaryWDigest", - sizeof(struct decode_PrimaryWDigest), - (ndr_push_flags_fn_t) ndr_push_decode_PrimaryWDigest, - (ndr_pull_flags_fn_t) ndr_pull_decode_PrimaryWDigest, - (ndr_print_function_t) ndr_print_decode_PrimaryWDigest, - false, - }, - { - "decode_trustAuthInOut", - sizeof(struct decode_trustAuthInOut), - (ndr_push_flags_fn_t) ndr_push_decode_trustAuthInOut, - (ndr_pull_flags_fn_t) ndr_pull_decode_trustAuthInOut, - (ndr_print_function_t) ndr_print_decode_trustAuthInOut, - false, - }, - { - "decode_trustDomainPasswords", - sizeof(struct decode_trustDomainPasswords), - (ndr_push_flags_fn_t) ndr_push_decode_trustDomainPasswords, - (ndr_pull_flags_fn_t) ndr_pull_decode_trustDomainPasswords, - (ndr_print_function_t) ndr_print_decode_trustDomainPasswords, - false, - }, - { - "decode_ExtendedErrorInfo", - sizeof(struct decode_ExtendedErrorInfo), - (ndr_push_flags_fn_t) ndr_push_decode_ExtendedErrorInfo, - (ndr_pull_flags_fn_t) ndr_pull_decode_ExtendedErrorInfo, - (ndr_print_function_t) ndr_print_decode_ExtendedErrorInfo, - false, - }, - { - "decode_ForestTrustInfo", - sizeof(struct decode_ForestTrustInfo), - (ndr_push_flags_fn_t) ndr_push_decode_ForestTrustInfo, - (ndr_pull_flags_fn_t) ndr_pull_decode_ForestTrustInfo, - (ndr_print_function_t) ndr_print_decode_ForestTrustInfo, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const drsblobs_endpoint_strings[] = { - "ncacn_np:[\\pipe\\drsblobs]", -}; - -static const struct ndr_interface_string_array drsblobs_endpoints = { - .count = 1, - .names = drsblobs_endpoint_strings -}; - -static const char * const drsblobs_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array drsblobs_authservices = { - .count = 1, - .names = drsblobs_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_drsblobs = { - .name = "drsblobs", - .syntax_id = { - {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x01}}, - NDR_DRSBLOBS_VERSION - }, - .helpstring = NDR_DRSBLOBS_HELPSTRING, - .num_calls = 15, - .calls = drsblobs_calls, - .endpoints = &drsblobs_endpoints, - .authservices = &drsblobs_authservices -}; - diff --git a/librpc/gen_ndr/ndr_drsblobs.h b/librpc/gen_ndr/ndr_drsblobs.h deleted file mode 100644 index 30e915d5e13..00000000000 --- a/librpc/gen_ndr/ndr_drsblobs.h +++ /dev/null @@ -1,192 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/drsblobs.h" - -#ifndef _HEADER_NDR_drsblobs -#define _HEADER_NDR_drsblobs - -#include "../librpc/ndr/ndr_drsblobs.h" -#define NDR_DRSBLOBS_UUID "12345778-1234-abcd-0001-00000001" -#define NDR_DRSBLOBS_VERSION 0.0 -#define NDR_DRSBLOBS_NAME "drsblobs" -#define NDR_DRSBLOBS_HELPSTRING "Active Directory Replication LDAP Blobs" -extern const struct ndr_interface_table ndr_table_drsblobs; -#define NDR_DECODE_REPLPROPERTYMETADATA (0x00) - -#define NDR_DECODE_REPLUPTODATEVECTOR (0x01) - -#define NDR_DECODE_REPSFROMTO (0x02) - -#define NDR_DECODE_PARTIALATTRIBUTESET (0x03) - -#define NDR_DECODE_PREFIXMAP (0x04) - -#define NDR_DECODE_LDAPCONTROLDIRSYNC (0x05) - -#define NDR_DECODE_SUPPLEMENTALCREDENTIALS (0x06) - -#define NDR_DECODE_PACKAGES (0x07) - -#define NDR_DECODE_PRIMARYKERBEROS (0x08) - -#define NDR_DECODE_PRIMARYCLEARTEXT (0x09) - -#define NDR_DECODE_PRIMARYWDIGEST (0x0a) - -#define NDR_DECODE_TRUSTAUTHINOUT (0x0b) - -#define NDR_DECODE_TRUSTDOMAINPASSWORDS (0x0c) - -#define NDR_DECODE_EXTENDEDERRORINFO (0x0d) - -#define NDR_DECODE_FORESTTRUSTINFO (0x0e) - -#define NDR_DRSBLOBS_CALL_COUNT (15) -void ndr_print_replPropertyMetaData1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaData1 *r); -void ndr_print_replPropertyMetaDataCtr1(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataCtr1 *r); -void ndr_print_replPropertyMetaDataCtr(struct ndr_print *ndr, const char *name, const union replPropertyMetaDataCtr *r); -enum ndr_err_code ndr_push_replPropertyMetaDataBlob(struct ndr_push *ndr, int ndr_flags, const struct replPropertyMetaDataBlob *r); -enum ndr_err_code ndr_pull_replPropertyMetaDataBlob(struct ndr_pull *ndr, int ndr_flags, struct replPropertyMetaDataBlob *r); -void ndr_print_replPropertyMetaDataBlob(struct ndr_print *ndr, const char *name, const struct replPropertyMetaDataBlob *r); -void ndr_print_replUpToDateVectorCtr1(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr1 *r); -void ndr_print_replUpToDateVectorCtr2(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorCtr2 *r); -void ndr_print_replUpToDateVectorCtr(struct ndr_print *ndr, const char *name, const union replUpToDateVectorCtr *r); -enum ndr_err_code ndr_push_replUpToDateVectorBlob(struct ndr_push *ndr, int ndr_flags, const struct replUpToDateVectorBlob *r); -enum ndr_err_code ndr_pull_replUpToDateVectorBlob(struct ndr_pull *ndr, int ndr_flags, struct replUpToDateVectorBlob *r); -void ndr_print_replUpToDateVectorBlob(struct ndr_print *ndr, const char *name, const struct replUpToDateVectorBlob *r); -enum ndr_err_code ndr_push_repsFromTo1OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1OtherInfo *r); -enum ndr_err_code ndr_pull_repsFromTo1OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1OtherInfo *r); -void ndr_print_repsFromTo1OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo1OtherInfo *r); -size_t ndr_size_repsFromTo1OtherInfo(const struct repsFromTo1OtherInfo *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo1 *r); -enum ndr_err_code ndr_pull_repsFromTo1(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo1 *r); -void ndr_print_repsFromTo1(struct ndr_print *ndr, const char *name, const struct repsFromTo1 *r); -size_t ndr_size_repsFromTo1(const struct repsFromTo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2OtherInfo *r); -enum ndr_err_code ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2OtherInfo *r); -void ndr_print_repsFromTo2OtherInfo(struct ndr_print *ndr, const char *name, const struct repsFromTo2OtherInfo *r); -size_t ndr_size_repsFromTo2OtherInfo(const struct repsFromTo2OtherInfo *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_flags, const struct repsFromTo2 *r); -enum ndr_err_code ndr_pull_repsFromTo2(struct ndr_pull *ndr, int ndr_flags, struct repsFromTo2 *r); -void ndr_print_repsFromTo2(struct ndr_print *ndr, const char *name, const struct repsFromTo2 *r); -size_t ndr_size_repsFromTo2(const struct repsFromTo2 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_repsFromTo(struct ndr_print *ndr, const char *name, const union repsFromTo *r); -enum ndr_err_code ndr_push_repsFromToBlob(struct ndr_push *ndr, int ndr_flags, const struct repsFromToBlob *r); -enum ndr_err_code ndr_pull_repsFromToBlob(struct ndr_pull *ndr, int ndr_flags, struct repsFromToBlob *r); -void ndr_print_repsFromToBlob(struct ndr_print *ndr, const char *name, const struct repsFromToBlob *r); -void ndr_print_partialAttributeSetCtr1(struct ndr_print *ndr, const char *name, const struct partialAttributeSetCtr1 *r); -void ndr_print_partialAttributeSetCtr(struct ndr_print *ndr, const char *name, const union partialAttributeSetCtr *r); -enum ndr_err_code ndr_push_partialAttributeSetBlob(struct ndr_push *ndr, int ndr_flags, const struct partialAttributeSetBlob *r); -enum ndr_err_code ndr_pull_partialAttributeSetBlob(struct ndr_pull *ndr, int ndr_flags, struct partialAttributeSetBlob *r); -void ndr_print_partialAttributeSetBlob(struct ndr_print *ndr, const char *name, const struct partialAttributeSetBlob *r); -enum ndr_err_code ndr_push_schemaInfoBlob(struct ndr_push *ndr, int ndr_flags, const struct schemaInfoBlob *r); -enum ndr_err_code ndr_pull_schemaInfoBlob(struct ndr_pull *ndr, int ndr_flags, struct schemaInfoBlob *r); -void ndr_print_schemaInfoBlob(struct ndr_print *ndr, const char *name, const struct schemaInfoBlob *r); -void ndr_print_drsuapi_MSPrefixMap_Entry(struct ndr_print *ndr, const char *name, const struct drsuapi_MSPrefixMap_Entry *r); -enum ndr_err_code ndr_push_drsuapi_MSPrefixMap_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_MSPrefixMap_Ctr *r); -enum ndr_err_code ndr_pull_drsuapi_MSPrefixMap_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_MSPrefixMap_Ctr *r); -void ndr_print_drsuapi_MSPrefixMap_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_MSPrefixMap_Ctr *r); -size_t ndr_size_drsuapi_MSPrefixMap_Ctr(const struct drsuapi_MSPrefixMap_Ctr *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_prefixMapVersion(struct ndr_print *ndr, const char *name, enum prefixMapVersion r); -void ndr_print_prefixMapCtr(struct ndr_print *ndr, const char *name, const union prefixMapCtr *r); -enum ndr_err_code ndr_push_prefixMapBlob(struct ndr_push *ndr, int ndr_flags, const struct prefixMapBlob *r); -enum ndr_err_code ndr_pull_prefixMapBlob(struct ndr_pull *ndr, int ndr_flags, struct prefixMapBlob *r); -void ndr_print_prefixMapBlob(struct ndr_print *ndr, const char *name, const struct prefixMapBlob *r); -void ndr_print_ldapControlDirSyncExtra(struct ndr_print *ndr, const char *name, const union ldapControlDirSyncExtra *r); -void ndr_print_ldapControlDirSyncBlob(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncBlob *r); -enum ndr_err_code ndr_push_ldapControlDirSyncCookie(struct ndr_push *ndr, int ndr_flags, const struct ldapControlDirSyncCookie *r); -enum ndr_err_code ndr_pull_ldapControlDirSyncCookie(struct ndr_pull *ndr, int ndr_flags, struct ldapControlDirSyncCookie *r); -void ndr_print_ldapControlDirSyncCookie(struct ndr_print *ndr, const char *name, const struct ldapControlDirSyncCookie *r); -void ndr_print_supplementalCredentialsPackage(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsPackage *r); -void ndr_print_supplementalCredentialsSignature(struct ndr_print *ndr, const char *name, enum supplementalCredentialsSignature r); -void ndr_print_supplementalCredentialsSubBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsSubBlob *r); -enum ndr_err_code ndr_push_supplementalCredentialsBlob(struct ndr_push *ndr, int ndr_flags, const struct supplementalCredentialsBlob *r); -enum ndr_err_code ndr_pull_supplementalCredentialsBlob(struct ndr_pull *ndr, int ndr_flags, struct supplementalCredentialsBlob *r); -void ndr_print_supplementalCredentialsBlob(struct ndr_print *ndr, const char *name, const struct supplementalCredentialsBlob *r); -enum ndr_err_code ndr_push_package_PackagesBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PackagesBlob *r); -enum ndr_err_code ndr_pull_package_PackagesBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PackagesBlob *r); -void ndr_print_package_PackagesBlob(struct ndr_print *ndr, const char *name, const struct package_PackagesBlob *r); -void ndr_print_package_PrimaryKerberosString(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosString *r); -void ndr_print_package_PrimaryKerberosKey3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey3 *r); -void ndr_print_package_PrimaryKerberosCtr3(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr3 *r); -void ndr_print_package_PrimaryKerberosKey4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosKey4 *r); -void ndr_print_package_PrimaryKerberosCtr4(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosCtr4 *r); -void ndr_print_package_PrimaryKerberosCtr(struct ndr_print *ndr, const char *name, const union package_PrimaryKerberosCtr *r); -enum ndr_err_code ndr_push_package_PrimaryKerberosBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryKerberosBlob *r); -enum ndr_err_code ndr_pull_package_PrimaryKerberosBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryKerberosBlob *r); -void ndr_print_package_PrimaryKerberosBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryKerberosBlob *r); -enum ndr_err_code ndr_push_package_PrimaryCLEARTEXTBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryCLEARTEXTBlob *r); -enum ndr_err_code ndr_pull_package_PrimaryCLEARTEXTBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryCLEARTEXTBlob *r); -void ndr_print_package_PrimaryCLEARTEXTBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryCLEARTEXTBlob *r); -void ndr_print_package_PrimaryWDigestHash(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestHash *r); -enum ndr_err_code ndr_push_package_PrimaryWDigestBlob(struct ndr_push *ndr, int ndr_flags, const struct package_PrimaryWDigestBlob *r); -enum ndr_err_code ndr_pull_package_PrimaryWDigestBlob(struct ndr_pull *ndr, int ndr_flags, struct package_PrimaryWDigestBlob *r); -void ndr_print_package_PrimaryWDigestBlob(struct ndr_print *ndr, const char *name, const struct package_PrimaryWDigestBlob *r); -void ndr_print_AuthInfoNone(struct ndr_print *ndr, const char *name, const struct AuthInfoNone *r); -void ndr_print_AuthInfoNT4Owf(struct ndr_print *ndr, const char *name, const struct AuthInfoNT4Owf *r); -void ndr_print_AuthInfoClear(struct ndr_print *ndr, const char *name, const struct AuthInfoClear *r); -void ndr_print_AuthInfoVersion(struct ndr_print *ndr, const char *name, const struct AuthInfoVersion *r); -void ndr_print_AuthInfo(struct ndr_print *ndr, const char *name, const union AuthInfo *r); -enum ndr_err_code ndr_push_AuthenticationInformation(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformation *r); -enum ndr_err_code ndr_pull_AuthenticationInformation(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformation *r); -void ndr_print_AuthenticationInformation(struct ndr_print *ndr, const char *name, const struct AuthenticationInformation *r); -enum ndr_err_code ndr_push_AuthenticationInformationArray(struct ndr_push *ndr, int ndr_flags, const struct AuthenticationInformationArray *r); -enum ndr_err_code ndr_pull_AuthenticationInformationArray(struct ndr_pull *ndr, int ndr_flags, struct AuthenticationInformationArray *r); -void ndr_print_AuthenticationInformationArray(struct ndr_print *ndr, const char *name, const struct AuthenticationInformationArray *r); -enum ndr_err_code ndr_push_trustAuthInOutBlob(struct ndr_push *ndr, int ndr_flags, const struct trustAuthInOutBlob *r); -enum ndr_err_code ndr_pull_trustAuthInOutBlob(struct ndr_pull *ndr, int ndr_flags, struct trustAuthInOutBlob *r); -void ndr_print_trustAuthInOutBlob(struct ndr_print *ndr, const char *name, const struct trustAuthInOutBlob *r); -size_t ndr_size_trustAuthInOutBlob(const struct trustAuthInOutBlob *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustCurrentPasswords *r); -enum ndr_err_code ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustCurrentPasswords *r); -void ndr_print_trustCurrentPasswords(struct ndr_print *ndr, const char *name, const struct trustCurrentPasswords *r); -size_t ndr_size_trustCurrentPasswords(const struct trustCurrentPasswords *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_trustDomainPasswords(struct ndr_push *ndr, int ndr_flags, const struct trustDomainPasswords *r); -enum ndr_err_code ndr_pull_trustDomainPasswords(struct ndr_pull *ndr, int ndr_flags, struct trustDomainPasswords *r); -void ndr_print_trustDomainPasswords(struct ndr_print *ndr, const char *name, const struct trustDomainPasswords *r); -enum ndr_err_code ndr_push_DsCompressedChunk(struct ndr_push *ndr, int ndr_flags, const struct DsCompressedChunk *r); -enum ndr_err_code ndr_pull_DsCompressedChunk(struct ndr_pull *ndr, int ndr_flags, struct DsCompressedChunk *r); -void ndr_print_DsCompressedChunk(struct ndr_print *ndr, const char *name, const struct DsCompressedChunk *r); -void ndr_print_ExtendedErrorAString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorAString *r); -void ndr_print_ExtendedErrorUString(struct ndr_print *ndr, const char *name, const struct ExtendedErrorUString *r); -void ndr_print_ExtendedErrorBlob(struct ndr_print *ndr, const char *name, const struct ExtendedErrorBlob *r); -void ndr_print_ExtendedErrorComputerNamePresent(struct ndr_print *ndr, const char *name, enum ExtendedErrorComputerNamePresent r); -void ndr_print_ExtendedErrorComputerNameU(struct ndr_print *ndr, const char *name, const union ExtendedErrorComputerNameU *r); -void ndr_print_ExtendedErrorComputerName(struct ndr_print *ndr, const char *name, const struct ExtendedErrorComputerName *r); -void ndr_print_ExtendedErrorParamType(struct ndr_print *ndr, const char *name, enum ExtendedErrorParamType r); -void ndr_print_ExtendedErrorParamU(struct ndr_print *ndr, const char *name, const union ExtendedErrorParamU *r); -void ndr_print_ExtendedErrorParam(struct ndr_print *ndr, const char *name, const struct ExtendedErrorParam *r); -enum ndr_err_code ndr_push_ExtendedErrorInfo(struct ndr_push *ndr, int ndr_flags, const struct ExtendedErrorInfo *r); -enum ndr_err_code ndr_pull_ExtendedErrorInfo(struct ndr_pull *ndr, int ndr_flags, struct ExtendedErrorInfo *r); -void ndr_print_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfo *r); -void ndr_print_ExtendedErrorInfoPtr(struct ndr_print *ndr, const char *name, const struct ExtendedErrorInfoPtr *r); -void ndr_print_ForestTrustString(struct ndr_print *ndr, const char *name, const struct ForestTrustString *r); -void ndr_print_ForestTrustDataDomainInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustDataDomainInfo *r); -void ndr_print_ForestTrustDataBinaryData(struct ndr_print *ndr, const char *name, const struct ForestTrustDataBinaryData *r); -void ndr_print_ForestTrustData(struct ndr_print *ndr, const char *name, const union ForestTrustData *r); -void ndr_print_ForestTrustInfoRecordType(struct ndr_print *ndr, const char *name, enum ForestTrustInfoRecordType r); -enum ndr_err_code ndr_push_ForestTrustInfoRecord(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfoRecord *r); -enum ndr_err_code ndr_pull_ForestTrustInfoRecord(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfoRecord *r); -void ndr_print_ForestTrustInfoRecord(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecord *r); -size_t ndr_size_ForestTrustInfoRecord(const struct ForestTrustInfoRecord *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_ForestTrustInfoRecordArmor(struct ndr_print *ndr, const char *name, const struct ForestTrustInfoRecordArmor *r); -enum ndr_err_code ndr_push_ForestTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct ForestTrustInfo *r); -enum ndr_err_code ndr_pull_ForestTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct ForestTrustInfo *r); -void ndr_print_ForestTrustInfo(struct ndr_print *ndr, const char *name, const struct ForestTrustInfo *r); -void ndr_print_decode_replPropertyMetaData(struct ndr_print *ndr, const char *name, int flags, const struct decode_replPropertyMetaData *r); -void ndr_print_decode_replUpToDateVector(struct ndr_print *ndr, const char *name, int flags, const struct decode_replUpToDateVector *r); -void ndr_print_decode_repsFromTo(struct ndr_print *ndr, const char *name, int flags, const struct decode_repsFromTo *r); -void ndr_print_decode_partialAttributeSet(struct ndr_print *ndr, const char *name, int flags, const struct decode_partialAttributeSet *r); -void ndr_print_decode_prefixMap(struct ndr_print *ndr, const char *name, int flags, const struct decode_prefixMap *r); -void ndr_print_decode_ldapControlDirSync(struct ndr_print *ndr, const char *name, int flags, const struct decode_ldapControlDirSync *r); -void ndr_print_decode_supplementalCredentials(struct ndr_print *ndr, const char *name, int flags, const struct decode_supplementalCredentials *r); -void ndr_print_decode_Packages(struct ndr_print *ndr, const char *name, int flags, const struct decode_Packages *r); -void ndr_print_decode_PrimaryKerberos(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryKerberos *r); -void ndr_print_decode_PrimaryCLEARTEXT(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryCLEARTEXT *r); -void ndr_print_decode_PrimaryWDigest(struct ndr_print *ndr, const char *name, int flags, const struct decode_PrimaryWDigest *r); -void ndr_print_decode_trustAuthInOut(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustAuthInOut *r); -void ndr_print_decode_trustDomainPasswords(struct ndr_print *ndr, const char *name, int flags, const struct decode_trustDomainPasswords *r); -void ndr_print_decode_ExtendedErrorInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ExtendedErrorInfo *r); -void ndr_print_decode_ForestTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct decode_ForestTrustInfo *r); -#endif /* _HEADER_NDR_drsblobs */ diff --git a/librpc/gen_ndr/ndr_drsuapi.c b/librpc/gen_ndr/ndr_drsuapi.c deleted file mode 100644 index d233afef609..00000000000 --- a/librpc/gen_ndr/ndr_drsuapi.c +++ /dev/null @@ -1,16337 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_drsuapi.h" - -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_samr.h" -#include "librpc/ndr/ndr_compression.h" -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_SupportedExtensions(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD", DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsBindInfo24(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo24 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo24 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsBindInfo24"); - ndr->depth++; - ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions); - ndr_print_GUID(ndr, "site_guid", &r->site_guid); - ndr_print_uint32(ndr, "pid", r->pid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsBindInfo28(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo28 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo28 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsBindInfo28"); - ndr->depth++; - ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions); - ndr_print_GUID(ndr, "site_guid", &r->site_guid); - ndr_print_uint32(ndr, "pid", r->pid); - ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsBindInfo48(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfo48 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, r->supported_extensions)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->repl_epoch)); - NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, r->supported_extensions_ext)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->config_dn_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfo48 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr, NDR_SCALARS, &r->supported_extensions)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->repl_epoch)); - NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr, NDR_SCALARS, &r->supported_extensions_ext)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->config_dn_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsBindInfo48"); - ndr->depth++; - ndr_print_drsuapi_SupportedExtensions(ndr, "supported_extensions", r->supported_extensions); - ndr_print_GUID(ndr, "site_guid", &r->site_guid); - ndr_print_uint32(ndr, "pid", r->pid); - ndr_print_uint32(ndr, "repl_epoch", r->repl_epoch); - ndr_print_drsuapi_SupportedExtensionsExt(ndr, "supported_extensions_ext", r->supported_extensions_ext); - ndr_print_GUID(ndr, "config_dn_guid", &r->config_dn_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoFallBack *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoFallBack *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->info)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsBindInfoFallBack"); - ndr->depth++; - ndr_print_DATA_BLOB(ndr, "info", r->info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsBindInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 1)); - switch (level) { - case 24: { - { - struct ndr_push *_ndr_info24; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info24, 4, -1)); - NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info24, 4, -1)); - } - break; } - - case 28: { - { - struct ndr_push *_ndr_info28; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info28, 4, -1)); - NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info28, 4, -1)); - } - break; } - - case 48: { - { - struct ndr_push *_ndr_info48; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info48, 4, -1)); - NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info48, 4, -1)); - } - break; } - - default: { - { - struct ndr_push *_ndr_FallBack; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_FallBack, 4, -1)); - NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_FallBack, 4, -1)); - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 24: - break; - - case 28: - break; - - case 48: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 1)); - switch (level) { - case 24: { - { - struct ndr_pull *_ndr_info24; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info24, 4, -1)); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24, NDR_SCALARS, &r->info24)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info24, 4, -1)); - } - break; } - - case 28: { - { - struct ndr_pull *_ndr_info28; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info28, 4, -1)); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28, NDR_SCALARS, &r->info28)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info28, 4, -1)); - } - break; } - - case 48: { - { - struct ndr_pull *_ndr_info48; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info48, 4, -1)); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48, NDR_SCALARS, &r->info48)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info48, 4, -1)); - } - break; } - - default: { - { - struct ndr_pull *_ndr_FallBack; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_FallBack, 4, -1)); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack, NDR_SCALARS, &r->FallBack)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_FallBack, 4, -1)); - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 24: - break; - - case 28: - break; - - case 48: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsBindInfo"); - switch (level) { - case 24: - ndr_print_drsuapi_DsBindInfo24(ndr, "info24", &r->info24); - break; - - case 28: - ndr_print_drsuapi_DsBindInfo28(ndr, "info28", &r->info28); - break; - - case 48: - ndr_print_drsuapi_DsBindInfo48(ndr, "info48", &r->info48); - break; - - default: - ndr_print_drsuapi_DsBindInfoFallBack(ndr, "FallBack", &r->FallBack); - break; - - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsBindInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->length)); - NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsBindInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - if (r->length < 1 || r->length > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->length)); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsBindInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "length", r->length); - ndr_print_set_switch_value(ndr, &r->info, r->length); - ndr_print_drsuapi_DsBindInfo(ndr, "info", &r->info); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->dn) + 1)); - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags))); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->dn)); - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, ndr_get_array_size(ndr, &r->dn), sizeof(uint16_t), CH_UTF16)); - if (r->dn) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->dn, r->__ndr_size_dn + 1)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier"); - ndr->depth++; - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags) - 4:r->__ndr_size); - ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid); - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_dom_sid28(ndr, "sid", &r->sid); - ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn); - ndr_print_string(ndr, "dn", r->dn); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier, ic); -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaSyncRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->source_dsa_dns) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_dsa_dns)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaSyncRequest1 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_source_dsa_dns; - TALLOC_CTX *_mem_save_source_dsa_dns_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns)); - if (_ptr_source_dsa_dns) { - NDR_PULL_ALLOC(ndr, r->source_dsa_dns); - } else { - r->source_dsa_dns = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->source_dsa_dns) { - _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_dsa_dns)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaSyncRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid); - ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns); - ndr->depth++; - if (r->source_dsa_dns) { - ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns); - } - ndr->depth--; - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaSyncRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaSyncRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsReplicaSyncRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->reserved_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->reserved_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaHighWaterMark"); - ndr->depth++; - ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn); - ndr_print_hyper(ndr, "reserved_usn", r->reserved_usn); - ndr_print_hyper(ndr, "highest_usn", r->highest_usn); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor"); - ndr->depth++; - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_hyper(ndr, "highest_usn", r->highest_usn); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtrEx *r) -{ - uint32_t cntr_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtrEx *r) -{ - uint32_t cntr_cursors_0; - TALLOC_CTX *_mem_save_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 0x100000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2)); - NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors)); - _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); - if (r->cursors) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r) -{ - uint32_t cntr_cursors_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtrEx"); - ndr->depth++; - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version); - ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2); - ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count); - ndr->depth++; - for (cntr_cursors_0=0;cntr_cursors_0count;cntr_cursors_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor(ndr, "cursors", &r->cursors[cntr_cursors_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsExtendedOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation r) -{ - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedOperation *r) -{ - uint32_t v; - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r) -{ - const char *val = NULL; - - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - switch (r) { - case DRSUAPI_EXOP_NONE: val = "DRSUAPI_EXOP_NONE"; break; - case DRSUAPI_EXOP_FSMO_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break; - case DRSUAPI_EXOP_FSMO_RID_ALLOC: val = "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break; - case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE: val = "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break; - case DRSUAPI_EXOP_FSMO_REQ_PDC: val = "DRSUAPI_EXOP_FSMO_REQ_PDC"; break; - case DRSUAPI_EXOP_FSMO_ABANDON_ROLE: val = "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break; - case DRSUAPI_EXOP_REPL_OBJ: val = "DRSUAPI_EXOP_REPL_OBJ"; break; - case DRSUAPI_EXOP_REPL_SECRET: val = "DRSUAPI_EXOP_REPL_SECRET"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); - ndr->flags = _flags_save_ENUM; - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsExtendedError(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsExtendedError r) -{ - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsExtendedError(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsExtendedError *r) -{ - uint32_t v; - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r) -{ - const char *val = NULL; - - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - switch (r) { - case DRSUAPI_EXOP_ERR_NONE: val = "DRSUAPI_EXOP_ERR_NONE"; break; - case DRSUAPI_EXOP_ERR_SUCCESS: val = "DRSUAPI_EXOP_ERR_SUCCESS"; break; - case DRSUAPI_EXOP_ERR_UNKNOWN_OP: val = "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break; - case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER: val = "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break; - case DRSUAPI_EXOP_ERR_UPDATE_ERR: val = "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break; - case DRSUAPI_EXOP_ERR_EXCEPTION: val = "DRSUAPI_EXOP_ERR_EXCEPTION"; break; - case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER: val = "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break; - case DRSUAPI_EXOP_ERR_RID_ALLOC: val = "DRSUAPI_EXOP_ERR_RID_ALLOC"; break; - case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED: val = "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break; - case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP: val = "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break; - case DRSUAPI_EXOP_ERR_MISMATCH: val = "DRSUAPI_EXOP_ERR_MISMATCH"; break; - case DRSUAPI_EXOP_ERR_COULDNT_CONTACT: val = "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break; - case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES: val = "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break; - case DRSUAPI_EXOP_ERR_DIR_ERROR: val = "DRSUAPI_EXOP_ERR_DIR_ERROR"; break; - case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS: val = "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break; - case DRSUAPI_EXOP_ERR_ACCESS_DENIED: val = "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break; - case DRSUAPI_EXOP_ERR_PARAM_ERROR: val = "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); - ndr->flags = _flags_save_ENUM; - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size)); - NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->uptodateness_vector) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest5 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_uptodateness_vector; - TALLOC_CTX *_mem_save_uptodateness_vector_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector)); - if (_ptr_uptodateness_vector) { - NDR_PULL_ALLOC(ndr, r->uptodateness_vector); - } else { - r->uptodateness_vector = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size)); - NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->uptodateness_vector) { - _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest5"); - ndr->depth++; - ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); - ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector); - ndr->depth++; - if (r->uptodateness_vector) { - ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector); - } - ndr->depth--; - ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags); - ndr_print_uint32(ndr, "max_object_count", r->max_object_count); - ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size); - ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op); - ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaOID(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOID *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary_oid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->binary_oid) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->binary_oid, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOID *r) -{ - uint32_t _ptr_binary_oid; - TALLOC_CTX *_mem_save_binary_oid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - if (r->length > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_oid)); - if (_ptr_binary_oid) { - NDR_PULL_ALLOC(ndr, r->binary_oid); - } else { - r->binary_oid = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->binary_oid) { - _mem_save_binary_oid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->binary_oid, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->binary_oid)); - NDR_PULL_ALLOC_N(ndr, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->binary_oid, ndr_get_array_size(ndr, &r->binary_oid))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_oid_0, 0); - } - if (r->binary_oid) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->binary_oid, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id_prefix)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id_prefix)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_SCALARS, &r->oid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr, NDR_BUFFERS, &r->oid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping"); - ndr->depth++; - ndr_print_uint32(ndr, "id_prefix", r->id_prefix); - ndr_print_drsuapi_DsReplicaOID(ndr, "oid", &r->oid); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r) -{ - uint32_t cntr_mappings_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mappings)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->mappings)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->mappings) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_mappings)); - for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1])); - } - for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r) -{ - uint32_t _ptr_mappings; - uint32_t cntr_mappings_1; - TALLOC_CTX *_mem_save_mappings_0; - TALLOC_CTX *_mem_save_mappings_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mappings)); - if (r->num_mappings > 0x100000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mappings)); - if (_ptr_mappings) { - NDR_PULL_ALLOC(ndr, r->mappings); - } else { - r->mappings = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->mappings) { - _mem_save_mappings_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->mappings)); - NDR_PULL_ALLOC_N(ndr, r->mappings, ndr_get_array_size(ndr, &r->mappings)); - _mem_save_mappings_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->mappings, 0); - for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_SCALARS, &r->mappings[cntr_mappings_1])); - } - for (cntr_mappings_1 = 0; cntr_mappings_1 < r->num_mappings; cntr_mappings_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr, NDR_BUFFERS, &r->mappings[cntr_mappings_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mappings_0, 0); - } - if (r->mappings) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->mappings, r->num_mappings)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r) -{ - uint32_t cntr_mappings_1; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaOIDMapping_Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "num_mappings", r->num_mappings); - ndr_print_ptr(ndr, "mappings", r->mappings); - ndr->depth++; - if (r->mappings) { - ndr->print(ndr, "%s: ARRAY(%d)", "mappings", (int)r->num_mappings); - ndr->depth++; - for (cntr_mappings_1=0;cntr_mappings_1num_mappings;cntr_mappings_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_mappings_1) != -1) { - ndr_print_drsuapi_DsReplicaOIDMapping(ndr, "mappings", &r->mappings[cntr_mappings_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r) -{ - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r) -{ - uint32_t v; - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r) -{ - const char *val = NULL; - - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - switch (r) { - case DRSUAPI_ATTRIBUTE_objectClass: val = "DRSUAPI_ATTRIBUTE_objectClass"; break; - case DRSUAPI_ATTRIBUTE_cn: val = "DRSUAPI_ATTRIBUTE_cn"; break; - case DRSUAPI_ATTRIBUTE_description: val = "DRSUAPI_ATTRIBUTE_description"; break; - case DRSUAPI_ATTRIBUTE_member: val = "DRSUAPI_ATTRIBUTE_member"; break; - case DRSUAPI_ATTRIBUTE_instanceType: val = "DRSUAPI_ATTRIBUTE_instanceType"; break; - case DRSUAPI_ATTRIBUTE_whenCreated: val = "DRSUAPI_ATTRIBUTE_whenCreated"; break; - case DRSUAPI_ATTRIBUTE_possSuperiors: val = "DRSUAPI_ATTRIBUTE_possSuperiors"; break; - case DRSUAPI_ATTRIBUTE_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break; - case DRSUAPI_ATTRIBUTE_subClassOf: val = "DRSUAPI_ATTRIBUTE_subClassOf"; break; - case DRSUAPI_ATTRIBUTE_governsID: val = "DRSUAPI_ATTRIBUTE_governsID"; break; - case DRSUAPI_ATTRIBUTE_mustContain: val = "DRSUAPI_ATTRIBUTE_mustContain"; break; - case DRSUAPI_ATTRIBUTE_mayContain: val = "DRSUAPI_ATTRIBUTE_mayContain"; break; - case DRSUAPI_ATTRIBUTE_rDNAttId: val = "DRSUAPI_ATTRIBUTE_rDNAttId"; break; - case DRSUAPI_ATTRIBUTE_attributeID: val = "DRSUAPI_ATTRIBUTE_attributeID"; break; - case DRSUAPI_ATTRIBUTE_attributeSyntax: val = "DRSUAPI_ATTRIBUTE_attributeSyntax"; break; - case DRSUAPI_ATTRIBUTE_isSingleValued: val = "DRSUAPI_ATTRIBUTE_isSingleValued"; break; - case DRSUAPI_ATTRIBUTE_rangeLower: val = "DRSUAPI_ATTRIBUTE_rangeLower"; break; - case DRSUAPI_ATTRIBUTE_rangeUpper: val = "DRSUAPI_ATTRIBUTE_rangeUpper"; break; - case DRSUAPI_ATTRIBUTE_dMDLocation: val = "DRSUAPI_ATTRIBUTE_dMDLocation"; break; - case DRSUAPI_ATTRIBUTE_objectVersion: val = "DRSUAPI_ATTRIBUTE_objectVersion"; break; - case DRSUAPI_ATTRIBUTE_invocationId: val = "DRSUAPI_ATTRIBUTE_invocationId"; break; - case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: val = "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break; - case DRSUAPI_ATTRIBUTE_adminDisplayName: val = "DRSUAPI_ATTRIBUTE_adminDisplayName"; break; - case DRSUAPI_ATTRIBUTE_adminDescription: val = "DRSUAPI_ATTRIBUTE_adminDescription"; break; - case DRSUAPI_ATTRIBUTE_oMSyntax: val = "DRSUAPI_ATTRIBUTE_oMSyntax"; break; - case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor: val = "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break; - case DRSUAPI_ATTRIBUTE_searchFlags: val = "DRSUAPI_ATTRIBUTE_searchFlags"; break; - case DRSUAPI_ATTRIBUTE_auxiliaryClass: val = "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break; - case DRSUAPI_ATTRIBUTE_lDAPDisplayName: val = "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break; - case DRSUAPI_ATTRIBUTE_name: val = "DRSUAPI_ATTRIBUTE_name"; break; - case DRSUAPI_ATTRIBUTE_userAccountControl: val = "DRSUAPI_ATTRIBUTE_userAccountControl"; break; - case DRSUAPI_ATTRIBUTE_currentValue: val = "DRSUAPI_ATTRIBUTE_currentValue"; break; - case DRSUAPI_ATTRIBUTE_homeDirectory: val = "DRSUAPI_ATTRIBUTE_homeDirectory"; break; - case DRSUAPI_ATTRIBUTE_homeDrive: val = "DRSUAPI_ATTRIBUTE_homeDrive"; break; - case DRSUAPI_ATTRIBUTE_scriptPath: val = "DRSUAPI_ATTRIBUTE_scriptPath"; break; - case DRSUAPI_ATTRIBUTE_profilePath: val = "DRSUAPI_ATTRIBUTE_profilePath"; break; - case DRSUAPI_ATTRIBUTE_objectSid: val = "DRSUAPI_ATTRIBUTE_objectSid"; break; - case DRSUAPI_ATTRIBUTE_schemaIDGUID: val = "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break; - case DRSUAPI_ATTRIBUTE_dBCSPwd: val = "DRSUAPI_ATTRIBUTE_dBCSPwd"; break; - case DRSUAPI_ATTRIBUTE_logonHours: val = "DRSUAPI_ATTRIBUTE_logonHours"; break; - case DRSUAPI_ATTRIBUTE_userWorkstations: val = "DRSUAPI_ATTRIBUTE_userWorkstations"; break; - case DRSUAPI_ATTRIBUTE_unicodePwd: val = "DRSUAPI_ATTRIBUTE_unicodePwd"; break; - case DRSUAPI_ATTRIBUTE_ntPwdHistory: val = "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break; - case DRSUAPI_ATTRIBUTE_priorValue: val = "DRSUAPI_ATTRIBUTE_priorValue"; break; - case DRSUAPI_ATTRIBUTE_supplementalCredentials: val = "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break; - case DRSUAPI_ATTRIBUTE_trustAuthIncoming: val = "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break; - case DRSUAPI_ATTRIBUTE_trustAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break; - case DRSUAPI_ATTRIBUTE_lmPwdHistory: val = "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break; - case DRSUAPI_ATTRIBUTE_systemPossSuperiors: val = "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break; - case DRSUAPI_ATTRIBUTE_systemMayContain: val = "DRSUAPI_ATTRIBUTE_systemMayContain"; break; - case DRSUAPI_ATTRIBUTE_systemMustContain: val = "DRSUAPI_ATTRIBUTE_systemMustContain"; break; - case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass: val = "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break; - case DRSUAPI_ATTRIBUTE_sAMAccountName: val = "DRSUAPI_ATTRIBUTE_sAMAccountName"; break; - case DRSUAPI_ATTRIBUTE_sAMAccountType: val = "DRSUAPI_ATTRIBUTE_sAMAccountType"; break; - case DRSUAPI_ATTRIBUTE_options: val = "DRSUAPI_ATTRIBUTE_options"; break; - case DRSUAPI_ATTRIBUTE_fSMORoleOwner: val = "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break; - case DRSUAPI_ATTRIBUTE_systemFlags: val = "DRSUAPI_ATTRIBUTE_systemFlags"; break; - case DRSUAPI_ATTRIBUTE_serverReference: val = "DRSUAPI_ATTRIBUTE_serverReference"; break; - case DRSUAPI_ATTRIBUTE_serverReferenceBL: val = "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break; - case DRSUAPI_ATTRIBUTE_initialAuthIncoming: val = "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break; - case DRSUAPI_ATTRIBUTE_initialAuthOutgoing: val = "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break; - case DRSUAPI_ATTRIBUTE_wellKnownObjects: val = "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break; - case DRSUAPI_ATTRIBUTE_dNSHostName: val = "DRSUAPI_ATTRIBUTE_dNSHostName"; break; - case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: val = "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break; - case DRSUAPI_ATTRIBUTE_userPrincipalName: val = "DRSUAPI_ATTRIBUTE_userPrincipalName"; break; - case DRSUAPI_ATTRIBUTE_groupType: val = "DRSUAPI_ATTRIBUTE_groupType"; break; - case DRSUAPI_ATTRIBUTE_servicePrincipalName: val = "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break; - case DRSUAPI_ATTRIBUTE_objectCategory: val = "DRSUAPI_ATTRIBUTE_objectCategory"; break; - case DRSUAPI_ATTRIBUTE_gPLink: val = "DRSUAPI_ATTRIBUTE_gPLink"; break; - case DRSUAPI_ATTRIBUTE_transportAddressAttribute: val = "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break; - case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version: val = "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break; - case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber: val = "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break; - case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs: val = "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break; - case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs: val = "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break; - case DRSUAPI_ATTRIBUTE_NONE: val = "DRSUAPI_ATTRIBUTE_NONE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); - ndr->flags = _flags_save_ENUM; - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsPartialAttributeSet *r) -{ - uint32_t cntr_attids_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attids)); - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attids)); - for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) { - NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attids[cntr_attids_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsPartialAttributeSet *r) -{ - uint32_t cntr_attids_0; - TALLOC_CTX *_mem_save_attids_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->attids)); - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attids)); - if (r->num_attids < 1 || r->num_attids > 0x100000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->attids, ndr_get_array_size(ndr, &r->attids)); - _mem_save_attids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attids, 0); - for (cntr_attids_0 = 0; cntr_attids_0 < r->num_attids; cntr_attids_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attids[cntr_attids_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attids_0, 0); - if (r->attids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attids, r->num_attids)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r) -{ - uint32_t cntr_attids_0; - ndr_print_struct(ndr, name, "drsuapi_DsPartialAttributeSet"); - ndr->depth++; - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version); - ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); - ndr_print_uint32(ndr, "num_attids", r->num_attids); - ndr->print(ndr, "%s: ARRAY(%d)", "attids", (int)r->num_attids); - ndr->depth++; - for (cntr_attids_0=0;cntr_attids_0num_attids;cntr_attids_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_attids_0) != -1) { - ndr_print_drsuapi_DsAttributeId(ndr, "attids", r->attids[cntr_attids_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size)); - NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->uptodateness_vector) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - } - if (r->partial_attribute_set) { - NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set)); - } - if (r->partial_attribute_set_ex) { - NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest8 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_uptodateness_vector; - TALLOC_CTX *_mem_save_uptodateness_vector_0; - uint32_t _ptr_partial_attribute_set; - TALLOC_CTX *_mem_save_partial_attribute_set_0; - uint32_t _ptr_partial_attribute_set_ex; - TALLOC_CTX *_mem_save_partial_attribute_set_ex_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector)); - if (_ptr_uptodateness_vector) { - NDR_PULL_ALLOC(ndr, r->uptodateness_vector); - } else { - r->uptodateness_vector = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size)); - NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set)); - if (_ptr_partial_attribute_set) { - NDR_PULL_ALLOC(ndr, r->partial_attribute_set); - } else { - r->partial_attribute_set = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex)); - if (_ptr_partial_attribute_set_ex) { - NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex); - } else { - r->partial_attribute_set_ex = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->uptodateness_vector) { - _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0); - } - if (r->partial_attribute_set) { - _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0); - NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0); - } - if (r->partial_attribute_set_ex) { - _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0); - NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest8"); - ndr->depth++; - ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); - ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector); - ndr->depth++; - if (r->uptodateness_vector) { - ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector); - } - ndr->depth--; - ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags); - ndr_print_uint32(ndr, "max_object_count", r->max_object_count); - ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size); - ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op); - ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info); - ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set); - ndr->depth++; - if (r->partial_attribute_set) { - ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set); - } - ndr->depth--; - ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex); - ndr->depth++; - if (r->partial_attribute_set_ex) { - ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesRequest10 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_object_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_ndr_size)); - NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, r->extended_op)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->fsmo_info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->partial_attribute_set_ex)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->uptodateness_vector) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - } - if (r->partial_attribute_set) { - NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set)); - } - if (r->partial_attribute_set_ex) { - NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesRequest10 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_uptodateness_vector; - TALLOC_CTX *_mem_save_uptodateness_vector_0; - uint32_t _ptr_partial_attribute_set; - TALLOC_CTX *_mem_save_partial_attribute_set_0; - uint32_t _ptr_partial_attribute_set_ex; - TALLOC_CTX *_mem_save_partial_attribute_set_ex_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->destination_dsa_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->highwatermark)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector)); - if (_ptr_uptodateness_vector) { - NDR_PULL_ALLOC(ndr, r->uptodateness_vector); - } else { - r->uptodateness_vector = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_object_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_ndr_size)); - NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr, NDR_SCALARS, &r->extended_op)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->fsmo_info)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set)); - if (_ptr_partial_attribute_set) { - NDR_PULL_ALLOC(ndr, r->partial_attribute_set); - } else { - r->partial_attribute_set = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_partial_attribute_set_ex)); - if (_ptr_partial_attribute_set_ex) { - NDR_PULL_ALLOC(ndr, r->partial_attribute_set_ex); - } else { - r->partial_attribute_set_ex = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->uptodateness_vector) { - _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0); - } - if (r->partial_attribute_set) { - _mem_save_partial_attribute_set_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set, 0); - NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_0, 0); - } - if (r->partial_attribute_set_ex) { - _mem_save_partial_attribute_set_ex_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->partial_attribute_set_ex, 0); - NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr, NDR_SCALARS, r->partial_attribute_set_ex)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_partial_attribute_set_ex_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesRequest10"); - ndr->depth++; - ndr_print_GUID(ndr, "destination_dsa_guid", &r->destination_dsa_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "highwatermark", &r->highwatermark); - ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector); - ndr->depth++; - if (r->uptodateness_vector) { - ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector); - } - ndr->depth--; - ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags); - ndr_print_uint32(ndr, "max_object_count", r->max_object_count); - ndr_print_uint32(ndr, "max_ndr_size", r->max_ndr_size); - ndr_print_drsuapi_DsExtendedOperation(ndr, "extended_op", r->extended_op); - ndr_print_hyper(ndr, "fsmo_info", r->fsmo_info); - ndr_print_ptr(ndr, "partial_attribute_set", r->partial_attribute_set); - ndr->depth++; - if (r->partial_attribute_set) { - ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set", r->partial_attribute_set); - } - ndr->depth--; - ndr_print_ptr(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex); - ndr->depth++; - if (r->partial_attribute_set_ex) { - ndr_print_drsuapi_DsPartialAttributeSet(ndr, "partial_attribute_set_ex", r->partial_attribute_set_ex); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr); - ndr_print_uint32(ndr, "more_flags", r->more_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 5: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5)); - break; } - - case 8: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8)); - break; } - - case 10: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 5: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5)); - break; - - case 8: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8)); - break; - - case 10: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 5: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_SCALARS, &r->req5)); - break; } - - case 8: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_SCALARS, &r->req8)); - break; } - - case 10: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_SCALARS, &r->req10)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 5: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr, NDR_BUFFERS, &r->req5)); - break; - - case 8: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr, NDR_BUFFERS, &r->req8)); - break; - - case 10: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr, NDR_BUFFERS, &r->req10)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesRequest"); - switch (level) { - case 5: - ndr_print_drsuapi_DsGetNCChangesRequest5(ndr, "req5", &r->req5); - break; - - case 8: - ndr_print_drsuapi_DsGetNCChangesRequest8(ndr, "req8", &r->req8); - break; - - case 10: - ndr_print_drsuapi_DsGetNCChangesRequest10(ndr, "req10", &r->req10); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2"); - ndr->depth++; - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_hyper(ndr, "highest_usn", r->highest_usn); - ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2CtrEx *r) -{ - uint32_t cntr_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2CtrEx *r) -{ - uint32_t cntr_cursors_0; - TALLOC_CTX *_mem_save_cursors_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->cursors)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 0x100000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2)); - NDR_PULL_ALLOC_N(ndr, r->cursors, ndr_get_array_size(ndr, &r->cursors)); - _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); - for (cntr_cursors_0 = 0; cntr_cursors_0 < r->count; cntr_cursors_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->cursors[cntr_cursors_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); - if (r->cursors) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cursors, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r) -{ - uint32_t cntr_cursors_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2CtrEx"); - ndr->depth++; - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version); - ndr_print_uint32(ndr, "reserved1", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved1); - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->reserved2); - ndr->print(ndr, "%s: ARRAY(%d)", "cursors", (int)r->count); - ndr->depth++; - for (cntr_cursors_0=0;cntr_cursors_0count;cntr_cursors_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_cursors_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor2(ndr, "cursors", &r->cursors[cntr_cursors_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAttributeValue(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValue *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->blob, 0))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->blob)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->blob) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->blob)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValue *r) -{ - uint32_t _ptr_blob; - TALLOC_CTX *_mem_save_blob_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - if (r->__ndr_size > 10485760) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_blob)); - if (_ptr_blob) { - NDR_PULL_ALLOC(ndr, r->blob); - } else { - r->blob = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->blob) { - _mem_save_blob_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->blob, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->blob)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_blob_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAttributeValue"); - ndr->depth++; - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->blob, 0):r->__ndr_size); - ndr_print_ptr(ndr, "blob", r->blob); - ndr->depth++; - if (r->blob) { - ndr_print_DATA_BLOB(ndr, "blob", *r->blob); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAttributeValueCtr *r) -{ - uint32_t cntr_values_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_values)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->values)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->values) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_values)); - for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAttributeValueCtr *r) -{ - uint32_t _ptr_values; - uint32_t cntr_values_1; - TALLOC_CTX *_mem_save_values_0; - TALLOC_CTX *_mem_save_values_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_values)); - if (r->num_values > 10485760) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_values)); - if (_ptr_values) { - NDR_PULL_ALLOC(ndr, r->values); - } else { - r->values = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->values) { - _mem_save_values_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->values, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->values)); - NDR_PULL_ALLOC_N(ndr, r->values, ndr_get_array_size(ndr, &r->values)); - _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->values, 0); - for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < r->num_values; cntr_values_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->values[cntr_values_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_0, 0); - } - if (r->values) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->values, r->num_values)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r) -{ - uint32_t cntr_values_1; - ndr_print_struct(ndr, name, "drsuapi_DsAttributeValueCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "num_values", r->num_values); - ndr_print_ptr(ndr, "values", r->values); - ndr->depth++; - if (r->values) { - ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->num_values); - ndr->depth++; - for (cntr_values_1=0;cntr_values_1num_values;cntr_values_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) { - ndr_print_drsuapi_DsAttributeValue(ndr, "values", &r->values[cntr_values_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags))); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3"); - ndr->depth++; - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size); - ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid); - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_dom_sid28(ndr, "sid", &r->sid); - ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn); - ndr_print_string(ndr, "dn", r->dn); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid28(&r->sid, ndr->flags))); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->dn))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dn, strlen_m(r->dn) + 1, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->binary.length + 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_sid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_dn)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dn, r->__ndr_size_dn + 1, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier3Binary"); - ndr->depth++; - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags):r->__ndr_size); - ndr_print_uint32(ndr, "__ndr_size_sid", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid28(&r->sid, ndr->flags):r->__ndr_size_sid); - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_dom_sid28(ndr, "sid", &r->sid); - ndr_print_uint32(ndr, "__ndr_size_dn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->dn):r->__ndr_size_dn); - ndr_print_string(ndr, "dn", r->dn); - ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->binary.length + 4:r->__ndr_size_binary); - ndr_print_DATA_BLOB(ndr, "binary", r->binary); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid)); - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_SCALARS, &r->value_ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr, NDR_BUFFERS, &r->value_ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttribute"); - ndr->depth++; - ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid); - ndr_print_drsuapi_DsAttributeValueCtr(ndr, "value_ctr", &r->value_ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttributeCtr *r) -{ - uint32_t cntr_attributes_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_attributes)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attributes) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_attributes)); - for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1])); - } - for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttributeCtr *r) -{ - uint32_t _ptr_attributes; - uint32_t cntr_attributes_1; - TALLOC_CTX *_mem_save_attributes_0; - TALLOC_CTX *_mem_save_attributes_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_attributes)); - if (r->num_attributes > 1048576) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes)); - if (_ptr_attributes) { - NDR_PULL_ALLOC(ndr, r->attributes); - } else { - r->attributes = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attributes) { - _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes)); - NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes)); - _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0); - for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1])); - } - for (cntr_attributes_1 = 0; cntr_attributes_1 < r->num_attributes; cntr_attributes_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr, NDR_BUFFERS, &r->attributes[cntr_attributes_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0); - } - if (r->attributes) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->num_attributes)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r) -{ - uint32_t cntr_attributes_1; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttributeCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "num_attributes", r->num_attributes); - ndr_print_ptr(ndr, "attributes", r->attributes); - ndr->depth++; - if (r->attributes) { - ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->num_attributes); - ndr->depth++; - for (cntr_attributes_1=0;cntr_attributes_1num_attributes;cntr_attributes_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_attributes_1) != -1) { - ndr_print_drsuapi_DsReplicaAttribute(ndr, "attributes", &r->attributes[cntr_attributes_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->identifier) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r) -{ - uint32_t _ptr_identifier; - TALLOC_CTX *_mem_save_identifier_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier)); - if (_ptr_identifier) { - NDR_PULL_ALLOC(ndr, r->identifier); - } else { - r->identifier = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_SCALARS, &r->attribute_ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->identifier) { - _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr, NDR_BUFFERS, &r->attribute_ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObject"); - ndr->depth++; - ndr_print_ptr(ndr, "identifier", r->identifier); - ndr->depth++; - if (r->identifier) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaObjectFlags(ndr, "flags", r->flags); - ndr_print_drsuapi_DsReplicaAttributeCtr(ndr, "attribute_ctr", &r->attribute_ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaData *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_change_time)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaData *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_change_time)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaData"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_NTTIME_1sec(ndr, "originating_change_time", r->originating_change_time); - ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); - ndr_print_hyper(ndr, "originating_usn", r->originating_usn); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r) -{ - uint32_t cntr_meta_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r) -{ - uint32_t cntr_meta_data_0; - TALLOC_CTX *_mem_save_meta_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->meta_data)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1048576) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->meta_data, ndr_get_array_size(ndr, &r->meta_data)); - _mem_save_meta_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->meta_data, 0); - for (cntr_meta_data_0 = 0; cntr_meta_data_0 < r->count; cntr_meta_data_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data[cntr_meta_data_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_0, 0); - if (r->meta_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->meta_data, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r) -{ - uint32_t cntr_meta_data_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaMetaDataCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "meta_data", (int)r->count); - ndr->depth++; - for (cntr_meta_data_0=0;cntr_meta_data_0count;cntr_meta_data_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_meta_data_0) != -1) { - ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data[cntr_meta_data_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_nc_prefix)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->parent_object_guid)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->meta_data_ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next_object) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object)); - if (r->parent_object_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->parent_object_guid)); - } - if (r->meta_data_ctr) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r) -{ - uint32_t _ptr_next_object; - TALLOC_CTX *_mem_save_next_object_0; - uint32_t _ptr_parent_object_guid; - TALLOC_CTX *_mem_save_parent_object_guid_0; - uint32_t _ptr_meta_data_ctr; - TALLOC_CTX *_mem_save_meta_data_ctr_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object)); - if (_ptr_next_object) { - NDR_PULL_ALLOC(ndr, r->next_object); - } else { - r->next_object = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_nc_prefix)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parent_object_guid)); - if (_ptr_parent_object_guid) { - NDR_PULL_ALLOC(ndr, r->parent_object_guid); - } else { - r->parent_object_guid = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_meta_data_ctr)); - if (_ptr_meta_data_ctr) { - NDR_PULL_ALLOC(ndr, r->meta_data_ctr); - } else { - r->meta_data_ctr = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next_object) { - _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object)); - if (r->parent_object_guid) { - _mem_save_parent_object_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parent_object_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->parent_object_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_object_guid_0, 0); - } - if (r->meta_data_ctr) { - _mem_save_meta_data_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->meta_data_ctr, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr, NDR_SCALARS, r->meta_data_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_meta_data_ctr_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->naming_context) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - } - if (r->uptodateness_vector) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - if (r->first_object) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_uptodateness_vector; - TALLOC_CTX *_mem_save_uptodateness_vector_0; - uint32_t _ptr_first_object; - TALLOC_CTX *_mem_save_first_object_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector)); - if (_ptr_uptodateness_vector) { - NDR_PULL_ALLOC(ndr, r->uptodateness_vector); - } else { - r->uptodateness_vector = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object)); - if (_ptr_first_object) { - NDR_PULL_ALLOC(ndr, r->first_object); - } else { - r->first_object = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->naming_context) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - } - if (r->uptodateness_vector) { - _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - if (r->first_object) { - _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1"); - ndr->depth++; - ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - if (r->naming_context) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark); - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark); - ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector); - ndr->depth++; - if (r->uptodateness_vector) { - ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "uptodateness_vector", r->uptodateness_vector); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr); - ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret); - ndr_print_uint32(ndr, "object_count", r->object_count); - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr1(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size); - ndr_print_ptr(ndr, "first_object", r->first_object); - ndr->depth++; - if (r->first_object) { - ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object); - } - ndr->depth--; - ndr_print_uint32(ndr, "more_data", r->more_data); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->identifier)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value)); - NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->originating_add_time)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->identifier) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier)); - } - NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r) -{ - uint32_t _ptr_identifier; - TALLOC_CTX *_mem_save_identifier_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_identifier)); - if (_ptr_identifier) { - NDR_PULL_ALLOC(ndr, r->identifier); - } else { - r->identifier = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid)); - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->value)); - NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->originating_add_time)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr, NDR_SCALARS, &r->meta_data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->identifier) { - _mem_save_identifier_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->identifier, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->identifier)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_identifier_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->value)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaLinkedAttribute"); - ndr->depth++; - ndr_print_ptr(ndr, "identifier", r->identifier); - ndr->depth++; - if (r->identifier) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "identifier", r->identifier); - } - ndr->depth--; - ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid); - ndr_print_drsuapi_DsAttributeValue(ndr, "value", &r->value); - ndr_print_drsuapi_DsLinkedAttributeFlags(ndr, "flags", r->flags); - ndr_print_NTTIME_1sec(ndr, "originating_add_time", r->originating_add_time); - ndr_print_drsuapi_DsReplicaMetaData(ndr, "meta_data", &r->meta_data); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r) -{ - uint32_t cntr_linked_attributes_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->uptodateness_vector)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr, NDR_SCALARS, r->extended_ret)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->first_object)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->more_data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_object_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nc_linked_attributes_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linked_attributes_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->linked_attributes)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->drs_error)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->naming_context) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - } - if (r->uptodateness_vector) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - if (r->first_object) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object)); - } - if (r->linked_attributes) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->linked_attributes_count)); - for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1])); - } - for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_uptodateness_vector; - TALLOC_CTX *_mem_save_uptodateness_vector_0; - uint32_t _ptr_first_object; - TALLOC_CTX *_mem_save_first_object_0; - uint32_t _ptr_linked_attributes; - uint32_t cntr_linked_attributes_1; - TALLOC_CTX *_mem_save_linked_attributes_0; - TALLOC_CTX *_mem_save_linked_attributes_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->old_highwatermark)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr, NDR_SCALARS, &r->new_highwatermark)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uptodateness_vector)); - if (_ptr_uptodateness_vector) { - NDR_PULL_ALLOC(ndr, r->uptodateness_vector); - } else { - r->uptodateness_vector = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_SCALARS, &r->mapping_ctr)); - NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr, NDR_SCALARS, &r->extended_ret)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_first_object)); - if (_ptr_first_object) { - NDR_PULL_ALLOC(ndr, r->first_object); - } else { - r->first_object = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->more_data)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_object_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nc_linked_attributes_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linked_attributes_count)); - if (r->linked_attributes_count > 1048576) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linked_attributes)); - if (_ptr_linked_attributes) { - NDR_PULL_ALLOC(ndr, r->linked_attributes); - } else { - r->linked_attributes = NULL; - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->drs_error)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->naming_context) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - } - if (r->uptodateness_vector) { - _mem_save_uptodateness_vector_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->uptodateness_vector, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr, NDR_SCALARS, r->uptodateness_vector)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uptodateness_vector_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr, NDR_BUFFERS, &r->mapping_ctr)); - if (r->first_object) { - _mem_save_first_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->first_object, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->first_object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_first_object_0, 0); - } - if (r->linked_attributes) { - _mem_save_linked_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->linked_attributes)); - NDR_PULL_ALLOC_N(ndr, r->linked_attributes, ndr_get_array_size(ndr, &r->linked_attributes)); - _mem_save_linked_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->linked_attributes, 0); - for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_SCALARS, &r->linked_attributes[cntr_linked_attributes_1])); - } - for (cntr_linked_attributes_1 = 0; cntr_linked_attributes_1 < r->linked_attributes_count; cntr_linked_attributes_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr, NDR_BUFFERS, &r->linked_attributes[cntr_linked_attributes_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linked_attributes_0, 0); - } - if (r->linked_attributes) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->linked_attributes, r->linked_attributes_count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r) -{ - uint32_t cntr_linked_attributes_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6"); - ndr->depth++; - ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - if (r->naming_context) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "old_highwatermark", &r->old_highwatermark); - ndr_print_drsuapi_DsReplicaHighWaterMark(ndr, "new_highwatermark", &r->new_highwatermark); - ndr_print_ptr(ndr, "uptodateness_vector", r->uptodateness_vector); - ndr->depth++; - if (r->uptodateness_vector) { - ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr, "uptodateness_vector", r->uptodateness_vector); - } - ndr->depth--; - ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr, "mapping_ctr", &r->mapping_ctr); - ndr_print_drsuapi_DsExtendedError(ndr, "extended_ret", r->extended_ret); - ndr_print_uint32(ndr, "object_count", r->object_count); - ndr_print_uint32(ndr, "__ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_drsuapi_DsGetNCChangesCtr6(r, ndr->iconv_convenience, ndr->flags) + 55:r->__ndr_size); - ndr_print_ptr(ndr, "first_object", r->first_object); - ndr->depth++; - if (r->first_object) { - ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr, "first_object", r->first_object); - } - ndr->depth--; - ndr_print_uint32(ndr, "more_data", r->more_data); - ndr_print_uint32(ndr, "nc_object_count", r->nc_object_count); - ndr_print_uint32(ndr, "nc_linked_attributes_count", r->nc_linked_attributes_count); - ndr_print_uint32(ndr, "linked_attributes_count", r->linked_attributes_count); - ndr_print_ptr(ndr, "linked_attributes", r->linked_attributes); - ndr->depth++; - if (r->linked_attributes) { - ndr->print(ndr, "%s: ARRAY(%d)", "linked_attributes", (int)r->linked_attributes_count); - ndr->depth++; - for (cntr_linked_attributes_1=0;cntr_linked_attributes_1linked_attributes_count;cntr_linked_attributes_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_linked_attributes_1) != -1) { - ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr, "linked_attributes", &r->linked_attributes[cntr_linked_attributes_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_WERROR(ndr, "drs_error", r->drs_error); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsGetNCChangesCtr6, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - { - struct ndr_push *_ndr_ctr1; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1)); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - { - struct ndr_pull *_ndr_ctr1; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr1, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1, NDR_SCALARS|NDR_BUFFERS, &r->ctr1)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr1, 0xFFFFFC01, -1)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr1TS"); - ndr->depth++; - ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - { - struct ndr_push *_ndr_ctr6; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1)); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - { - struct ndr_pull *_ndr_ctr6; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr6, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6, NDR_SCALARS|NDR_BUFFERS, &r->ctr6)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr6, 0xFFFFFC01, -1)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr6TS"); - ndr->depth++; - ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6); - ndr->depth--; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr1 *r) -{ - uint32_t _ptr_ts; - TALLOC_CTX *_mem_save_ts_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts)); - if (_ptr_ts) { - NDR_PULL_ALLOC(ndr, r->ts); - } else { - r->ts = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->ts) { - _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0); - { - struct ndr_pull *_ndr_ts; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length)); - { - struct ndr_pull *_ndr_ts_compressed; - NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts)); - NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length)); - } - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length); - ndr_print_uint32(ndr, "compressed_length", r->compressed_length); - ndr_print_ptr(ndr, "ts", r->ts); - ndr->depth++; - if (r->ts) { - ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesMSZIPCtr6 *r) -{ - uint32_t _ptr_ts; - TALLOC_CTX *_mem_save_ts_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts)); - if (_ptr_ts) { - NDR_PULL_ALLOC(ndr, r->ts); - } else { - r->ts = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->ts) { - _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0); - { - struct ndr_pull *_ndr_ts; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length)); - { - struct ndr_pull *_ndr_ts_compressed; - NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts)); - NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, r->decompressed_length)); - } - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesMSZIPCtr6"); - ndr->depth++; - ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length); - ndr_print_uint32(ndr, "compressed_length", r->compressed_length); - ndr_print_ptr(ndr, "ts", r->ts); - ndr->depth++; - if (r->ts) { - ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr1 *r) -{ - uint32_t _ptr_ts; - TALLOC_CTX *_mem_save_ts_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts)); - if (_ptr_ts) { - NDR_PULL_ALLOC(ndr, r->ts); - } else { - r->ts = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->ts) { - _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0); - { - struct ndr_pull *_ndr_ts; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length)); - { - struct ndr_pull *_ndr_ts_compressed; - NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts)); - NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length)); - } - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length); - ndr_print_uint32(ndr, "compressed_length", r->compressed_length); - ndr_print_ptr(ndr, "ts", r->ts); - ndr->depth++; - if (r->ts) { - ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr, "ts", r->ts); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesXPRESSCtr6 *r) -{ - uint32_t _ptr_ts; - TALLOC_CTX *_mem_save_ts_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->decompressed_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->compressed_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ts)); - if (_ptr_ts) { - NDR_PULL_ALLOC(ndr, r->ts); - } else { - r->ts = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->ts) { - _mem_save_ts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ts, 0); - { - struct ndr_pull *_ndr_ts; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ts, 4, r->compressed_length)); - { - struct ndr_pull *_ndr_ts_compressed; - NDR_CHECK(ndr_pull_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts)); - NDR_CHECK(ndr_pull_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_XPRESS, r->decompressed_length)); - } - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ts, 4, r->compressed_length)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ts_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesXPRESSCtr6"); - ndr->depth++; - ndr_print_uint32(ndr, "decompressed_length", r->decompressed_length); - ndr_print_uint32(ndr, "compressed_length", r->compressed_length); - ndr_print_ptr(ndr, "ts", r->ts); - ndr->depth++; - if (r->ts) { - ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr, "ts", r->ts); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsGetNCChangesCompressionType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_COMPRESSION_TYPE_MSZIP: val = "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break; - case DRSUAPI_COMPRESSION_TYPE_XPRESS: val = "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCompressedCtr *r) -{ - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1)); - break; } - - case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6)); - break; } - - case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1)); - break; } - - case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1)); - break; - - case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6)); - break; - - case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1)); - break; - - case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCompressedCtr *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1)); - break; } - - case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_SCALARS, &r->mszip6)); - break; } - - case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_SCALARS, &r->xpress1)); - break; } - - case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_SCALARS, &r->xpress6)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1)); - break; - - case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, NDR_BUFFERS, &r->mszip6)); - break; - - case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, NDR_BUFFERS, &r->xpress1)); - break; - - case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, NDR_BUFFERS, &r->xpress6)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCompressedCtr"); - switch (level) { - case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): - ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1); - break; - - case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16): - ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr, "mszip6", &r->mszip6); - break; - - case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): - ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr, "xpress1", &r->xpress1); - break; - - case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16): - ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr, "xpress6", &r->xpress6); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } - ndr->flags = _flags_save_UNION; - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_SCALARS, &r->mszip1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, NDR_BUFFERS, &r->mszip1)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr2"); - ndr->depth++; - ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr, "mszip1", &r->mszip1); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16))); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - if (r->level > 6) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr, NDR_SCALARS, &r->type)); - if (r->type < 2 || r->type > 3) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16))); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesCtr7"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr, "type", r->type); - ndr_print_set_switch_value(ndr, &r->ctr, r->level | (r->type << 16)); - ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNCChangesCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case 6: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case 2: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case 6: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6)); - break; - - case 7: - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNCChangesCtr *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_SCALARS, &r->ctr6)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_SCALARS, &r->ctr7)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case 2: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case 6: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr, NDR_BUFFERS, &r->ctr6)); - break; - - case 7: - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr, NDR_BUFFERS, &r->ctr7)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetNCChangesCtr"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetNCChangesCtr1(ndr, "ctr1", &r->ctr1); - break; - - case 2: - ndr_print_drsuapi_DsGetNCChangesCtr2(ndr, "ctr2", &r->ctr2); - break; - - case 6: - ndr_print_drsuapi_DsGetNCChangesCtr6(ndr, "ctr6", &r->ctr6); - break; - - case 7: - ndr_print_drsuapi_DsGetNCChangesCtr7(ndr, "ctr7", &r->ctr7); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - if (r->dest_dsa_dns_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dest_dsa_dns_name, ndr_charset_length(r->dest_dsa_dns_name, CH_DOS), sizeof(uint8_t), CH_DOS)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaUpdateRefsRequest1 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_dest_dsa_dns_name; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_dest_dsa_dns_name)); - if (_ptr_dest_dsa_dns_name) { - NDR_PULL_ALLOC(ndr, r->dest_dsa_dns_name); - } else { - r->dest_dsa_dns_name = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dest_dsa_dns_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dest_dsa_dns_name)); - if (ndr_get_array_length(ndr, &r->dest_dsa_dns_name) > ndr_get_array_size(ndr, &r->dest_dsa_dns_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dest_dsa_dns_name), ndr_get_array_length(ndr, &r->dest_dsa_dns_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dest_dsa_dns_name, ndr_get_array_length(ndr, &r->dest_dsa_dns_name), sizeof(uint8_t), CH_DOS)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefsRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_ptr(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name); - ndr->depth++; - ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name); - ndr->depth--; - ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid); - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaUpdateRefsRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaUpdateRefsRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaUpdateRefsRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->source_dsa_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest1 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_source_dsa_address; - TALLOC_CTX *_mem_save_source_dsa_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address)); - if (_ptr_source_dsa_address) { - NDR_PULL_ALLOC(ndr, r->source_dsa_address); - } else { - r->source_dsa_address = NULL; - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->source_dsa_address) { - _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address)); - if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address); - ndr->depth++; - if (r->source_dsa_address) { - ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address); - } - ndr->depth--; - ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->source_dsa_dn) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn)); - } - if (r->transport_dn) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn)); - } - if (r->source_dsa_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAddRequest2 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_source_dsa_dn; - TALLOC_CTX *_mem_save_source_dsa_dn_0; - uint32_t _ptr_transport_dn; - TALLOC_CTX *_mem_save_transport_dn_0; - uint32_t _ptr_source_dsa_address; - TALLOC_CTX *_mem_save_source_dsa_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dn)); - if (_ptr_source_dsa_dn) { - NDR_PULL_ALLOC(ndr, r->source_dsa_dn); - } else { - r->source_dsa_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_dn)); - if (_ptr_transport_dn) { - NDR_PULL_ALLOC(ndr, r->transport_dn); - } else { - r->transport_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address)); - if (_ptr_source_dsa_address) { - NDR_PULL_ALLOC(ndr, r->source_dsa_address); - } else { - r->source_dsa_address = NULL; - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->source_dsa_dn) { - _mem_save_source_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dn, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->source_dsa_dn)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dn_0, 0); - } - if (r->transport_dn) { - _mem_save_transport_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->transport_dn, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->transport_dn)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_dn_0, 0); - } - if (r->source_dsa_address) { - _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address)); - if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAddRequest2"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_ptr(ndr, "source_dsa_dn", r->source_dsa_dn); - ndr->depth++; - if (r->source_dsa_dn) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "source_dsa_dn", r->source_dsa_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "transport_dn", r->transport_dn); - ndr->depth++; - if (r->transport_dn) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "transport_dn", r->transport_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address); - ndr->depth++; - if (r->source_dsa_address) { - ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address); - } - ndr->depth--; - ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaAddRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - case 2: - NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaAddRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_SCALARS, &r->req2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - case 2: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr, NDR_BUFFERS, &r->req2)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaAddRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsReplicaAddRequest1(ndr, "req1", &r->req1); - break; - - case 2: - ndr_print_drsuapi_DsReplicaAddRequest2(ndr, "req2", &r->req2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->source_dsa_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaDelRequest1 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_source_dsa_address; - TALLOC_CTX *_mem_save_source_dsa_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address)); - if (_ptr_source_dsa_address) { - NDR_PULL_ALLOC(ndr, r->source_dsa_address); - } else { - r->source_dsa_address = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->source_dsa_address) { - _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address)); - if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaDelRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address); - ndr->depth++; - if (r->source_dsa_address) { - ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address); - } - ndr->depth--; - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaDelRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaDelRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaDelRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsReplicaDelRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - if (r->naming_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_ref_ptr(ndr)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dra)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dra_address)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - if (r->source_dra_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dra_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dra_address, ndr_charset_length(r->source_dra_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaModRequest1 *r) -{ - uint32_t _ptr_naming_context; - TALLOC_CTX *_mem_save_naming_context_0; - uint32_t _ptr_source_dra_address; - TALLOC_CTX *_mem_save_source_dra_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context)); - if (_ptr_naming_context) { - NDR_PULL_ALLOC(ndr, r->naming_context); - } else { - r->naming_context = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dra)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dra_address)); - if (_ptr_source_dra_address) { - NDR_PULL_ALLOC(ndr, r->source_dra_address); - } else { - r->source_dra_address = NULL; - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0); - if (r->source_dra_address) { - _mem_save_source_dra_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dra_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dra_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dra_address)); - if (ndr_get_array_length(ndr, &r->source_dra_address) > ndr_get_array_size(ndr, &r->source_dra_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dra_address), ndr_get_array_length(ndr, &r->source_dra_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dra_address, ndr_get_array_length(ndr, &r->source_dra_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dra_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaModRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context", r->naming_context); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context); - ndr->depth--; - ndr_print_GUID(ndr, "source_dra", &r->source_dra); - ndr_print_ptr(ndr, "source_dra_address", r->source_dra_address); - ndr->depth++; - if (r->source_dra_address) { - ndr_print_string(ndr, "source_dra_address", r->source_dra_address); - } - ndr->depth--; - ndr_print_array_uint8(ndr, "schedule", r->schedule, 84); - ndr_print_uint32(ndr, "replica_flags", r->replica_flags); - ndr_print_uint32(ndr, "modify_fields", r->modify_fields); - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaModRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaModRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaModRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsReplicaModRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsMembershipType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsMembershipType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsMembershipType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsMembershipType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break; - case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break; - case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break; - case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break; - case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break; - case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break; - case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2: val = "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsCtr1 *r) -{ - uint32_t cntr_info_array_1; - uint32_t cntr_group_attrs_1; - uint32_t cntr_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_memberships)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_attrs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info_array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships)); - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1])); - } - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) { - if (r->info_array[cntr_info_array_1]) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1])); - } - } - } - if (r->group_attrs) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_memberships)); - for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) { - NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->group_attrs[cntr_group_attrs_1])); - } - } - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - if (r->sids[cntr_sids_1]) { - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1])); - } - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsCtr1 *r) -{ - uint32_t _ptr_info_array; - uint32_t cntr_info_array_1; - TALLOC_CTX *_mem_save_info_array_0; - TALLOC_CTX *_mem_save_info_array_1; - TALLOC_CTX *_mem_save_info_array_2; - uint32_t _ptr_group_attrs; - uint32_t cntr_group_attrs_1; - TALLOC_CTX *_mem_save_group_attrs_0; - TALLOC_CTX *_mem_save_group_attrs_1; - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - TALLOC_CTX *_mem_save_sids_2; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_memberships)); - if (r->num_memberships > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids)); - if (r->num_sids > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array)); - if (_ptr_info_array) { - NDR_PULL_ALLOC(ndr, r->info_array); - } else { - r->info_array = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_attrs)); - if (_ptr_group_attrs) { - NDR_PULL_ALLOC(ndr, r->group_attrs); - } else { - r->group_attrs = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info_array) { - _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array)); - NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array)); - _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0); - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array)); - if (_ptr_info_array) { - NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]); - } else { - r->info_array[cntr_info_array_1] = NULL; - } - } - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->num_memberships; cntr_info_array_1++) { - if (r->info_array[cntr_info_array_1]) { - _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0); - } - if (r->group_attrs) { - _mem_save_group_attrs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->group_attrs)); - NDR_PULL_ALLOC_N(ndr, r->group_attrs, ndr_get_array_size(ndr, &r->group_attrs)); - _mem_save_group_attrs_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->group_attrs, 0); - for (cntr_group_attrs_1 = 0; cntr_group_attrs_1 < r->num_memberships; cntr_group_attrs_1++) { - NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->group_attrs[cntr_group_attrs_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_attrs_0, 0); - } - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_1]); - } else { - r->sids[cntr_sids_1] = NULL; - } - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - if (r->sids[cntr_sids_1]) { - _mem_save_sids_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_1], 0); - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS|NDR_BUFFERS, r->sids[cntr_sids_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - if (r->info_array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->num_memberships)); - } - if (r->group_attrs) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->group_attrs, r->num_memberships)); - } - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r) -{ - uint32_t cntr_info_array_1; - uint32_t cntr_group_attrs_1; - uint32_t cntr_sids_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsCtr1"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "status", r->status); - ndr_print_uint32(ndr, "num_memberships", r->num_memberships); - ndr_print_uint32(ndr, "num_sids", r->num_sids); - ndr_print_ptr(ndr, "info_array", r->info_array); - ndr->depth++; - if (r->info_array) { - ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->num_memberships); - ndr->depth++; - for (cntr_info_array_1=0;cntr_info_array_1num_memberships;cntr_info_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) { - ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]); - ndr->depth++; - if (r->info_array[cntr_info_array_1]) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "group_attrs", r->group_attrs); - ndr->depth++; - if (r->group_attrs) { - ndr->print(ndr, "%s: ARRAY(%d)", "group_attrs", (int)r->num_memberships); - ndr->depth++; - for (cntr_group_attrs_1=0;cntr_group_attrs_1num_memberships;cntr_group_attrs_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_group_attrs_1) != -1) { - ndr_print_samr_GroupAttrs(ndr, "group_attrs", r->group_attrs[cntr_group_attrs_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1num_sids;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_1]); - ndr->depth++; - if (r->sids[cntr_sids_1]) { - ndr_print_dom_sid28(ndr, "sids", r->sids[cntr_sids_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsCtr *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsCtr"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMembershipsRequest1 *r) -{ - uint32_t cntr_info_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info_array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info_array[cntr_info_array_1])); - } - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) { - if (r->info_array[cntr_info_array_1]) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1])); - } - } - } - if (r->domain) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMembershipsRequest1 *r) -{ - uint32_t _ptr_info_array; - uint32_t cntr_info_array_1; - TALLOC_CTX *_mem_save_info_array_0; - TALLOC_CTX *_mem_save_info_array_1; - TALLOC_CTX *_mem_save_info_array_2; - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count < 1 || r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array)); - if (_ptr_info_array) { - NDR_PULL_ALLOC(ndr, r->info_array); - } else { - r->info_array = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type)); - if (r->type < 1 || r->type > 7) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info_array) { - _mem_save_info_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->info_array)); - NDR_PULL_ALLOC_N(ndr, r->info_array, ndr_get_array_size(ndr, &r->info_array)); - _mem_save_info_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info_array, 0); - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info_array)); - if (_ptr_info_array) { - NDR_PULL_ALLOC(ndr, r->info_array[cntr_info_array_1]); - } else { - r->info_array[cntr_info_array_1] = NULL; - } - } - for (cntr_info_array_1 = 0; cntr_info_array_1 < r->count; cntr_info_array_1++) { - if (r->info_array[cntr_info_array_1]) { - _mem_save_info_array_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info_array[cntr_info_array_1], 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->info_array[cntr_info_array_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_array_0, 0); - } - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - if (r->info_array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info_array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r) -{ - uint32_t cntr_info_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetMembershipsRequest1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "info_array", r->info_array); - ndr->depth++; - if (r->info_array) { - ndr->print(ndr, "%s: ARRAY(%d)", "info_array", (int)r->count); - ndr->depth++; - for (cntr_info_array_1=0;cntr_info_array_1count;cntr_info_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_array_1) != -1) { - ndr_print_ptr(ndr, "info_array", r->info_array[cntr_info_array_1]); - ndr->depth++; - if (r->info_array[cntr_info_array_1]) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "info_array", r->info_array[cntr_info_array_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_drsuapi_DsMembershipType(ndr, "type", r->type); - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "domain", r->domain); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMembershipsRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMembershipsRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetMembershipsRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->preferred_maximum_length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->restart_data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogRequest1 *r) -{ - uint32_t _ptr_restart_data; - TALLOC_CTX *_mem_save_restart_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->preferred_maximum_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length)); - if (r->restart_length > 0x00A00000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data)); - if (_ptr_restart_data) { - NDR_PULL_ALLOC(ndr, r->restart_data); - } else { - r->restart_data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->restart_data) { - _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data)); - NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0); - } - if (r->restart_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogRequest1"); - ndr->depth++; - ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "preferred_maximum_length", r->preferred_maximum_length); - ndr_print_uint32(ndr, "restart_length", r->restart_length); - ndr_print_ptr(ndr, "restart_data", r->restart_data); - ndr->depth++; - if (r->restart_data) { - ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->restart_length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_length)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sam_serial_number)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->sam_creation_time)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->builtin_serial_number)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->builtin_creation_time)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lsa_serial_number)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->lsa_creation_time)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->restart_data)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->log_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->restart_data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->restart_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->restart_data, r->restart_length)); - } - if (r->log_data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->log_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->log_data, r->log_length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNT4ChangeLogInfo1 *r) -{ - uint32_t _ptr_restart_data; - TALLOC_CTX *_mem_save_restart_data_0; - uint32_t _ptr_log_data; - TALLOC_CTX *_mem_save_log_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->restart_length)); - if (r->restart_length > 0x00A00000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_length)); - if (r->log_length > 0x00A00000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sam_serial_number)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->sam_creation_time)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->builtin_serial_number)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->builtin_creation_time)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lsa_serial_number)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->lsa_creation_time)); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_restart_data)); - if (_ptr_restart_data) { - NDR_PULL_ALLOC(ndr, r->restart_data); - } else { - r->restart_data = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_log_data)); - if (_ptr_log_data) { - NDR_PULL_ALLOC(ndr, r->log_data); - } else { - r->log_data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->restart_data) { - _mem_save_restart_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->restart_data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->restart_data)); - NDR_PULL_ALLOC_N(ndr, r->restart_data, ndr_get_array_size(ndr, &r->restart_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->restart_data, ndr_get_array_size(ndr, &r->restart_data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_restart_data_0, 0); - } - if (r->log_data) { - _mem_save_log_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->log_data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->log_data)); - NDR_PULL_ALLOC_N(ndr, r->log_data, ndr_get_array_size(ndr, &r->log_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->log_data, ndr_get_array_size(ndr, &r->log_data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_data_0, 0); - } - if (r->restart_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->restart_data, r->restart_length)); - } - if (r->log_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->log_data, r->log_length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLogInfo1"); - ndr->depth++; - ndr_print_uint32(ndr, "restart_length", r->restart_length); - ndr_print_uint32(ndr, "log_length", r->log_length); - ndr_print_hyper(ndr, "sam_serial_number", r->sam_serial_number); - ndr_print_NTTIME(ndr, "sam_creation_time", r->sam_creation_time); - ndr_print_hyper(ndr, "builtin_serial_number", r->builtin_serial_number); - ndr_print_NTTIME(ndr, "builtin_creation_time", r->builtin_creation_time); - ndr_print_hyper(ndr, "lsa_serial_number", r->lsa_serial_number); - ndr_print_NTTIME(ndr, "lsa_creation_time", r->lsa_creation_time); - ndr_print_NTSTATUS(ndr, "status", r->status); - ndr_print_ptr(ndr, "restart_data", r->restart_data); - ndr->depth++; - if (r->restart_data) { - ndr_print_array_uint8(ndr, "restart_data", r->restart_data, r->restart_length); - } - ndr->depth--; - ndr_print_ptr(ndr, "log_data", r->log_data); - ndr->depth++; - if (r->log_data) { - ndr_print_array_uint8(ndr, "log_data", r->log_data, r->log_length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetNT4ChangeLogInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetNT4ChangeLogInfo *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetNT4ChangeLogInfo"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr, "info1", &r->info1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameStatus(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameStatus r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameStatus(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameStatus *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_NAME_STATUS_OK: val = "DRSUAPI_DS_NAME_STATUS_OK"; break; - case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR: val = "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break; - case DRSUAPI_DS_NAME_STATUS_NOT_FOUND: val = "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break; - case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE: val = "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break; - case DRSUAPI_DS_NAME_STATUS_NO_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break; - case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY: val = "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break; - case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING: val = "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break; - case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameFlags(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFlags r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameFlags(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFlags *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_NAME_FLAG_NO_FLAGS: val = "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break; - case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY: val = "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break; - case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC: val = "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break; - case DRSUAPI_DS_NAME_FLAG_GCVERIFY: val = "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break; - case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL: val = "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameFormat(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsNameFormat r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameFormat(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsNameFormat *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_NAME_FORMAT_UNKNOWN: val = "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break; - case DRSUAPI_DS_NAME_FORMAT_FQDN_1779: val = "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break; - case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT: val = "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break; - case DRSUAPI_DS_NAME_FORMAT_DISPLAY: val = "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break; - case DRSUAPI_DS_NAME_FORMAT_GUID: val = "DRSUAPI_DS_NAME_FORMAT_GUID"; break; - case DRSUAPI_DS_NAME_FORMAT_CANONICAL: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break; - case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break; - case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX: val = "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break; - case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL: val = "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break; - case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY: val = "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break; - case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN: val = "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameString(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->str)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->str) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str, ndr_charset_length(r->str, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameString(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameString *r) -{ - uint32_t _ptr_str; - TALLOC_CTX *_mem_save_str_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str)); - if (_ptr_str) { - NDR_PULL_ALLOC(ndr, r->str); - } else { - r->str = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->str) { - _mem_save_str_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->str, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->str)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->str)); - if (ndr_get_array_length(ndr, &r->str) > ndr_get_array_size(ndr, &r->str)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str), ndr_get_array_length(ndr, &r->str)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str, ndr_get_array_length(ndr, &r->str), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsNameString"); - ndr->depth++; - ndr_print_ptr(ndr, "str", r->str); - ndr->depth++; - if (r->str) { - ndr_print_string(ndr, "str", r->str); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameRequest1 *r) -{ - uint32_t cntr_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->codepage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->language)); - NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr, NDR_SCALARS, r->format_flags)); - NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_offered)); - NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr, NDR_SCALARS, r->format_desired)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameRequest1 *r) -{ - uint32_t _ptr_names; - uint32_t cntr_names_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->codepage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->language)); - NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr, NDR_SCALARS, &r->format_flags)); - NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_offered)); - NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr, NDR_SCALARS, &r->format_desired)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count < 1 || r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names)); - if (_ptr_names) { - NDR_PULL_ALLOC(ndr, r->names); - } else { - r->names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->names)); - NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names)); - _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - } - if (r->names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r) -{ - uint32_t cntr_names_1; - ndr_print_struct(ndr, name, "drsuapi_DsNameRequest1"); - ndr->depth++; - ndr_print_uint32(ndr, "codepage", r->codepage); - ndr_print_uint32(ndr, "language", r->language); - ndr_print_drsuapi_DsNameFlags(ndr, "format_flags", r->format_flags); - ndr_print_drsuapi_DsNameFormat(ndr, "format_offered", r->format_offered); - ndr_print_drsuapi_DsNameFormat(ndr, "format_desired", r->format_desired); - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "names", r->names); - ndr->depth++; - if (r->names) { - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count); - ndr->depth++; - for (cntr_names_1=0;cntr_names_1count;cntr_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) { - ndr_print_drsuapi_DsNameString(ndr, "names", &r->names[cntr_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsNameRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsNameRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->result_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dns_domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain_name, ndr_charset_length(r->dns_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->result_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->result_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->result_name, ndr_charset_length(r->result_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameInfo1 *r) -{ - uint32_t _ptr_dns_domain_name; - TALLOC_CTX *_mem_save_dns_domain_name_0; - uint32_t _ptr_result_name; - TALLOC_CTX *_mem_save_result_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain_name)); - if (_ptr_dns_domain_name) { - NDR_PULL_ALLOC(ndr, r->dns_domain_name); - } else { - r->dns_domain_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_result_name)); - if (_ptr_result_name) { - NDR_PULL_ALLOC(ndr, r->result_name); - } else { - r->result_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dns_domain_name) { - _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain_name)); - if (ndr_get_array_length(ndr, &r->dns_domain_name) > ndr_get_array_size(ndr, &r->dns_domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain_name), ndr_get_array_length(ndr, &r->dns_domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain_name, ndr_get_array_length(ndr, &r->dns_domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0); - } - if (r->result_name) { - _mem_save_result_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->result_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->result_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->result_name)); - if (ndr_get_array_length(ndr, &r->result_name) > ndr_get_array_size(ndr, &r->result_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->result_name), ndr_get_array_length(ndr, &r->result_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->result_name, ndr_get_array_length(ndr, &r->result_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_result_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsNameInfo1"); - ndr->depth++; - ndr_print_drsuapi_DsNameStatus(ndr, "status", r->status); - ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name); - ndr->depth++; - if (r->dns_domain_name) { - ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "result_name", r->result_name); - ndr->depth++; - if (r->result_name) { - ndr_print_string(ndr, "result_name", r->result_name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsNameCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsNameCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsNameCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_drsuapi_DsNameInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsNameCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsNameCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsNameCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsNameCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsNameCtr"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_drsuapi_DsNameCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsSpnOperation(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsSpnOperation r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsSpnOperation *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_SPN_OPERATION_ADD: val = "DRSUAPI_DS_SPN_OPERATION_ADD"; break; - case DRSUAPI_DS_SPN_OPERATION_REPLACE: val = "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break; - case DRSUAPI_DS_SPN_OPERATION_DELETE: val = "DRSUAPI_DS_SPN_OPERATION_DELETE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnRequest1 *r) -{ - uint32_t cntr_spn_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, r->operation)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->spn_names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->object_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->spn_names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) { - NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1])); - } - for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) { - NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnRequest1 *r) -{ - uint32_t _ptr_object_dn; - TALLOC_CTX *_mem_save_object_dn_0; - uint32_t _ptr_spn_names; - uint32_t cntr_spn_names_1; - TALLOC_CTX *_mem_save_spn_names_0; - TALLOC_CTX *_mem_save_spn_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr, NDR_SCALARS, &r->operation)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn)); - if (_ptr_object_dn) { - NDR_PULL_ALLOC(ndr, r->object_dn); - } else { - r->object_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_spn_names)); - if (_ptr_spn_names) { - NDR_PULL_ALLOC(ndr, r->spn_names); - } else { - r->spn_names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->object_dn) { - _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn)); - if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0); - } - if (r->spn_names) { - _mem_save_spn_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->spn_names)); - NDR_PULL_ALLOC_N(ndr, r->spn_names, ndr_get_array_size(ndr, &r->spn_names)); - _mem_save_spn_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->spn_names, 0); - for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_SCALARS, &r->spn_names[cntr_spn_names_1])); - } - for (cntr_spn_names_1 = 0; cntr_spn_names_1 < r->count; cntr_spn_names_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr, NDR_BUFFERS, &r->spn_names[cntr_spn_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_spn_names_0, 0); - } - if (r->spn_names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->spn_names, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r) -{ - uint32_t cntr_spn_names_1; - ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnRequest1"); - ndr->depth++; - ndr_print_drsuapi_DsSpnOperation(ndr, "operation", r->operation); - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_ptr(ndr, "object_dn", r->object_dn); - ndr->depth++; - if (r->object_dn) { - ndr_print_string(ndr, "object_dn", r->object_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "spn_names", r->spn_names); - ndr->depth++; - if (r->spn_names) { - ndr->print(ndr, "%s: ARRAY(%d)", "spn_names", (int)r->count); - ndr->depth++; - for (cntr_spn_names_1=0;cntr_spn_names_1count;cntr_spn_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_spn_names_1) != -1) { - ndr_print_drsuapi_DsNameString(ndr, "spn_names", &r->spn_names[cntr_spn_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsWriteAccountSpnResult1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsWriteAccountSpnResult1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpnResult1"); - ndr->depth++; - ndr_print_WERROR(ndr, "status", r->status); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsWriteAccountSpnResult *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsWriteAccountSpnResult *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr, NDR_SCALARS, &r->res1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsWriteAccountSpnResult"); - switch (level) { - case 1: - ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr, "res1", &r->res1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->commit)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_dn, ndr_charset_length(r->domain_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerRequest1 *r) -{ - uint32_t _ptr_server_dn; - TALLOC_CTX *_mem_save_server_dn_0; - uint32_t _ptr_domain_dn; - TALLOC_CTX *_mem_save_domain_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn)); - if (_ptr_server_dn) { - NDR_PULL_ALLOC(ndr, r->server_dn); - } else { - r->server_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_dn)); - if (_ptr_domain_dn) { - NDR_PULL_ALLOC(ndr, r->domain_dn); - } else { - r->domain_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->commit)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_dn) { - _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn)); - if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0); - } - if (r->domain_dn) { - _mem_save_domain_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_dn)); - if (ndr_get_array_length(ndr, &r->domain_dn) > ndr_get_array_size(ndr, &r->domain_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_dn), ndr_get_array_length(ndr, &r->domain_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_dn, ndr_get_array_length(ndr, &r->domain_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "server_dn", r->server_dn); - ndr->depth++; - if (r->server_dn) { - ndr_print_string(ndr, "server_dn", r->server_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_dn", r->domain_dn); - ndr->depth++; - if (r->domain_dn) { - ndr_print_string(ndr, "domain_dn", r->domain_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "commit", r->commit); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsRemoveDSServerResult1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->last_dc_in_domain)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsRemoveDSServerResult1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->last_dc_in_domain)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServerResult1"); - ndr->depth++; - ndr_print_uint32(ndr, "last_dc_in_domain", r->last_dc_in_domain); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRemoveDSServerResult *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRemoveDSServerResult *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr, NDR_SCALARS, &r->res1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsRemoveDSServerResult"); - switch (level) { - case 1: - ndr_print_drsuapi_DsRemoveDSServerResult1(ndr, "res1", &r->res1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name)); - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoRequest1 *r) -{ - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->domain_name); - } else { - r->domain_name = NULL; - } - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name)); - if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_name", r->domain_name); - ndr->depth++; - if (r->domain_name) { - ndr_print_string(ndr, "domain_name", r->domain_name); - } - ndr->depth--; - ndr_print_int32(ndr, "level", r->level); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoRequest *r) -{ - int level; - int32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetDCInfoRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dns_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->computer_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->server_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo1 *r) -{ - uint32_t _ptr_netbios_name; - TALLOC_CTX *_mem_save_netbios_name_0; - uint32_t _ptr_dns_name; - TALLOC_CTX *_mem_save_dns_name_0; - uint32_t _ptr_site_name; - TALLOC_CTX *_mem_save_site_name_0; - uint32_t _ptr_computer_dn; - TALLOC_CTX *_mem_save_computer_dn_0; - uint32_t _ptr_server_dn; - TALLOC_CTX *_mem_save_server_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name)); - if (_ptr_netbios_name) { - NDR_PULL_ALLOC(ndr, r->netbios_name); - } else { - r->netbios_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name)); - if (_ptr_dns_name) { - NDR_PULL_ALLOC(ndr, r->dns_name); - } else { - r->dns_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name)); - if (_ptr_site_name) { - NDR_PULL_ALLOC(ndr, r->site_name); - } else { - r->site_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn)); - if (_ptr_computer_dn) { - NDR_PULL_ALLOC(ndr, r->computer_dn); - } else { - r->computer_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn)); - if (_ptr_server_dn) { - NDR_PULL_ALLOC(ndr, r->server_dn); - } else { - r->server_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name)); - if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0); - } - if (r->dns_name) { - _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name)); - if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0); - } - if (r->site_name) { - _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name)); - if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0); - } - if (r->computer_dn) { - _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn)); - if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0); - } - if (r->server_dn) { - _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn)); - if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "netbios_name", r->netbios_name); - ndr->depth++; - if (r->netbios_name) { - ndr_print_string(ndr, "netbios_name", r->netbios_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "dns_name", r->dns_name); - ndr->depth++; - if (r->dns_name) { - ndr_print_string(ndr, "dns_name", r->dns_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_name", r->site_name); - ndr->depth++; - if (r->site_name) { - ndr_print_string(ndr, "site_name", r->site_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_dn", r->computer_dn); - ndr->depth++; - if (r->computer_dn) { - ndr_print_string(ndr, "computer_dn", r->computer_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_dn", r->server_dn); - ndr->depth++; - if (r->server_dn) { - ndr_print_string(ndr, "server_dn", r->server_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "is_pdc", r->is_pdc); - ndr_print_uint32(ndr, "is_enabled", r->is_enabled); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_drsuapi_DsGetDCInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dns_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->site_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->computer_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->server_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->ntds_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo2 *r) -{ - uint32_t _ptr_netbios_name; - TALLOC_CTX *_mem_save_netbios_name_0; - uint32_t _ptr_dns_name; - TALLOC_CTX *_mem_save_dns_name_0; - uint32_t _ptr_site_name; - TALLOC_CTX *_mem_save_site_name_0; - uint32_t _ptr_site_dn; - TALLOC_CTX *_mem_save_site_dn_0; - uint32_t _ptr_computer_dn; - TALLOC_CTX *_mem_save_computer_dn_0; - uint32_t _ptr_server_dn; - TALLOC_CTX *_mem_save_server_dn_0; - uint32_t _ptr_ntds_dn; - TALLOC_CTX *_mem_save_ntds_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name)); - if (_ptr_netbios_name) { - NDR_PULL_ALLOC(ndr, r->netbios_name); - } else { - r->netbios_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name)); - if (_ptr_dns_name) { - NDR_PULL_ALLOC(ndr, r->dns_name); - } else { - r->dns_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name)); - if (_ptr_site_name) { - NDR_PULL_ALLOC(ndr, r->site_name); - } else { - r->site_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn)); - if (_ptr_site_dn) { - NDR_PULL_ALLOC(ndr, r->site_dn); - } else { - r->site_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn)); - if (_ptr_computer_dn) { - NDR_PULL_ALLOC(ndr, r->computer_dn); - } else { - r->computer_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn)); - if (_ptr_server_dn) { - NDR_PULL_ALLOC(ndr, r->server_dn); - } else { - r->server_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn)); - if (_ptr_ntds_dn) { - NDR_PULL_ALLOC(ndr, r->ntds_dn); - } else { - r->ntds_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name)); - if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0); - } - if (r->dns_name) { - _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name)); - if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0); - } - if (r->site_name) { - _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name)); - if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0); - } - if (r->site_dn) { - _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn)); - if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0); - } - if (r->computer_dn) { - _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn)); - if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0); - } - if (r->server_dn) { - _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn)); - if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0); - } - if (r->ntds_dn) { - _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn)); - if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "netbios_name", r->netbios_name); - ndr->depth++; - if (r->netbios_name) { - ndr_print_string(ndr, "netbios_name", r->netbios_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "dns_name", r->dns_name); - ndr->depth++; - if (r->dns_name) { - ndr_print_string(ndr, "dns_name", r->dns_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_name", r->site_name); - ndr->depth++; - if (r->site_name) { - ndr_print_string(ndr, "site_name", r->site_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_dn", r->site_dn); - ndr->depth++; - if (r->site_dn) { - ndr_print_string(ndr, "site_dn", r->site_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_dn", r->computer_dn); - ndr->depth++; - if (r->computer_dn) { - ndr_print_string(ndr, "computer_dn", r->computer_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_dn", r->server_dn); - ndr->depth++; - if (r->server_dn) { - ndr_print_string(ndr, "server_dn", r->server_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn); - ndr->depth++; - if (r->ntds_dn) { - ndr_print_string(ndr, "ntds_dn", r->ntds_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "is_pdc", r->is_pdc); - ndr_print_uint32(ndr, "is_enabled", r->is_enabled); - ndr_print_uint32(ndr, "is_gc", r->is_gc); - ndr_print_GUID(ndr, "site_guid", &r->site_guid); - ndr_print_GUID(ndr, "computer_guid", &r->computer_guid); - ndr_print_GUID(ndr, "server_guid", &r->server_guid); - ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr2 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr2 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_drsuapi_DsGetDCInfo2(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ntds_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_pdc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_enabled)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_gc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_rodc)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->computer_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->server_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->ntds_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dns_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_name, ndr_charset_length(r->site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->site_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_dn, ndr_charset_length(r->site_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->computer_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_dn, ndr_charset_length(r->computer_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->server_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_dn, ndr_charset_length(r->server_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->ntds_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->ntds_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ntds_dn, ndr_charset_length(r->ntds_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfo3 *r) -{ - uint32_t _ptr_netbios_name; - TALLOC_CTX *_mem_save_netbios_name_0; - uint32_t _ptr_dns_name; - TALLOC_CTX *_mem_save_dns_name_0; - uint32_t _ptr_site_name; - TALLOC_CTX *_mem_save_site_name_0; - uint32_t _ptr_site_dn; - TALLOC_CTX *_mem_save_site_dn_0; - uint32_t _ptr_computer_dn; - TALLOC_CTX *_mem_save_computer_dn_0; - uint32_t _ptr_server_dn; - TALLOC_CTX *_mem_save_server_dn_0; - uint32_t _ptr_ntds_dn; - TALLOC_CTX *_mem_save_ntds_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name)); - if (_ptr_netbios_name) { - NDR_PULL_ALLOC(ndr, r->netbios_name); - } else { - r->netbios_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name)); - if (_ptr_dns_name) { - NDR_PULL_ALLOC(ndr, r->dns_name); - } else { - r->dns_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name)); - if (_ptr_site_name) { - NDR_PULL_ALLOC(ndr, r->site_name); - } else { - r->site_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_dn)); - if (_ptr_site_dn) { - NDR_PULL_ALLOC(ndr, r->site_dn); - } else { - r->site_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_dn)); - if (_ptr_computer_dn) { - NDR_PULL_ALLOC(ndr, r->computer_dn); - } else { - r->computer_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_dn)); - if (_ptr_server_dn) { - NDR_PULL_ALLOC(ndr, r->server_dn); - } else { - r->server_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ntds_dn)); - if (_ptr_ntds_dn) { - NDR_PULL_ALLOC(ndr, r->ntds_dn); - } else { - r->ntds_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_pdc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_enabled)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_gc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_rodc)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->site_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->computer_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->server_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->ntds_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name)); - if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0); - } - if (r->dns_name) { - _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name)); - if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0); - } - if (r->site_name) { - _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_name)); - if (ndr_get_array_length(ndr, &r->site_name) > ndr_get_array_size(ndr, &r->site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_name), ndr_get_array_length(ndr, &r->site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_name, ndr_get_array_length(ndr, &r->site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0); - } - if (r->site_dn) { - _mem_save_site_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_dn)); - if (ndr_get_array_length(ndr, &r->site_dn) > ndr_get_array_size(ndr, &r->site_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_dn), ndr_get_array_length(ndr, &r->site_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_dn, ndr_get_array_length(ndr, &r->site_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_dn_0, 0); - } - if (r->computer_dn) { - _mem_save_computer_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->computer_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_dn)); - if (ndr_get_array_length(ndr, &r->computer_dn) > ndr_get_array_size(ndr, &r->computer_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_dn), ndr_get_array_length(ndr, &r->computer_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_dn, ndr_get_array_length(ndr, &r->computer_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_dn_0, 0); - } - if (r->server_dn) { - _mem_save_server_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_dn)); - if (ndr_get_array_length(ndr, &r->server_dn) > ndr_get_array_size(ndr, &r->server_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_dn), ndr_get_array_length(ndr, &r->server_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_dn, ndr_get_array_length(ndr, &r->server_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_dn_0, 0); - } - if (r->ntds_dn) { - _mem_save_ntds_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ntds_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->ntds_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->ntds_dn)); - if (ndr_get_array_length(ndr, &r->ntds_dn) > ndr_get_array_size(ndr, &r->ntds_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->ntds_dn), ndr_get_array_length(ndr, &r->ntds_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ntds_dn, ndr_get_array_length(ndr, &r->ntds_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ntds_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfo3"); - ndr->depth++; - ndr_print_ptr(ndr, "netbios_name", r->netbios_name); - ndr->depth++; - if (r->netbios_name) { - ndr_print_string(ndr, "netbios_name", r->netbios_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "dns_name", r->dns_name); - ndr->depth++; - if (r->dns_name) { - ndr_print_string(ndr, "dns_name", r->dns_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_name", r->site_name); - ndr->depth++; - if (r->site_name) { - ndr_print_string(ndr, "site_name", r->site_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_dn", r->site_dn); - ndr->depth++; - if (r->site_dn) { - ndr_print_string(ndr, "site_dn", r->site_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_dn", r->computer_dn); - ndr->depth++; - if (r->computer_dn) { - ndr_print_string(ndr, "computer_dn", r->computer_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_dn", r->server_dn); - ndr->depth++; - if (r->server_dn) { - ndr_print_string(ndr, "server_dn", r->server_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "ntds_dn", r->ntds_dn); - ndr->depth++; - if (r->ntds_dn) { - ndr_print_string(ndr, "ntds_dn", r->ntds_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "is_pdc", r->is_pdc); - ndr_print_uint32(ndr, "is_enabled", r->is_enabled); - ndr_print_uint32(ndr, "is_gc", r->is_gc); - ndr_print_uint32(ndr, "is_rodc", r->is_rodc); - ndr_print_GUID(ndr, "site_guid", &r->site_guid); - ndr_print_GUID(ndr, "computer_guid", &r->computer_guid); - ndr_print_GUID(ndr, "server_guid", &r->server_guid); - ndr_print_GUID(ndr, "ntds_guid", &r->ntds_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCInfoCtr3 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCInfoCtr3 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetDCInfoCtr3"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_drsuapi_DsGetDCInfo3(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnection01 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_ipv4address = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address)); - ndr->flags = _flags_save_ipv4address; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connection_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_account)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client_account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_account, ndr_charset_length(r->client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnection01 *r) -{ - uint32_t _ptr_client_account; - TALLOC_CTX *_mem_save_client_account_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_ipv4address = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address)); - ndr->flags = _flags_save_ipv4address; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connection_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account)); - if (_ptr_client_account) { - NDR_PULL_ALLOC(ndr, r->client_account); - } else { - r->client_account = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client_account) { - _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_account)); - if (ndr_get_array_length(ndr, &r->client_account) > ndr_get_array_size(ndr, &r->client_account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_account), ndr_get_array_length(ndr, &r->client_account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_account, ndr_get_array_length(ndr, &r->client_account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnection01"); - ndr->depth++; - ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr_print_uint32(ndr, "connection_time", r->connection_time); - ndr_print_uint32(ndr, "unknown4", r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_ptr(ndr, "client_account", r->client_account); - ndr->depth++; - if (r->client_account) { - ndr_print_string(ndr, "client_account", r->client_account); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetDCConnectionCtr01 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetDCConnectionCtr01 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetDCConnectionCtr01"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_drsuapi_DsGetDCConnection01(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetDCInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case DRSUAPI_DC_INFO_CTR_1: { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case DRSUAPI_DC_INFO_CTR_2: { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case DRSUAPI_DC_INFO_CTR_3: { - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - case DRSUAPI_DC_CONNECTION_CTR_01: { - NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DRSUAPI_DC_INFO_CTR_1: - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case DRSUAPI_DC_INFO_CTR_2: - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case DRSUAPI_DC_INFO_CTR_3: - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - case DRSUAPI_DC_CONNECTION_CTR_01: - NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetDCInfoCtr *r) -{ - int level; - int32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case DRSUAPI_DC_INFO_CTR_1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case DRSUAPI_DC_INFO_CTR_2: { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case DRSUAPI_DC_INFO_CTR_3: { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - case DRSUAPI_DC_CONNECTION_CTR_01: { - NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_SCALARS, &r->ctr01)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DRSUAPI_DC_INFO_CTR_1: - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case DRSUAPI_DC_INFO_CTR_2: - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case DRSUAPI_DC_INFO_CTR_3: - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - case DRSUAPI_DC_CONNECTION_CTR_01: - NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr, NDR_BUFFERS, &r->ctr01)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetDCInfoCtr"); - switch (level) { - case DRSUAPI_DC_INFO_CTR_1: - ndr_print_drsuapi_DsGetDCInfoCtr1(ndr, "ctr1", &r->ctr1); - break; - - case DRSUAPI_DC_INFO_CTR_2: - ndr_print_drsuapi_DsGetDCInfoCtr2(ndr, "ctr2", &r->ctr2); - break; - - case DRSUAPI_DC_INFO_CTR_3: - ndr_print_drsuapi_DsGetDCInfoCtr3(ndr, "ctr3", &r->ctr3); - break; - - case DRSUAPI_DC_CONNECTION_CTR_01: - ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr, "ctr01", &r->ctr01); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->next_object)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next_object) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object)); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r) -{ - uint32_t _ptr_next_object; - TALLOC_CTX *_mem_save_next_object_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next_object)); - if (_ptr_next_object) { - NDR_PULL_ALLOC(ndr, r->next_object); - } else { - r->next_object = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next_object) { - _mem_save_next_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->next_object, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS|NDR_BUFFERS, r->next_object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_object_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr, NDR_BUFFERS, &r->object)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_DirErr(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_DirErr(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_DirErr *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_DirErr r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DIRERR_OK: val = "DRSUAPI_DIRERR_OK"; break; - case DRSUAPI_DIRERR_ATTRIBUTE: val = "DRSUAPI_DIRERR_ATTRIBUTE"; break; - case DRSUAPI_DIRERR_NAME: val = "DRSUAPI_DIRERR_NAME"; break; - case DRSUAPI_DIRERR_REFERRAL: val = "DRSUAPI_DIRERR_REFERRAL"; break; - case DRSUAPI_DIRERR_SECURITY: val = "DRSUAPI_DIRERR_SECURITY"; break; - case DRSUAPI_DIRERR_SERVICE: val = "DRSUAPI_DIRERR_SERVICE"; break; - case DRSUAPI_DIRERR_UPDATE: val = "DRSUAPI_DIRERR_UPDATE"; break; - case DRSUAPI_DIRERR_SYSTEM: val = "DRSUAPI_DIRERR_SYSTEM"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest2"); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_SecBufferType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_SecBufferType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_SecBufferType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_SecBufferType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_push_drsuapi_SecBuffer(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBuffer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_size)); - NDR_CHECK(ndr_push_drsuapi_SecBufferType(ndr, NDR_SCALARS, r->buf_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_size)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_SecBuffer(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBuffer *r) -{ - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_buffer_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_size)); - if (r->buf_size > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_drsuapi_SecBufferType(ndr, NDR_SCALARS, &r->buf_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->buffer); - } else { - r->buffer = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer)); - NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (r->buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_SecBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBuffer *r) -{ - ndr_print_struct(ndr, name, "drsuapi_SecBuffer"); - ndr->depth++; - ndr_print_uint32(ndr, "buf_size", r->buf_size); - ndr_print_drsuapi_SecBufferType(ndr, "buf_type", r->buf_type); - ndr_print_ptr(ndr, "buffer", r->buffer); - ndr->depth++; - if (r->buffer) { - ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_size); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_SecBufferDesc(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_SecBufferDesc *r) -{ - uint32_t cntr_buffers_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buff_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffers)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buffers) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buff_count)); - for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) { - NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1])); - } - for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) { - NDR_CHECK(ndr_push_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_SecBufferDesc(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_SecBufferDesc *r) -{ - uint32_t _ptr_buffers; - uint32_t cntr_buffers_1; - TALLOC_CTX *_mem_save_buffers_0; - TALLOC_CTX *_mem_save_buffers_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buff_count)); - if (r->buff_count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffers)); - if (_ptr_buffers) { - NDR_PULL_ALLOC(ndr, r->buffers); - } else { - r->buffers = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buffers) { - _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->buffers)); - NDR_PULL_ALLOC_N(ndr, r->buffers, ndr_get_array_size(ndr, &r->buffers)); - _mem_save_buffers_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0); - for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) { - NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_1])); - } - for (cntr_buffers_1 = 0; cntr_buffers_1 < r->buff_count; cntr_buffers_1++) { - NDR_CHECK(ndr_pull_drsuapi_SecBuffer(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0); - } - if (r->buffers) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffers, r->buff_count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_SecBufferDesc(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBufferDesc *r) -{ - uint32_t cntr_buffers_1; - ndr_print_struct(ndr, name, "drsuapi_SecBufferDesc"); - ndr->depth++; - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version); - ndr_print_uint32(ndr, "buff_count", r->buff_count); - ndr_print_ptr(ndr, "buffers", r->buffers); - ndr->depth++; - if (r->buffers) { - ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->buff_count); - ndr->depth++; - for (cntr_buffers_1=0;cntr_buffers_1buff_count;cntr_buffers_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_buffers_1) != -1) { - ndr_print_drsuapi_SecBuffer(ndr, "buffers", &r->buffers[cntr_buffers_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryRequest3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_creds)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object)); - if (r->client_creds) { - NDR_CHECK(ndr_push_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryRequest3 *r) -{ - uint32_t _ptr_client_creds; - TALLOC_CTX *_mem_save_client_creds_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_SCALARS, &r->first_object)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_creds)); - if (_ptr_client_creds) { - NDR_PULL_ALLOC(ndr, r->client_creds); - } else { - r->client_creds = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr, NDR_BUFFERS, &r->first_object)); - if (r->client_creds) { - _mem_save_client_creds_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_creds, 0); - NDR_CHECK(ndr_pull_drsuapi_SecBufferDesc(ndr, NDR_SCALARS|NDR_BUFFERS, r->client_creds)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_creds_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest3 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryRequest3"); - ndr->depth++; - ndr_print_drsuapi_DsReplicaObjectListItem(ndr, "first_object", &r->first_object); - ndr_print_ptr(ndr, "client_creds", r->client_creds); - ndr->depth++; - if (r->client_creds) { - ndr_print_drsuapi_SecBufferDesc(ndr, "client_creds", r->client_creds); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 2: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 2: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2)); - break; - - case 3: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 2: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_SCALARS, &r->req2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_SCALARS, &r->req3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 2: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr, NDR_BUFFERS, &r->req2)); - break; - - case 3: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest3(ndr, NDR_BUFFERS, &r->req3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryRequest"); - switch (level) { - case 2: - ndr_print_drsuapi_DsAddEntryRequest2(ndr, "req2", &r->req2); - break; - - case 3: - ndr_print_drsuapi_DsAddEntryRequest3(ndr, "req3", &r->req3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfoX *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfoX *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfoX"); - ndr->depth++; - ndr_print_uint32(ndr, "dsid", r->dsid); - ndr_print_WERROR(ndr, "extended_err", r->extended_err); - ndr_print_uint32(ndr, "extended_data", r->extended_data); - ndr_print_uint16(ndr, "problem", r->problem); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErr_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr, NDR_SCALARS, r->attid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_val_returned)); - NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErr_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem)); - NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr, NDR_SCALARS, &r->attid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_val_returned)); - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_SCALARS, &r->attr_val)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr, NDR_BUFFERS, &r->attr_val)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErr_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_AttrErr_V1"); - ndr->depth++; - ndr_print_uint32(ndr, "dsid", r->dsid); - ndr_print_WERROR(ndr, "extended_err", r->extended_err); - ndr_print_uint32(ndr, "extended_data", r->extended_data); - ndr_print_uint16(ndr, "problem", r->problem); - ndr_print_drsuapi_DsAttributeId(ndr, "attid", r->attid); - ndr_print_uint32(ndr, "is_val_returned", r->is_val_returned); - ndr_print_drsuapi_DsAttributeValue(ndr, "attr_val", &r->attr_val); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->next)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next) { - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - } - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r) -{ - uint32_t _ptr_next; - TALLOC_CTX *_mem_save_next_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next)); - if (_ptr_next) { - NDR_PULL_ALLOC(ndr, r->next); - } else { - r->next = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_SCALARS, &r->err_data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next) { - _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->next, 0); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErr_V1(ndr, NDR_BUFFERS, &r->err_data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id)); - } - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r) -{ - uint32_t _ptr_id; - TALLOC_CTX *_mem_save_id_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id)); - if (_ptr_id) { - NDR_PULL_ALLOC(ndr, r->id); - } else { - r->id = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_SCALARS, &r->first)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id) { - _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->id, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0); - } - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, NDR_BUFFERS, &r->first)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Attr_V1"); - ndr->depth++; - ndr_print_ptr(ndr, "id", r->id); - ndr->depth++; - if (r->id) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id); - } - ndr->depth--; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(ndr, "first", &r->first); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_matched)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id_matched) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r) -{ - uint32_t _ptr_id_matched; - TALLOC_CTX *_mem_save_id_matched_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_matched)); - if (_ptr_id_matched) { - NDR_PULL_ALLOC(ndr, r->id_matched); - } else { - r->id_matched = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id_matched) { - _mem_save_id_matched_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->id_matched, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_matched)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_matched_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Name_V1"); - ndr->depth++; - ndr_print_uint32(ndr, "dsid", r->dsid); - ndr_print_WERROR(ndr, "extended_err", r->extended_err); - ndr_print_uint32(ndr, "extended_data", r->extended_data); - ndr_print_uint16(ndr, "problem", r->problem); - ndr_print_ptr(ndr, "id_matched", r->id_matched); - ndr->depth++; - if (r->id_matched) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_matched", r->id_matched); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_NameResOp_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_NameResOp_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 83)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_NameResOp_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_NameResOp_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->name_res)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unused_pad)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->next_rdn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_NameResOp_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_NameResOp_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_NameResOp_V1"); - ndr->depth++; - ndr_print_uint8(ndr, "name_res", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?83:r->name_res); - ndr_print_uint8(ndr, "unused_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->unused_pad); - ndr_print_uint16(ndr, "next_rdn", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->next_rdn); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_RefType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_RefType r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_CH_REFTYPE_SUPERIOR: val = "DRSUAPI_CH_REFTYPE_SUPERIOR"; break; - case DRSUAPI_CH_REFTYPE_SUBORDINATE: val = "DRSUAPI_CH_REFTYPE_SUBORDINATE"; break; - case DRSUAPI_CH_REFTYPE_NSSR: val = "DRSUAPI_CH_REFTYPE_NSSR"; break; - case DRSUAPI_CH_REFTYPE_CROSS: val = "DRSUAPI_CH_REFTYPE_CROSS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ChoiceType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ChoiceType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAddEntry_ChoiceType *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_ChoiceType r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_SE_CHOICE_BASE_ONLY: val = "DRSUAPI_SE_CHOICE_BASE_ONLY"; break; - case DRSUAPI_SE_CHOICE_IMMED_CHLDRN: val = "DRSUAPI_SE_CHOICE_IMMED_CHLDRN"; break; - case DRSUAPI_SE_CHOICE_WHOLE_SUBTREE: val = "DRSUAPI_SE_CHOICE_WHOLE_SUBTREE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsaAddressListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsaAddressListItem_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->next)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->address)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next) { - NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - } - if (r->address) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsaAddressListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsaAddressListItem_V1 *r) -{ - uint32_t _ptr_next; - TALLOC_CTX *_mem_save_next_0; - uint32_t _ptr_address; - TALLOC_CTX *_mem_save_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next)); - if (_ptr_next) { - NDR_PULL_ALLOC(ndr, r->next); - } else { - r->next = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address)); - if (_ptr_address) { - NDR_PULL_ALLOC(ndr, r->address); - } else { - r->address = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->next) { - _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->next, 0); - NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0); - } - if (r->address) { - _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->address, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->address)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsaAddressListItem_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsaAddressListItem_V1"); - ndr->depth++; - ndr_print_ptr(ndr, "next", r->next); - ndr->depth++; - if (r->next) { - ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "next", r->next); - } - ndr->depth--; - ndr_print_ptr(ndr, "address", r->address); - ndr->depth++; - if (r->address) { - ndr_print_lsa_String(ndr, "address", r->address); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->id_target)); - NDR_CHECK(ndr_push_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, r->ref_type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addr_list_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr_list)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->next)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_choice_set)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, r->choice)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id_target) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target)); - } - if (r->addr_list) { - NDR_CHECK(ndr_push_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list)); - } - if (r->next) { - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_RefErrListItem_V1 *r) -{ - uint32_t _ptr_id_target; - TALLOC_CTX *_mem_save_id_target_0; - uint32_t _ptr_addr_list; - TALLOC_CTX *_mem_save_addr_list_0; - uint32_t _ptr_next; - TALLOC_CTX *_mem_save_next_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id_target)); - if (_ptr_id_target) { - NDR_PULL_ALLOC(ndr, r->id_target); - } else { - r->id_target = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_NameResOp_V1(ndr, NDR_SCALARS, &r->op_state)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_alias)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->rdn_internal)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefType(ndr, NDR_SCALARS, &r->ref_type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addr_list_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr_list)); - if (_ptr_addr_list) { - NDR_PULL_ALLOC(ndr, r->addr_list); - } else { - r->addr_list = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_next)); - if (_ptr_next) { - NDR_PULL_ALLOC(ndr, r->next); - } else { - r->next = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_choice_set)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ChoiceType(ndr, NDR_SCALARS, &r->choice)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id_target) { - _mem_save_id_target_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->id_target, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id_target)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_target_0, 0); - } - if (r->addr_list) { - _mem_save_addr_list_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->addr_list, 0); - NDR_CHECK(ndr_pull_drsuapi_DsaAddressListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->addr_list)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_list_0, 0); - } - if (r->next) { - _mem_save_next_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->next, 0); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS|NDR_BUFFERS, r->next)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_RefErrListItem_V1"); - ndr->depth++; - ndr_print_ptr(ndr, "id_target", r->id_target); - ndr->depth++; - if (r->id_target) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id_target", r->id_target); - } - ndr->depth--; - ndr_print_drsuapi_NameResOp_V1(ndr, "op_state", &r->op_state); - ndr_print_uint16(ndr, "rdn_alias", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_alias); - ndr_print_uint16(ndr, "rdn_internal", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->rdn_internal); - ndr_print_drsuapi_DsAddEntry_RefType(ndr, "ref_type", r->ref_type); - ndr_print_uint16(ndr, "addr_list_count", r->addr_list_count); - ndr_print_ptr(ndr, "addr_list", r->addr_list); - ndr->depth++; - if (r->addr_list) { - ndr_print_drsuapi_DsaAddressListItem_V1(ndr, "addr_list", r->addr_list); - } - ndr->depth--; - ndr_print_ptr(ndr, "next", r->next); - ndr->depth++; - if (r->next) { - ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "next", r->next); - } - ndr->depth--; - ndr_print_uint32(ndr, "is_choice_set", r->is_choice_set); - ndr_print_drsuapi_DsAddEntry_ChoiceType(ndr, "choice", r->choice); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_SCALARS, &r->refer)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, NDR_BUFFERS, &r->refer)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryErrorInfo_Referr_V1"); - ndr->depth++; - ndr_print_uint32(ndr, "dsid", r->dsid); - ndr_print_WERROR(ndr, "extended_err", r->extended_err); - ndr_print_uint32(ndr, "extended_data", r->extended_data); - ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(ndr, "refer", &r->refer); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryErrorInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err)); - break; } - - case 2: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err)); - break; } - - case 3: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err)); - break; } - - case 4: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err)); - break; } - - case 5: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err)); - break; } - - case 6: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err)); - break; } - - case 7: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err)); - break; - - case 2: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err)); - break; - - case 3: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err)); - break; - - case 4: - break; - - case 5: - break; - - case 6: - break; - - case 7: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryErrorInfo *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_SCALARS, &r->attr_err)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_SCALARS, &r->name_err)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_SCALARS, &r->referral_err)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->security_err)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->service_err)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->update_err)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr, NDR_SCALARS, &r->system_err)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, NDR_BUFFERS, &r->attr_err)); - break; - - case 2: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, NDR_BUFFERS, &r->name_err)); - break; - - case 3: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, NDR_BUFFERS, &r->referral_err)); - break; - - case 4: - break; - - case 5: - break; - - case 6: - break; - - case 7: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryErrorInfo"); - switch (level) { - case 1: - ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(ndr, "attr_err", &r->attr_err); - break; - - case 2: - ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(ndr, "name_err", &r->name_err); - break; - - case 3: - ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(ndr, "referral_err", &r->referral_err); - break; - - case 4: - ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "security_err", &r->security_err); - break; - - case 5: - ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "service_err", &r->service_err); - break; - - case 6: - ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "update_err", &r->update_err); - break; - - case 7: - ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr, "system_err", &r->system_err); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData_V1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntry_ErrData_V1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, r->info, r->dir_err)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData_V1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntry_ErrData_V1 *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_info_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->info); - } else { - r->info = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->info, r->dir_err)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_ErrData_V1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntry_ErrData_V1"); - ndr->depth++; - ndr_print_WERROR(ndr, "status", r->status); - ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err); - ndr_print_ptr(ndr, "info", r->info); - ndr->depth++; - if (r->info) { - ndr_print_set_switch_value(ndr, r->info, r->dir_err); - ndr_print_drsuapi_DsAddEntryErrorInfo(ndr, "info", r->info); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntry_ErrData(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntry_ErrData *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntry_ErrData(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntry_ErrData *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_SCALARS, &r->v1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData_V1(ndr, NDR_BUFFERS, &r->v1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntry_ErrData *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsAddEntry_ErrData"); - switch (level) { - case 1: - ndr_print_drsuapi_DsAddEntry_ErrData_V1(ndr, "v1", &r->v1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_dom_sid28(ndr, NDR_BUFFERS, &r->sid)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjectIdentifier2"); - ndr->depth++; - ndr_print_GUID(ndr, "guid", &r->guid); - ndr_print_dom_sid28(ndr, "sid", &r->sid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr2 *r) -{ - uint32_t cntr_objects_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->id)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, r->dir_err)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dsid)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->extended_err)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->extended_data)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->problem)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id)); - } - if (r->objects) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1])); - } - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr2 *r) -{ - uint32_t _ptr_id; - TALLOC_CTX *_mem_save_id_0; - uint32_t _ptr_objects; - uint32_t cntr_objects_1; - TALLOC_CTX *_mem_save_objects_0; - TALLOC_CTX *_mem_save_objects_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id)); - if (_ptr_id) { - NDR_PULL_ALLOC(ndr, r->id); - } else { - r->id = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_DirErr(ndr, NDR_SCALARS, &r->dir_err)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dsid)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->extended_err)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->extended_data)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->problem)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects)); - if (_ptr_objects) { - NDR_PULL_ALLOC(ndr, r->objects); - } else { - r->objects = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id) { - _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->id, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0); - } - if (r->objects) { - _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->objects)); - NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects)); - _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0); - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1])); - } - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0); - } - if (r->objects) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r) -{ - uint32_t cntr_objects_1; - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr2"); - ndr->depth++; - ndr_print_ptr(ndr, "id", r->id); - ndr->depth++; - if (r->id) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id); - } - ndr->depth--; - ndr_print_drsuapi_DsAddEntry_DirErr(ndr, "dir_err", r->dir_err); - ndr_print_uint32(ndr, "dsid", r->dsid); - ndr_print_WERROR(ndr, "extended_err", r->extended_err); - ndr_print_uint32(ndr, "extended_data", r->extended_data); - ndr_print_uint16(ndr, "problem", r->problem); - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "objects", r->objects); - ndr->depth++; - if (r->objects) { - ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count); - ndr->depth++; - for (cntr_objects_1=0;cntr_objects_1count;cntr_objects_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) { - ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsAddEntryCtr3 *r) -{ - uint32_t cntr_objects_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->err_ver)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->err_data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->objects)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id)); - } - if (r->err_data) { - NDR_CHECK(ndr_push_set_switch_value(ndr, r->err_data, r->err_ver)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data)); - } - if (r->objects) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1])); - } - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsAddEntryCtr3 *r) -{ - uint32_t _ptr_id; - TALLOC_CTX *_mem_save_id_0; - uint32_t _ptr_err_data; - TALLOC_CTX *_mem_save_err_data_0; - uint32_t _ptr_objects; - uint32_t cntr_objects_1; - TALLOC_CTX *_mem_save_objects_0; - TALLOC_CTX *_mem_save_objects_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_id)); - if (_ptr_id) { - NDR_PULL_ALLOC(ndr, r->id); - } else { - r->id = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->err_ver)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_err_data)); - if (_ptr_err_data) { - NDR_PULL_ALLOC(ndr, r->err_data); - } else { - r->err_data = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objects)); - if (_ptr_objects) { - NDR_PULL_ALLOC(ndr, r->objects); - } else { - r->objects = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->id) { - _mem_save_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->id, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_id_0, 0); - } - if (r->err_data) { - _mem_save_err_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->err_data, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->err_data, r->err_ver)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntry_ErrData(ndr, NDR_SCALARS|NDR_BUFFERS, r->err_data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_err_data_0, 0); - } - if (r->objects) { - _mem_save_objects_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->objects)); - NDR_PULL_ALLOC_N(ndr, r->objects, ndr_get_array_size(ndr, &r->objects)); - _mem_save_objects_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->objects, 0); - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_SCALARS, &r->objects[cntr_objects_1])); - } - for (cntr_objects_1 = 0; cntr_objects_1 < r->count; cntr_objects_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr, NDR_BUFFERS, &r->objects[cntr_objects_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objects_0, 0); - } - if (r->objects) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->objects, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r) -{ - uint32_t cntr_objects_1; - ndr_print_struct(ndr, name, "drsuapi_DsAddEntryCtr3"); - ndr->depth++; - ndr_print_ptr(ndr, "id", r->id); - ndr->depth++; - if (r->id) { - ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "id", r->id); - } - ndr->depth--; - ndr_print_uint32(ndr, "err_ver", r->err_ver); - ndr_print_ptr(ndr, "err_data", r->err_data); - ndr->depth++; - if (r->err_data) { - ndr_print_set_switch_value(ndr, r->err_data, r->err_ver); - ndr_print_drsuapi_DsAddEntry_ErrData(ndr, "err_data", r->err_data); - } - ndr->depth--; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "objects", r->objects); - ndr->depth++; - if (r->objects) { - ndr->print(ndr, "%s: ARRAY(%d)", "objects", (int)r->count); - ndr->depth++; - for (cntr_objects_1=0;cntr_objects_1count;cntr_objects_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_objects_1) != -1) { - ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr, "objects", &r->objects[cntr_objects_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsAddEntryCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 2: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 2: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case 3: - NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsAddEntryCtr *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 2: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 2: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case 3: - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsAddEntryCtr"); - switch (level) { - case 2: - ndr_print_drsuapi_DsAddEntryCtr2(ndr, "ctr2", &r->ctr2); - break; - - case 3: - ndr_print_drsuapi_DsAddEntryCtr3(ndr, "ctr3", &r->ctr3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsExecuteKCC1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->taskID)); - NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsExecuteKCC1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->taskID)); - NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC1"); - ndr->depth++; - ndr_print_uint32(ndr, "taskID", r->taskID); - ndr_print_drsuapi_DsExecuteKCCFlags(ndr, "flags", r->flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsExecuteKCCRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsExecuteKCCRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsExecuteKCCRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_DsExecuteKCC1(ndr, "ctr1", &r->ctr1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaGetInfoLevel *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_REPLICA_GET_INFO: val = "DRSUAPI_DS_REPLICA_GET_INFO"; break; - case DRSUAPI_DS_REPLICA_GET_INFO2: val = "DRSUAPI_DS_REPLICA_GET_INFO2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaInfoType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: val = "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break; - case DRSUAPI_DS_REPLICA_INFO_CURSORS: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break; - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break; - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break; - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: val = "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break; - case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: val = "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break; - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break; - case DRSUAPI_DS_REPLICA_INFO_CURSORS2: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break; - case DRSUAPI_DS_REPLICA_INFO_CURSORS3: val = "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break; - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break; - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: val = "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break; - case DRSUAPI_DS_REPLICA_INFO_REPSTO: val = "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break; - case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: val = "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break; - case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: val = "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break; - case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: val = "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->object_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest1 *r) -{ - uint32_t _ptr_object_dn; - TALLOC_CTX *_mem_save_object_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn)); - if (_ptr_object_dn) { - NDR_PULL_ALLOC(ndr, r->object_dn); - } else { - r->object_dn = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->object_dn) { - _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn)); - if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest1"); - ndr->depth++; - ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type); - ndr_print_ptr(ndr, "object_dn", r->object_dn); - ndr->depth++; - if (r->object_dn) { - ndr_print_string(ndr, "object_dn", r->object_dn); - } - ndr->depth--; - ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaGetInfoRequest2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->object_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->attribute_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->value_dn_str) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->value_dn_str, ndr_charset_length(r->value_dn_str, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaGetInfoRequest2 *r) -{ - uint32_t _ptr_object_dn; - TALLOC_CTX *_mem_save_object_dn_0; - uint32_t _ptr_attribute_name; - TALLOC_CTX *_mem_save_attribute_name_0; - uint32_t _ptr_value_dn_str; - TALLOC_CTX *_mem_save_value_dn_str_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn)); - if (_ptr_object_dn) { - NDR_PULL_ALLOC(ndr, r->object_dn); - } else { - r->object_dn = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name)); - if (_ptr_attribute_name) { - NDR_PULL_ALLOC(ndr, r->attribute_name); - } else { - r->attribute_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str)); - if (_ptr_value_dn_str) { - NDR_PULL_ALLOC(ndr, r->value_dn_str); - } else { - r->value_dn_str = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->object_dn) { - _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn)); - if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0); - } - if (r->attribute_name) { - _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name)); - if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0); - } - if (r->value_dn_str) { - _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str)); - if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->value_dn_str), ndr_get_array_length(ndr, &r->value_dn_str)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->value_dn_str, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfoRequest2"); - ndr->depth++; - ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", r->info_type); - ndr_print_ptr(ndr, "object_dn", r->object_dn); - ndr->depth++; - if (r->object_dn) { - ndr_print_string(ndr, "object_dn", r->object_dn); - } - ndr->depth--; - ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid); - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "attribute_name", r->attribute_name); - ndr->depth++; - if (r->attribute_name) { - ndr_print_string(ndr, "attribute_name", r->attribute_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str); - ndr->depth++; - if (r->value_dn_str) { - ndr_print_string(ndr, "value_dn_str", r->value_dn_str); - } - ndr->depth--; - ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaGetInfoRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case DRSUAPI_DS_REPLICA_GET_INFO: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - case DRSUAPI_DS_REPLICA_GET_INFO2: { - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DRSUAPI_DS_REPLICA_GET_INFO: - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - case DRSUAPI_DS_REPLICA_GET_INFO2: - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaGetInfoRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case DRSUAPI_DS_REPLICA_GET_INFO: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - case DRSUAPI_DS_REPLICA_GET_INFO2: { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_SCALARS, &r->req2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DRSUAPI_DS_REPLICA_GET_INFO: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - case DRSUAPI_DS_REPLICA_GET_INFO2: - NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr, NDR_BUFFERS, &r->req2)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaGetInfoRequest"); - switch (level) { - case DRSUAPI_DS_REPLICA_GET_INFO: - ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr, "req1", &r->req1); - break; - - case DRSUAPI_DS_REPLICA_GET_INFO2: - ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr, "req2", &r->req2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbour *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_obj_dn)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->replica_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->tmp_highest_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_success)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_attempt)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->result_last_attempt)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->consecutive_sync_failures)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->naming_context_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->naming_context_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->naming_context_dn, ndr_charset_length(r->naming_context_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->source_dsa_obj_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->source_dsa_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_address, ndr_charset_length(r->source_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->transport_obj_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->transport_obj_dn, ndr_charset_length(r->transport_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbour *r) -{ - uint32_t _ptr_naming_context_dn; - TALLOC_CTX *_mem_save_naming_context_dn_0; - uint32_t _ptr_source_dsa_obj_dn; - TALLOC_CTX *_mem_save_source_dsa_obj_dn_0; - uint32_t _ptr_source_dsa_address; - TALLOC_CTX *_mem_save_source_dsa_address_0; - uint32_t _ptr_transport_obj_dn; - TALLOC_CTX *_mem_save_transport_obj_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context_dn)); - if (_ptr_naming_context_dn) { - NDR_PULL_ALLOC(ndr, r->naming_context_dn); - } else { - r->naming_context_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn)); - if (_ptr_source_dsa_obj_dn) { - NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn); - } else { - r->source_dsa_obj_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_address)); - if (_ptr_source_dsa_address) { - NDR_PULL_ALLOC(ndr, r->source_dsa_address); - } else { - r->source_dsa_address = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_obj_dn)); - if (_ptr_transport_obj_dn) { - NDR_PULL_ALLOC(ndr, r->transport_obj_dn); - } else { - r->transport_obj_dn = NULL; - } - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->replica_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->naming_context_obj_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_obj_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->transport_obj_guid)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->tmp_highest_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_success)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_attempt)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->result_last_attempt)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->consecutive_sync_failures)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->naming_context_dn) { - _mem_save_naming_context_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->naming_context_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->naming_context_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->naming_context_dn)); - if (ndr_get_array_length(ndr, &r->naming_context_dn) > ndr_get_array_size(ndr, &r->naming_context_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->naming_context_dn), ndr_get_array_length(ndr, &r->naming_context_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->naming_context_dn, ndr_get_array_length(ndr, &r->naming_context_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_dn_0, 0); - } - if (r->source_dsa_obj_dn) { - _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn)); - if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0); - } - if (r->source_dsa_address) { - _mem_save_source_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_address)); - if (ndr_get_array_length(ndr, &r->source_dsa_address) > ndr_get_array_size(ndr, &r->source_dsa_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_address), ndr_get_array_length(ndr, &r->source_dsa_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_address, ndr_get_array_length(ndr, &r->source_dsa_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_address_0, 0); - } - if (r->transport_obj_dn) { - _mem_save_transport_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->transport_obj_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->transport_obj_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->transport_obj_dn)); - if (ndr_get_array_length(ndr, &r->transport_obj_dn) > ndr_get_array_size(ndr, &r->transport_obj_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport_obj_dn), ndr_get_array_length(ndr, &r->transport_obj_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport_obj_dn, ndr_get_array_length(ndr, &r->transport_obj_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_obj_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbour"); - ndr->depth++; - ndr_print_ptr(ndr, "naming_context_dn", r->naming_context_dn); - ndr->depth++; - if (r->naming_context_dn) { - ndr_print_string(ndr, "naming_context_dn", r->naming_context_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn); - ndr->depth++; - if (r->source_dsa_obj_dn) { - ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "source_dsa_address", r->source_dsa_address); - ndr->depth++; - if (r->source_dsa_address) { - ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address); - } - ndr->depth--; - ndr_print_ptr(ndr, "transport_obj_dn", r->transport_obj_dn); - ndr->depth++; - if (r->transport_obj_dn) { - ndr_print_string(ndr, "transport_obj_dn", r->transport_obj_dn); - } - ndr->depth--; - ndr_print_drsuapi_DrsOptions(ndr, "replica_flags", r->replica_flags); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr_print_GUID(ndr, "naming_context_obj_guid", &r->naming_context_obj_guid); - ndr_print_GUID(ndr, "source_dsa_obj_guid", &r->source_dsa_obj_guid); - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_GUID(ndr, "transport_obj_guid", &r->transport_obj_guid); - ndr_print_hyper(ndr, "tmp_highest_usn", r->tmp_highest_usn); - ndr_print_hyper(ndr, "highest_usn", r->highest_usn); - ndr_print_NTTIME(ndr, "last_success", r->last_success); - ndr_print_NTTIME(ndr, "last_attempt", r->last_attempt); - ndr_print_WERROR(ndr, "result_last_attempt", r->result_last_attempt); - ndr_print_uint32(ndr, "consecutive_sync_failures", r->consecutive_sync_failures); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaNeighbourCtr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaNeighbourCtr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaNeighbourCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaNeighbour(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursorCtr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursorCtr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursorCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData *r) -{ - uint32_t _ptr_attribute_name; - TALLOC_CTX *_mem_save_attribute_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name)); - if (_ptr_attribute_name) { - NDR_PULL_ALLOC(ndr, r->attribute_name); - } else { - r->attribute_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name)); - if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData"); - ndr->depth++; - ndr_print_ptr(ndr, "attribute_name", r->attribute_name); - ndr->depth++; - if (r->attribute_name) { - ndr_print_string(ndr, "attribute_name", r->attribute_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time); - ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); - ndr_print_hyper(ndr, "originating_usn", r->originating_usn); - ndr_print_hyper(ndr, "local_usn", r->local_usn); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaDataCtr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaDataCtr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaDataCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaObjMetaData(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailure *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dsa_obj_dn)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->first_failure)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_failures)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_result)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dsa_obj_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dsa_obj_dn, ndr_charset_length(r->dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailure *r) -{ - uint32_t _ptr_dsa_obj_dn; - TALLOC_CTX *_mem_save_dsa_obj_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_obj_dn)); - if (_ptr_dsa_obj_dn) { - NDR_PULL_ALLOC(ndr, r->dsa_obj_dn); - } else { - r->dsa_obj_dn = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dsa_obj_guid)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->first_failure)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_failures)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_result)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dsa_obj_dn) { - _mem_save_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dsa_obj_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dsa_obj_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dsa_obj_dn)); - if (ndr_get_array_length(ndr, &r->dsa_obj_dn) > ndr_get_array_size(ndr, &r->dsa_obj_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dsa_obj_dn), ndr_get_array_length(ndr, &r->dsa_obj_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dsa_obj_dn, ndr_get_array_length(ndr, &r->dsa_obj_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_obj_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailure"); - ndr->depth++; - ndr_print_ptr(ndr, "dsa_obj_dn", r->dsa_obj_dn); - ndr->depth++; - if (r->dsa_obj_dn) { - ndr_print_string(ndr, "dsa_obj_dn", r->dsa_obj_dn); - } - ndr->depth--; - ndr_print_GUID(ndr, "dsa_obj_guid", &r->dsa_obj_guid); - ndr_print_NTTIME(ndr, "first_failure", r->first_failure); - ndr_print_uint32(ndr, "num_failures", r->num_failures); - ndr_print_WERROR(ndr, "last_result", r->last_result); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaKccDsaFailuresCtr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaKccDsaFailuresCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpType(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsReplicaOpType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r) -{ - const char *val = NULL; - - switch (r) { - case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: val = "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break; - case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: val = "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break; - case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: val = "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break; - case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: val = "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break; - case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: val = "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaOp(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->operation_start)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_num)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, r->operation_type)); - NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->nc_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_obj_dn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote_dsa_address)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->nc_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->nc_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->nc_dn, ndr_charset_length(r->nc_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->remote_dsa_obj_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_obj_dn, ndr_charset_length(r->remote_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->remote_dsa_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote_dsa_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote_dsa_address, ndr_charset_length(r->remote_dsa_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOp *r) -{ - uint32_t _ptr_nc_dn; - TALLOC_CTX *_mem_save_nc_dn_0; - uint32_t _ptr_remote_dsa_obj_dn; - TALLOC_CTX *_mem_save_remote_dsa_obj_dn_0; - uint32_t _ptr_remote_dsa_address; - TALLOC_CTX *_mem_save_remote_dsa_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->operation_start)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_num)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, &r->operation_type)); - NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nc_dn)); - if (_ptr_nc_dn) { - NDR_PULL_ALLOC(ndr, r->nc_dn); - } else { - r->nc_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_obj_dn)); - if (_ptr_remote_dsa_obj_dn) { - NDR_PULL_ALLOC(ndr, r->remote_dsa_obj_dn); - } else { - r->remote_dsa_obj_dn = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote_dsa_address)); - if (_ptr_remote_dsa_address) { - NDR_PULL_ALLOC(ndr, r->remote_dsa_address); - } else { - r->remote_dsa_address = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->nc_obj_guid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->remote_dsa_obj_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->nc_dn) { - _mem_save_nc_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->nc_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->nc_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->nc_dn)); - if (ndr_get_array_length(ndr, &r->nc_dn) > ndr_get_array_size(ndr, &r->nc_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->nc_dn), ndr_get_array_length(ndr, &r->nc_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->nc_dn, ndr_get_array_length(ndr, &r->nc_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nc_dn_0, 0); - } - if (r->remote_dsa_obj_dn) { - _mem_save_remote_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_obj_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_obj_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_obj_dn)); - if (ndr_get_array_length(ndr, &r->remote_dsa_obj_dn) > ndr_get_array_size(ndr, &r->remote_dsa_obj_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_obj_dn), ndr_get_array_length(ndr, &r->remote_dsa_obj_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_obj_dn, ndr_get_array_length(ndr, &r->remote_dsa_obj_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_obj_dn_0, 0); - } - if (r->remote_dsa_address) { - _mem_save_remote_dsa_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->remote_dsa_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->remote_dsa_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->remote_dsa_address)); - if (ndr_get_array_length(ndr, &r->remote_dsa_address) > ndr_get_array_size(ndr, &r->remote_dsa_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote_dsa_address), ndr_get_array_length(ndr, &r->remote_dsa_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote_dsa_address, ndr_get_array_length(ndr, &r->remote_dsa_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_dsa_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaOp"); - ndr->depth++; - ndr_print_NTTIME(ndr, "operation_start", r->operation_start); - ndr_print_uint32(ndr, "serial_num", r->serial_num); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_drsuapi_DsReplicaOpType(ndr, "operation_type", r->operation_type); - ndr_print_drsuapi_DrsOptions(ndr, "options", r->options); - ndr_print_ptr(ndr, "nc_dn", r->nc_dn); - ndr->depth++; - if (r->nc_dn) { - ndr_print_string(ndr, "nc_dn", r->nc_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn); - ndr->depth++; - if (r->remote_dsa_obj_dn) { - ndr_print_string(ndr, "remote_dsa_obj_dn", r->remote_dsa_obj_dn); - } - ndr->depth--; - ndr_print_ptr(ndr, "remote_dsa_address", r->remote_dsa_address); - ndr->depth++; - if (r->remote_dsa_address) { - ndr_print_string(ndr, "remote_dsa_address", r->remote_dsa_address); - } - ndr->depth--; - ndr_print_GUID(ndr, "nc_obj_guid", &r->nc_obj_guid); - ndr_print_GUID(ndr, "remote_dsa_obj_guid", &r->remote_dsa_obj_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOpCtr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOpCtr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaOpCtr"); - ndr->depth++; - ndr_print_NTTIME(ndr, "time", r->time); - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaOp(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->object_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->binary) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData *r) -{ - uint32_t _ptr_attribute_name; - TALLOC_CTX *_mem_save_attribute_name_0; - uint32_t _ptr_object_dn; - TALLOC_CTX *_mem_save_object_dn_0; - uint32_t _ptr_binary; - TALLOC_CTX *_mem_save_binary_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name)); - if (_ptr_attribute_name) { - NDR_PULL_ALLOC(ndr, r->attribute_name); - } else { - r->attribute_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn)); - if (_ptr_object_dn) { - NDR_PULL_ALLOC(ndr, r->object_dn); - } else { - r->object_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary)); - if (_ptr_binary) { - NDR_PULL_ALLOC(ndr, r->binary); - } else { - r->binary = NULL; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name)); - if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0); - } - if (r->object_dn) { - _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn)); - if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0); - } - if (r->binary) { - _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData"); - ndr->depth++; - ndr_print_ptr(ndr, "attribute_name", r->attribute_name); - ndr->depth++; - if (r->attribute_name) { - ndr_print_string(ndr, "attribute_name", r->attribute_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "object_dn", r->object_dn); - ndr->depth++; - if (r->object_dn) { - ndr_print_string(ndr, "object_dn", r->object_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary); - ndr_print_ptr(ndr, "binary", r->binary); - ndr->depth++; - if (r->binary) { - ndr_print_DATA_BLOB(ndr, "binary", *r->binary); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "deleted", r->deleted); - ndr_print_NTTIME(ndr, "created", r->created); - ndr_print_uint32(ndr, "version", r->version); - ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time); - ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); - ndr_print_hyper(ndr, "originating_usn", r->originating_usn); - ndr_print_hyper(ndr, "local_usn", r->local_usn); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaDataCtr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaDataCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2Ctr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2Ctr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor2Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor2(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->highest_usn)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_sync_success)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_obj_dn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->source_dsa_obj_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->source_dsa_obj_dn, ndr_charset_length(r->source_dsa_obj_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3 *r) -{ - uint32_t _ptr_source_dsa_obj_dn; - TALLOC_CTX *_mem_save_source_dsa_obj_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->highest_usn)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_sync_success)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_obj_dn)); - if (_ptr_source_dsa_obj_dn) { - NDR_PULL_ALLOC(ndr, r->source_dsa_obj_dn); - } else { - r->source_dsa_obj_dn = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->source_dsa_obj_dn) { - _mem_save_source_dsa_obj_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_obj_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->source_dsa_obj_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->source_dsa_obj_dn)); - if (ndr_get_array_length(ndr, &r->source_dsa_obj_dn) > ndr_get_array_size(ndr, &r->source_dsa_obj_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->source_dsa_obj_dn), ndr_get_array_length(ndr, &r->source_dsa_obj_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->source_dsa_obj_dn, ndr_get_array_length(ndr, &r->source_dsa_obj_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_obj_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3"); - ndr->depth++; - ndr_print_GUID(ndr, "source_dsa_invocation_id", &r->source_dsa_invocation_id); - ndr_print_hyper(ndr, "highest_usn", r->highest_usn); - ndr_print_NTTIME(ndr, "last_sync_success", r->last_sync_success); - ndr_print_ptr(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn); - ndr->depth++; - if (r->source_dsa_obj_dn) { - ndr_print_string(ndr, "source_dsa_obj_dn", r->source_dsa_obj_dn); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor3Ctr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor3Ctr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaCursor3Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaCursor3(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->originating_dsa_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2 *r) -{ - uint32_t _ptr_attribute_name; - TALLOC_CTX *_mem_save_attribute_name_0; - uint32_t _ptr_originating_dsa_dn; - TALLOC_CTX *_mem_save_originating_dsa_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name)); - if (_ptr_attribute_name) { - NDR_PULL_ALLOC(ndr, r->attribute_name); - } else { - r->attribute_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn)); - if (_ptr_originating_dsa_dn) { - NDR_PULL_ALLOC(ndr, r->originating_dsa_dn); - } else { - r->originating_dsa_dn = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name)); - if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0); - } - if (r->originating_dsa_dn) { - _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn)); - if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2"); - ndr->depth++; - ndr_print_ptr(ndr, "attribute_name", r->attribute_name); - ndr->depth++; - if (r->attribute_name) { - ndr_print_string(ndr, "attribute_name", r->attribute_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time); - ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); - ndr_print_hyper(ndr, "originating_usn", r->originating_usn); - ndr_print_hyper(ndr, "local_usn", r->local_usn); - ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn); - ndr->depth++; - if (r->originating_dsa_dn) { - ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjMetaData2Ctr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjMetaData2Ctr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaObjMetaData2Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaObjMetaData2(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_DATA_BLOB(0, r->binary, 0))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->binary)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->deleted)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->created)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->originating_change_time)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->originating_usn)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->local_usn)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->originating_dsa_dn)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->object_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->binary) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->binary)); - } - if (r->originating_dsa_dn) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->originating_dsa_dn, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->originating_dsa_dn, ndr_charset_length(r->originating_dsa_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2 *r) -{ - uint32_t _ptr_attribute_name; - TALLOC_CTX *_mem_save_attribute_name_0; - uint32_t _ptr_object_dn; - TALLOC_CTX *_mem_save_object_dn_0; - uint32_t _ptr_binary; - TALLOC_CTX *_mem_save_binary_0; - uint32_t _ptr_originating_dsa_dn; - TALLOC_CTX *_mem_save_originating_dsa_dn_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name)); - if (_ptr_attribute_name) { - NDR_PULL_ALLOC(ndr, r->attribute_name); - } else { - r->attribute_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_dn)); - if (_ptr_object_dn) { - NDR_PULL_ALLOC(ndr, r->object_dn); - } else { - r->object_dn = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__ndr_size_binary)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary)); - if (_ptr_binary) { - NDR_PULL_ALLOC(ndr, r->binary); - } else { - r->binary = NULL; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->deleted)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->created)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->originating_change_time)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->originating_invocation_id)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->originating_usn)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->local_usn)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_originating_dsa_dn)); - if (_ptr_originating_dsa_dn) { - NDR_PULL_ALLOC(ndr, r->originating_dsa_dn); - } else { - r->originating_dsa_dn = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->attribute_name) { - _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name)); - if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0); - } - if (r->object_dn) { - _mem_save_object_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->object_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->object_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->object_dn)); - if (ndr_get_array_length(ndr, &r->object_dn) > ndr_get_array_size(ndr, &r->object_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_dn), ndr_get_array_length(ndr, &r->object_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0); - } - if (r->binary) { - _mem_save_binary_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->binary, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->binary)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_0, 0); - } - if (r->originating_dsa_dn) { - _mem_save_originating_dsa_dn_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->originating_dsa_dn, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->originating_dsa_dn)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->originating_dsa_dn)); - if (ndr_get_array_length(ndr, &r->originating_dsa_dn) > ndr_get_array_size(ndr, &r->originating_dsa_dn)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->originating_dsa_dn), ndr_get_array_length(ndr, &r->originating_dsa_dn)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->originating_dsa_dn, ndr_get_array_length(ndr, &r->originating_dsa_dn), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_originating_dsa_dn_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2"); - ndr->depth++; - ndr_print_ptr(ndr, "attribute_name", r->attribute_name); - ndr->depth++; - if (r->attribute_name) { - ndr_print_string(ndr, "attribute_name", r->attribute_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "object_dn", r->object_dn); - ndr->depth++; - if (r->object_dn) { - ndr_print_string(ndr, "object_dn", r->object_dn); - } - ndr->depth--; - ndr_print_uint32(ndr, "__ndr_size_binary", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_DATA_BLOB(0, r->binary, 0):r->__ndr_size_binary); - ndr_print_ptr(ndr, "binary", r->binary); - ndr->depth++; - if (r->binary) { - ndr_print_DATA_BLOB(ndr, "binary", *r->binary); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "deleted", r->deleted); - ndr_print_NTTIME(ndr, "created", r->created); - ndr_print_uint32(ndr, "version", r->version); - ndr_print_NTTIME(ndr, "originating_change_time", r->originating_change_time); - ndr_print_GUID(ndr, "originating_invocation_id", &r->originating_invocation_id); - ndr_print_hyper(ndr, "originating_usn", r->originating_usn); - ndr_print_hyper(ndr, "local_usn", r->local_usn); - ndr_print_ptr(ndr, "originating_dsa_dn", r->originating_dsa_dn); - ndr->depth++; - if (r->originating_dsa_dn) { - ndr_print_string(ndr, "originating_dsa_dn", r->originating_dsa_dn); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttrValMetaData2Ctr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAttrValMetaData2Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->bind_guid)); - NDR_CHECK(ndr_push_NTTIME_1sec(ndr, NDR_SCALARS, r->bind_time)); - { - uint32_t _flags_save_ipv4address = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->client_ip_address)); - ndr->flags = _flags_save_ipv4address; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->bind_guid)); - NDR_CHECK(ndr_pull_NTTIME_1sec(ndr, NDR_SCALARS, &r->bind_time)); - { - uint32_t _flags_save_ipv4address = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->client_ip_address)); - ndr->flags = _flags_save_ipv4address; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04"); - ndr->depth++; - ndr_print_hyper(ndr, "u1", r->u1); - ndr_print_uint32(ndr, "u2", r->u2); - ndr_print_uint32(ndr, "u3", r->u3); - ndr_print_GUID(ndr, "bind_guid", &r->bind_guid); - ndr_print_NTTIME_1sec(ndr, "bind_time", r->bind_time); - ndr_print_ipv4address(ndr, "client_ip_address", r->client_ip_address); - ndr_print_uint32(ndr, "u5", r->u5); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaConnection04Ctr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaConnection04Ctr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplicaConnection04Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplicaConnection04(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplica06(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->str1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u5)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->u6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u7)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->str1) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->str1, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->str1, ndr_charset_length(r->str1, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplica06(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06 *r) -{ - uint32_t _ptr_str1; - TALLOC_CTX *_mem_save_str1_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_str1)); - if (_ptr_str1) { - NDR_PULL_ALLOC(ndr, r->str1); - } else { - r->str1 = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u5)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->u6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u7)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->str1) { - _mem_save_str1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->str1, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->str1)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->str1)); - if (ndr_get_array_length(ndr, &r->str1) > ndr_get_array_size(ndr, &r->str1)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->str1), ndr_get_array_length(ndr, &r->str1)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->str1, ndr_get_array_length(ndr, &r->str1), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_str1_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplica06"); - ndr->depth++; - ndr_print_ptr(ndr, "str1", r->str1); - ndr->depth++; - if (r->str1) { - ndr_print_string(ndr, "str1", r->str1); - } - ndr->depth--; - ndr_print_uint32(ndr, "u1", r->u1); - ndr_print_uint32(ndr, "u2", r->u2); - ndr_print_uint32(ndr, "u3", r->u3); - ndr_print_uint32(ndr, "u4", r->u4); - ndr_print_uint32(ndr, "u5", r->u5); - ndr_print_hyper(ndr, "u6", r->u6); - ndr_print_uint32(ndr, "u7", r->u7); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplica06Ctr *r) -{ - uint32_t cntr_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplica06Ctr *r) -{ - uint32_t cntr_array_0; - TALLOC_CTX *_mem_save_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 256) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_SCALARS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_0 = 0; cntr_array_0 < r->count; cntr_array_0++) { - NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr, NDR_BUFFERS, &r->array[cntr_array_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r) -{ - uint32_t cntr_array_0; - ndr_print_struct(ndr, name, "drsuapi_DsReplica06Ctr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_0=0;cntr_array_0count;cntr_array_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_array_0) != -1) { - ndr_print_drsuapi_DsReplica06(ndr, "array", &r->array[cntr_array_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaInfo(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsReplicaInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->neighbours)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_CURSORS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->connectfailures)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->linkfailures)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->pendingops)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_CURSORS2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors2)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_CURSORS3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->cursors3)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->objmetadata2)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attrvalmetadata2)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_REPSTO: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->repsto)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->clientctx)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->udv1)); - break; } - - case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvoutgoingcalls)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: - if (r->neighbours) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS: - if (r->cursors) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: - if (r->objmetadata) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: - if (r->connectfailures) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: - if (r->linkfailures) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: - if (r->pendingops) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: - if (r->attrvalmetadata) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS2: - if (r->cursors2) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS3: - if (r->cursors3) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: - if (r->objmetadata2) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: - if (r->attrvalmetadata2) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_REPSTO: - if (r->repsto) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: - if (r->clientctx) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: - if (r->udv1) { - NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1)); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: - if (r->srvoutgoingcalls) { - NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_neighbours_0; - TALLOC_CTX *_mem_save_cursors_0; - TALLOC_CTX *_mem_save_objmetadata_0; - TALLOC_CTX *_mem_save_connectfailures_0; - TALLOC_CTX *_mem_save_linkfailures_0; - TALLOC_CTX *_mem_save_pendingops_0; - TALLOC_CTX *_mem_save_attrvalmetadata_0; - TALLOC_CTX *_mem_save_cursors2_0; - TALLOC_CTX *_mem_save_cursors3_0; - TALLOC_CTX *_mem_save_objmetadata2_0; - TALLOC_CTX *_mem_save_attrvalmetadata2_0; - TALLOC_CTX *_mem_save_repsto_0; - TALLOC_CTX *_mem_save_clientctx_0; - TALLOC_CTX *_mem_save_udv1_0; - TALLOC_CTX *_mem_save_srvoutgoingcalls_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: { - uint32_t _ptr_neighbours; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_neighbours)); - if (_ptr_neighbours) { - NDR_PULL_ALLOC(ndr, r->neighbours); - } else { - r->neighbours = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_CURSORS: { - uint32_t _ptr_cursors; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors)); - if (_ptr_cursors) { - NDR_PULL_ALLOC(ndr, r->cursors); - } else { - r->cursors = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: { - uint32_t _ptr_objmetadata; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata)); - if (_ptr_objmetadata) { - NDR_PULL_ALLOC(ndr, r->objmetadata); - } else { - r->objmetadata = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: { - uint32_t _ptr_connectfailures; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_connectfailures)); - if (_ptr_connectfailures) { - NDR_PULL_ALLOC(ndr, r->connectfailures); - } else { - r->connectfailures = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: { - uint32_t _ptr_linkfailures; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_linkfailures)); - if (_ptr_linkfailures) { - NDR_PULL_ALLOC(ndr, r->linkfailures); - } else { - r->linkfailures = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: { - uint32_t _ptr_pendingops; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pendingops)); - if (_ptr_pendingops) { - NDR_PULL_ALLOC(ndr, r->pendingops); - } else { - r->pendingops = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: { - uint32_t _ptr_attrvalmetadata; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata)); - if (_ptr_attrvalmetadata) { - NDR_PULL_ALLOC(ndr, r->attrvalmetadata); - } else { - r->attrvalmetadata = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_CURSORS2: { - uint32_t _ptr_cursors2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors2)); - if (_ptr_cursors2) { - NDR_PULL_ALLOC(ndr, r->cursors2); - } else { - r->cursors2 = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_CURSORS3: { - uint32_t _ptr_cursors3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cursors3)); - if (_ptr_cursors3) { - NDR_PULL_ALLOC(ndr, r->cursors3); - } else { - r->cursors3 = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: { - uint32_t _ptr_objmetadata2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_objmetadata2)); - if (_ptr_objmetadata2) { - NDR_PULL_ALLOC(ndr, r->objmetadata2); - } else { - r->objmetadata2 = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: { - uint32_t _ptr_attrvalmetadata2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attrvalmetadata2)); - if (_ptr_attrvalmetadata2) { - NDR_PULL_ALLOC(ndr, r->attrvalmetadata2); - } else { - r->attrvalmetadata2 = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_REPSTO: { - uint32_t _ptr_repsto; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_repsto)); - if (_ptr_repsto) { - NDR_PULL_ALLOC(ndr, r->repsto); - } else { - r->repsto = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: { - uint32_t _ptr_clientctx; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_clientctx)); - if (_ptr_clientctx) { - NDR_PULL_ALLOC(ndr, r->clientctx); - } else { - r->clientctx = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: { - uint32_t _ptr_udv1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_udv1)); - if (_ptr_udv1) { - NDR_PULL_ALLOC(ndr, r->udv1); - } else { - r->udv1 = NULL; - } - break; } - - case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: { - uint32_t _ptr_srvoutgoingcalls; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvoutgoingcalls)); - if (_ptr_srvoutgoingcalls) { - NDR_PULL_ALLOC(ndr, r->srvoutgoingcalls); - } else { - r->srvoutgoingcalls = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: - if (r->neighbours) { - _mem_save_neighbours_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->neighbours, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->neighbours)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_neighbours_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS: - if (r->cursors) { - _mem_save_cursors_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr, NDR_SCALARS, r->cursors)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: - if (r->objmetadata) { - _mem_save_objmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: - if (r->connectfailures) { - _mem_save_connectfailures_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->connectfailures, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->connectfailures)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connectfailures_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: - if (r->linkfailures) { - _mem_save_linkfailures_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->linkfailures, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->linkfailures)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_linkfailures_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: - if (r->pendingops) { - _mem_save_pendingops_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->pendingops, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->pendingops)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pendingops_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: - if (r->attrvalmetadata) { - _mem_save_attrvalmetadata_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS2: - if (r->cursors2) { - _mem_save_cursors2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors2, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr, NDR_SCALARS, r->cursors2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors2_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS3: - if (r->cursors3) { - _mem_save_cursors3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cursors3, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->cursors3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cursors3_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: - if (r->objmetadata2) { - _mem_save_objmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->objmetadata2, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->objmetadata2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objmetadata2_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: - if (r->attrvalmetadata2) { - _mem_save_attrvalmetadata2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attrvalmetadata2, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->attrvalmetadata2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attrvalmetadata2_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_REPSTO: - if (r->repsto) { - _mem_save_repsto_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->repsto, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->repsto)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_repsto_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: - if (r->clientctx) { - _mem_save_clientctx_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->clientctx, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr, NDR_SCALARS, r->clientctx)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_clientctx_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: - if (r->udv1) { - _mem_save_udv1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->udv1, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr, NDR_SCALARS, r->udv1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_udv1_0, 0); - } - break; - - case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: - if (r->srvoutgoingcalls) { - _mem_save_srvoutgoingcalls_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->srvoutgoingcalls, 0); - NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->srvoutgoingcalls)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvoutgoingcalls_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsReplicaInfo"); - switch (level) { - case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS: - ndr_print_ptr(ndr, "neighbours", r->neighbours); - ndr->depth++; - if (r->neighbours) { - ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "neighbours", r->neighbours); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS: - ndr_print_ptr(ndr, "cursors", r->cursors); - ndr->depth++; - if (r->cursors) { - ndr_print_drsuapi_DsReplicaCursorCtr(ndr, "cursors", r->cursors); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: - ndr_print_ptr(ndr, "objmetadata", r->objmetadata); - ndr->depth++; - if (r->objmetadata) { - ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr, "objmetadata", r->objmetadata); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: - ndr_print_ptr(ndr, "connectfailures", r->connectfailures); - ndr->depth++; - if (r->connectfailures) { - ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "connectfailures", r->connectfailures); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: - ndr_print_ptr(ndr, "linkfailures", r->linkfailures); - ndr->depth++; - if (r->linkfailures) { - ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr, "linkfailures", r->linkfailures); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS: - ndr_print_ptr(ndr, "pendingops", r->pendingops); - ndr->depth++; - if (r->pendingops) { - ndr_print_drsuapi_DsReplicaOpCtr(ndr, "pendingops", r->pendingops); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: - ndr_print_ptr(ndr, "attrvalmetadata", r->attrvalmetadata); - ndr->depth++; - if (r->attrvalmetadata) { - ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr, "attrvalmetadata", r->attrvalmetadata); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS2: - ndr_print_ptr(ndr, "cursors2", r->cursors2); - ndr->depth++; - if (r->cursors2) { - ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr, "cursors2", r->cursors2); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_CURSORS3: - ndr_print_ptr(ndr, "cursors3", r->cursors3); - ndr->depth++; - if (r->cursors3) { - ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr, "cursors3", r->cursors3); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: - ndr_print_ptr(ndr, "objmetadata2", r->objmetadata2); - ndr->depth++; - if (r->objmetadata2) { - ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr, "objmetadata2", r->objmetadata2); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: - ndr_print_ptr(ndr, "attrvalmetadata2", r->attrvalmetadata2); - ndr->depth++; - if (r->attrvalmetadata2) { - ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr, "attrvalmetadata2", r->attrvalmetadata2); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_REPSTO: - ndr_print_ptr(ndr, "repsto", r->repsto); - ndr->depth++; - if (r->repsto) { - ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr, "repsto", r->repsto); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: - ndr_print_ptr(ndr, "clientctx", r->clientctx); - ndr->depth++; - if (r->clientctx) { - ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr, "clientctx", r->clientctx); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: - ndr_print_ptr(ndr, "udv1", r->udv1); - ndr->depth++; - if (r->udv1) { - ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr, "udv1", r->udv1); - } - ndr->depth--; - break; - - case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: - ndr_print_ptr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls); - ndr->depth++; - if (r->srvoutgoingcalls) { - ndr_print_drsuapi_DsReplica06Ctr(ndr, "srvoutgoingcalls", r->srvoutgoingcalls); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Ctr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Ctr *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Ctr"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetMembershipsCtr1(ndr, "ctr1", &r->ctr1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetMemberships2Request1 *r) -{ - uint32_t cntr_req_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->req_array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req)); - for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->req_array[cntr_req_array_1])); - } - for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) { - if (r->req_array[cntr_req_array_1]) { - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1])); - } - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetMemberships2Request1 *r) -{ - uint32_t _ptr_req_array; - uint32_t cntr_req_array_1; - TALLOC_CTX *_mem_save_req_array_0; - TALLOC_CTX *_mem_save_req_array_1; - TALLOC_CTX *_mem_save_req_array_2; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req)); - if (r->num_req < 1 || r->num_req > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array)); - if (_ptr_req_array) { - NDR_PULL_ALLOC(ndr, r->req_array); - } else { - r->req_array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->req_array) { - _mem_save_req_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->req_array)); - NDR_PULL_ALLOC_N(ndr, r->req_array, ndr_get_array_size(ndr, &r->req_array)); - _mem_save_req_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->req_array, 0); - for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_req_array)); - if (_ptr_req_array) { - NDR_PULL_ALLOC(ndr, r->req_array[cntr_req_array_1]); - } else { - r->req_array[cntr_req_array_1] = NULL; - } - } - for (cntr_req_array_1 = 0; cntr_req_array_1 < r->num_req; cntr_req_array_1++) { - if (r->req_array[cntr_req_array_1]) { - _mem_save_req_array_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->req_array[cntr_req_array_1], 0); - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr, NDR_SCALARS|NDR_BUFFERS, r->req_array[cntr_req_array_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_array_0, 0); - } - if (r->req_array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->req_array, r->num_req)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r) -{ - uint32_t cntr_req_array_1; - ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2Request1"); - ndr->depth++; - ndr_print_uint32(ndr, "num_req", r->num_req); - ndr_print_ptr(ndr, "req_array", r->req_array); - ndr->depth++; - if (r->req_array) { - ndr->print(ndr, "%s: ARRAY(%d)", "req_array", (int)r->num_req); - ndr->depth++; - for (cntr_req_array_1=0;cntr_req_array_1num_req;cntr_req_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_req_array_1) != -1) { - ndr_print_ptr(ndr, "req_array", r->req_array[cntr_req_array_1]); - ndr->depth++; - if (r->req_array[cntr_req_array_1]) { - ndr_print_drsuapi_DsGetMembershipsRequest1(ndr, "req_array", r->req_array[cntr_req_array_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsGetMemberships2Request *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsGetMemberships2Request *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_DsGetMemberships2Request"); - switch (level) { - case 1: - ndr_print_drsuapi_DsGetMemberships2Request1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsSiteCostInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->error_code)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->site_cost)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsSiteCostInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->error_code)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->site_cost)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsSiteCostInfo"); - ndr->depth++; - ndr_print_WERROR(ndr, "error_code", r->error_code); - ndr_print_uint32(ndr, "site_cost", r->site_cost); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostCtr1 *r) -{ - uint32_t cntr_info_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_info)); - for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) { - NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostCtr1 *r) -{ - uint32_t _ptr_info; - uint32_t cntr_info_1; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_info)); - if (r->num_info > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->info); - } else { - r->info = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->info)); - NDR_PULL_ALLOC_N(ndr, r->info, ndr_get_array_size(ndr, &r->info)); - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - for (cntr_info_1 = 0; cntr_info_1 < r->num_info; cntr_info_1++) { - NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr, NDR_SCALARS, &r->info[cntr_info_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (r->info) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->info, r->num_info)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r) -{ - uint32_t cntr_info_1; - ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "num_info", r->num_info); - ndr_print_ptr(ndr, "info", r->info); - ndr->depth++; - if (r->info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->num_info); - ndr->depth++; - for (cntr_info_1=0;cntr_info_1num_info;cntr_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_info_1) != -1) { - ndr_print_drsuapi_DsSiteCostInfo(ndr, "info", &r->info[cntr_info_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "flags_reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->flags_reserved); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostCtr *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostCtr"); - switch (level) { - case 1: - ndr_print_drsuapi_QuerySitesByCostCtr1(ndr, "ctr1", &r->ctr1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_QuerySitesByCostRequest1 *r) -{ - uint32_t cntr_site_to_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_from)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_req)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->site_from) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_from, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_from, ndr_charset_length(r->site_from, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->site_to) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_req)); - for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->site_to[cntr_site_to_1])); - } - for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) { - if (r->site_to[cntr_site_to_1]) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->site_to[cntr_site_to_1], ndr_charset_length(r->site_to[cntr_site_to_1], CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_QuerySitesByCostRequest1 *r) -{ - uint32_t _ptr_site_from; - TALLOC_CTX *_mem_save_site_from_0; - uint32_t _ptr_site_to; - uint32_t cntr_site_to_1; - TALLOC_CTX *_mem_save_site_to_0; - TALLOC_CTX *_mem_save_site_to_1; - TALLOC_CTX *_mem_save_site_to_2; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_from)); - if (_ptr_site_from) { - NDR_PULL_ALLOC(ndr, r->site_from); - } else { - r->site_from = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_req)); - if (r->num_req < 1 || r->num_req > 10000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to)); - if (_ptr_site_to) { - NDR_PULL_ALLOC(ndr, r->site_to); - } else { - r->site_to = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->site_from) { - _mem_save_site_from_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_from, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_from)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_from)); - if (ndr_get_array_length(ndr, &r->site_from) > ndr_get_array_size(ndr, &r->site_from)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_from), ndr_get_array_length(ndr, &r->site_from)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_from, ndr_get_array_length(ndr, &r->site_from), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_from_0, 0); - } - if (r->site_to) { - _mem_save_site_to_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to)); - NDR_PULL_ALLOC_N(ndr, r->site_to, ndr_get_array_size(ndr, &r->site_to)); - _mem_save_site_to_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_to, 0); - for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_to)); - if (_ptr_site_to) { - NDR_PULL_ALLOC(ndr, r->site_to[cntr_site_to_1]); - } else { - r->site_to[cntr_site_to_1] = NULL; - } - } - for (cntr_site_to_1 = 0; cntr_site_to_1 < r->num_req; cntr_site_to_1++) { - if (r->site_to[cntr_site_to_1]) { - _mem_save_site_to_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->site_to[cntr_site_to_1], 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->site_to[cntr_site_to_1])); - NDR_CHECK(ndr_pull_array_length(ndr, &r->site_to[cntr_site_to_1])); - if (ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]) > ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1])) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->site_to[cntr_site_to_1]), ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1])); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->site_to[cntr_site_to_1], ndr_get_array_length(ndr, &r->site_to[cntr_site_to_1]), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_to_0, 0); - } - if (r->site_to) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->site_to, r->num_req)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r) -{ - uint32_t cntr_site_to_1; - ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCostRequest1"); - ndr->depth++; - ndr_print_ptr(ndr, "site_from", r->site_from); - ndr->depth++; - if (r->site_from) { - ndr_print_string(ndr, "site_from", r->site_from); - } - ndr->depth--; - ndr_print_uint32(ndr, "num_req", r->num_req); - ndr_print_ptr(ndr, "site_to", r->site_to); - ndr->depth++; - if (r->site_to) { - ndr->print(ndr, "%s: ARRAY(%d)", "site_to", (int)r->num_req); - ndr->depth++; - for (cntr_site_to_1=0;cntr_site_to_1num_req;cntr_site_to_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_site_to_1) != -1) { - ndr_print_ptr(ndr, "site_to", r->site_to[cntr_site_to_1]); - ndr->depth++; - if (r->site_to[cntr_site_to_1]) { - ndr_print_string(ndr, "site_to", r->site_to[cntr_site_to_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push *ndr, int ndr_flags, const union drsuapi_QuerySitesByCostRequest *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_QuerySitesByCostRequest *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_SCALARS, &r->req1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr, NDR_BUFFERS, &r->req1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "drsuapi_QuerySitesByCostRequest"); - switch (level) { - case 1: - ndr_print_drsuapi_QuerySitesByCostRequest1(ndr, "req1", &r->req1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_guid)); - if (r->in.bind_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.bind_guid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.bind_info)); - if (r->in.bind_info) { - NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.bind_info)); - if (r->out.bind_info) { - NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info)); - } - if (r->out.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r) -{ - uint32_t _ptr_bind_guid; - uint32_t _ptr_bind_info; - TALLOC_CTX *_mem_save_bind_guid_0; - TALLOC_CTX *_mem_save_bind_info_0; - TALLOC_CTX *_mem_save_bind_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_guid)); - if (_ptr_bind_guid) { - NDR_PULL_ALLOC(ndr, r->in.bind_guid); - } else { - r->in.bind_guid = NULL; - } - if (r->in.bind_guid) { - _mem_save_bind_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.bind_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_guid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info)); - if (_ptr_bind_info) { - NDR_PULL_ALLOC(ndr, r->in.bind_info); - } else { - r->in.bind_info = NULL; - } - if (r->in.bind_info) { - _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_info, 0); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->in.bind_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.bind_handle); - ZERO_STRUCTP(r->out.bind_handle); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bind_info)); - if (_ptr_bind_info) { - NDR_PULL_ALLOC(ndr, r->out.bind_info); - } else { - r->out.bind_info = NULL; - } - if (r->out.bind_info) { - _mem_save_bind_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_info, 0); - NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr, NDR_SCALARS, r->out.bind_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsBind"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsBind"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_guid", r->in.bind_guid); - ndr->depth++; - if (r->in.bind_guid) { - ndr_print_GUID(ndr, "bind_guid", r->in.bind_guid); - } - ndr->depth--; - ndr_print_ptr(ndr, "bind_info", r->in.bind_info); - ndr->depth++; - if (r->in.bind_info) { - ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->in.bind_info); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsBind"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_info", r->out.bind_info); - ndr->depth++; - if (r->out.bind_info) { - ndr_print_drsuapi_DsBindInfoCtr(ndr, "bind_info", r->out.bind_info); - } - ndr->depth--; - ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsUnbind(struct ndr_push *ndr, int flags, const struct drsuapi_DsUnbind *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - } - if (flags & NDR_OUT) { - if (r->out.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsUnbind(struct ndr_pull *ndr, int flags, struct drsuapi_DsUnbind *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.bind_handle); - *r->out.bind_handle = *r->in.bind_handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsUnbind"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsUnbind"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsUnbind"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->out.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->out.bind_handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaSync *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaSync"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsReplicaSync"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsReplicaSync"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNCChanges(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNCChanges *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNCChanges *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNCChanges"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsGetNCChanges"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsGetNCChangesRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsGetNCChanges"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_DsGetNCChangesCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaUpdateRefs *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaUpdateRefs *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaUpdateRefs"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsReplicaUpdateRefs"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.req, r->in.level); - ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr, "req", &r->in.req); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsReplicaUpdateRefs"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaAdd(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaAdd *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaAdd *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaAdd"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsReplicaAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.req, r->in.level); - ndr_print_drsuapi_DsReplicaAddRequest(ndr, "req", &r->in.req); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsReplicaAdd"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaDel(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaDel *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaDel *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsReplicaDel"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.req, r->in.level); - ndr_print_drsuapi_DsReplicaDelRequest(ndr, "req", &r->in.req); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsReplicaDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaMod(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaMod *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaMod *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaMod"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsReplicaMod"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.req, r->in.level); - ndr_print_drsuapi_DsReplicaModRequest(ndr, "req", &r->in.req); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsReplicaMod"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push *ndr, int flags, const struct DRSUAPI_VERIFY_NAMES *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull *ndr, int flags, struct DRSUAPI_VERIFY_NAMES *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r) -{ - ndr_print_struct(ndr, name, "DRSUAPI_VERIFY_NAMES"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "DRSUAPI_VERIFY_NAMES"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "DRSUAPI_VERIFY_NAMES"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsGetMembershipsRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_DsGetMembershipsCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push *ndr, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull *ndr, int flags, struct DRSUAPI_INTER_DOMAIN_MOVE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r) -{ - ndr_print_struct(ndr, name, "DRSUAPI_INTER_DOMAIN_MOVE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "DRSUAPI_INTER_DOMAIN_MOVE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "DRSUAPI_INTER_DOMAIN_MOVE"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetNT4ChangeLog *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetNT4ChangeLog *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetNT4ChangeLog"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsGetNT4ChangeLog"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsGetNT4ChangeLog"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, *r->out.level_out); - ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsCrackNames(struct ndr_push *ndr, int flags, const struct drsuapi_DsCrackNames *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsCrackNames(struct ndr_pull *ndr, int flags, struct drsuapi_DsCrackNames *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsCrackNames"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsCrackNames"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsNameRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsCrackNames"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_DsNameCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push *ndr, int flags, const struct drsuapi_DsWriteAccountSpn *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.res == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull *ndr, int flags, struct drsuapi_DsWriteAccountSpn *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_res_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.res); - ZERO_STRUCTP(r->out.res); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.res); - } - _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr, NDR_SCALARS, r->out.res)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsWriteAccountSpn"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsWriteAccountSpn"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsWriteAccountSpn"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "res", r->out.res); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out); - ndr_print_drsuapi_DsWriteAccountSpnResult(ndr, "res", r->out.res); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push *ndr, int flags, const struct drsuapi_DsRemoveDSServer *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.res == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.res, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull *ndr, int flags, struct drsuapi_DsRemoveDSServer *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_res_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.res); - ZERO_STRUCTP(r->out.res); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.res); - } - _mem_save_res_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.res, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.res, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr, NDR_SCALARS, r->out.res)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsRemoveDSServer"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsRemoveDSServer"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsRemoveDSServerRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsRemoveDSServer"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "res", r->out.res); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.res, *r->out.level_out); - ndr_print_drsuapi_DsRemoveDSServerResult(ndr, "res", r->out.res); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push *ndr, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull *ndr, int flags, struct DRSUAPI_REMOVE_DS_DOMAIN *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r) -{ - ndr_print_struct(ndr, name, "DRSUAPI_REMOVE_DS_DOMAIN"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "DRSUAPI_REMOVE_DS_DOMAIN"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "DRSUAPI_REMOVE_DS_DOMAIN"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetDomainControllerInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetDomainControllerInfo *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetDomainControllerInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsGetDomainControllerInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_int32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsGetDCInfoRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsGetDomainControllerInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_int32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_DsGetDCInfoCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsAddEntry"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsAddEntry"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsAddEntryRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsAddEntry"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_DsAddEntryCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsExecuteKCC(struct ndr_push *ndr, int flags, const struct drsuapi_DsExecuteKCC *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull *ndr, int flags, struct drsuapi_DsExecuteKCC *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr, NDR_SCALARS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsExecuteKCC"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsExecuteKCC"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsExecuteKCCRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsExecuteKCC"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push *ndr, int flags, const struct drsuapi_DsReplicaGetInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.info_type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, *r->out.info_type)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, *r->out.info_type)); - NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaGetInfo *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_info_type_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.info_type); - ZERO_STRUCTP(r->out.info_type); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_type); - } - _mem_save_info_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->out.info_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_type_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, *r->out.info_type)); - NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsReplicaGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsReplicaGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsReplicaGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info_type", r->out.info_type); - ndr->depth++; - ndr_print_drsuapi_DsReplicaInfoType(ndr, "info_type", *r->out.info_type); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, *r->out.info_type); - ndr_print_drsuapi_DsReplicaInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push *ndr, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull *ndr, int flags, struct DRSUAPI_ADD_SID_HISTORY *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r) -{ - ndr_print_struct(ndr, name, "DRSUAPI_ADD_SID_HISTORY"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "DRSUAPI_ADD_SID_HISTORY"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "DRSUAPI_ADD_SID_HISTORY"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_DsGetMemberships2(struct ndr_push *ndr, int flags, const struct drsuapi_DsGetMemberships2 *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull *ndr, int flags, struct drsuapi_DsGetMemberships2 *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r) -{ - ndr_print_struct(ndr, name, "drsuapi_DsGetMemberships2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_DsGetMemberships2"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_DsGetMemberships2Request(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_DsGetMemberships2"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_DsGetMemberships2Ctr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push *ndr, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull *ndr, int flags, struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r) -{ - ndr_print_struct(ndr, name, "DRSUAPI_REPLICA_VERIFY_OBJECTS"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push *ndr, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull *ndr, int flags, struct DRSUAPI_GET_OBJECT_EXISTENCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r) -{ - ndr_print_struct(ndr, name, "DRSUAPI_GET_OBJECT_EXISTENCE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "DRSUAPI_GET_OBJECT_EXISTENCE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "DRSUAPI_GET_OBJECT_EXISTENCE"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_drsuapi_QuerySitesByCost(struct ndr_push *ndr, int flags, const struct drsuapi_QuerySitesByCost *r) -{ - if (flags & NDR_IN) { - if (r->in.bind_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull *ndr, int flags, struct drsuapi_QuerySitesByCost *r) -{ - TALLOC_CTX *_mem_save_bind_handle_0; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.bind_handle); - } - _mem_save_bind_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level_out)); - NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r) -{ - ndr_print_struct(ndr, name, "drsuapi_QuerySitesByCost"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "drsuapi_QuerySitesByCost"); - ndr->depth++; - ndr_print_ptr(ndr, "bind_handle", r->in.bind_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_drsuapi_QuerySitesByCostRequest(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "drsuapi_QuerySitesByCost"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level_out); - ndr_print_drsuapi_QuerySitesByCostCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call drsuapi_calls[] = { - { - "drsuapi_DsBind", - sizeof(struct drsuapi_DsBind), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsBind, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsBind, - (ndr_print_function_t) ndr_print_drsuapi_DsBind, - false, - }, - { - "drsuapi_DsUnbind", - sizeof(struct drsuapi_DsUnbind), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsUnbind, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsUnbind, - (ndr_print_function_t) ndr_print_drsuapi_DsUnbind, - false, - }, - { - "drsuapi_DsReplicaSync", - sizeof(struct drsuapi_DsReplicaSync), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaSync, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaSync, - (ndr_print_function_t) ndr_print_drsuapi_DsReplicaSync, - false, - }, - { - "drsuapi_DsGetNCChanges", - sizeof(struct drsuapi_DsGetNCChanges), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNCChanges, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNCChanges, - (ndr_print_function_t) ndr_print_drsuapi_DsGetNCChanges, - false, - }, - { - "drsuapi_DsReplicaUpdateRefs", - sizeof(struct drsuapi_DsReplicaUpdateRefs), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaUpdateRefs, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaUpdateRefs, - (ndr_print_function_t) ndr_print_drsuapi_DsReplicaUpdateRefs, - false, - }, - { - "drsuapi_DsReplicaAdd", - sizeof(struct drsuapi_DsReplicaAdd), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaAdd, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaAdd, - (ndr_print_function_t) ndr_print_drsuapi_DsReplicaAdd, - false, - }, - { - "drsuapi_DsReplicaDel", - sizeof(struct drsuapi_DsReplicaDel), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaDel, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaDel, - (ndr_print_function_t) ndr_print_drsuapi_DsReplicaDel, - false, - }, - { - "drsuapi_DsReplicaMod", - sizeof(struct drsuapi_DsReplicaMod), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaMod, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaMod, - (ndr_print_function_t) ndr_print_drsuapi_DsReplicaMod, - false, - }, - { - "DRSUAPI_VERIFY_NAMES", - sizeof(struct DRSUAPI_VERIFY_NAMES), - (ndr_push_flags_fn_t) ndr_push_DRSUAPI_VERIFY_NAMES, - (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_VERIFY_NAMES, - (ndr_print_function_t) ndr_print_DRSUAPI_VERIFY_NAMES, - false, - }, - { - "drsuapi_DsGetMemberships", - sizeof(struct drsuapi_DsGetMemberships), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships, - (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships, - false, - }, - { - "DRSUAPI_INTER_DOMAIN_MOVE", - sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE), - (ndr_push_flags_fn_t) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE, - (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE, - (ndr_print_function_t) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE, - false, - }, - { - "drsuapi_DsGetNT4ChangeLog", - sizeof(struct drsuapi_DsGetNT4ChangeLog), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetNT4ChangeLog, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetNT4ChangeLog, - (ndr_print_function_t) ndr_print_drsuapi_DsGetNT4ChangeLog, - false, - }, - { - "drsuapi_DsCrackNames", - sizeof(struct drsuapi_DsCrackNames), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsCrackNames, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsCrackNames, - (ndr_print_function_t) ndr_print_drsuapi_DsCrackNames, - false, - }, - { - "drsuapi_DsWriteAccountSpn", - sizeof(struct drsuapi_DsWriteAccountSpn), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsWriteAccountSpn, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsWriteAccountSpn, - (ndr_print_function_t) ndr_print_drsuapi_DsWriteAccountSpn, - false, - }, - { - "drsuapi_DsRemoveDSServer", - sizeof(struct drsuapi_DsRemoveDSServer), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsRemoveDSServer, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsRemoveDSServer, - (ndr_print_function_t) ndr_print_drsuapi_DsRemoveDSServer, - false, - }, - { - "DRSUAPI_REMOVE_DS_DOMAIN", - sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN), - (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN, - (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN, - (ndr_print_function_t) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN, - false, - }, - { - "drsuapi_DsGetDomainControllerInfo", - sizeof(struct drsuapi_DsGetDomainControllerInfo), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetDomainControllerInfo, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetDomainControllerInfo, - (ndr_print_function_t) ndr_print_drsuapi_DsGetDomainControllerInfo, - false, - }, - { - "drsuapi_DsAddEntry", - sizeof(struct drsuapi_DsAddEntry), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsAddEntry, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsAddEntry, - (ndr_print_function_t) ndr_print_drsuapi_DsAddEntry, - false, - }, - { - "drsuapi_DsExecuteKCC", - sizeof(struct drsuapi_DsExecuteKCC), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsExecuteKCC, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsExecuteKCC, - (ndr_print_function_t) ndr_print_drsuapi_DsExecuteKCC, - false, - }, - { - "drsuapi_DsReplicaGetInfo", - sizeof(struct drsuapi_DsReplicaGetInfo), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsReplicaGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsReplicaGetInfo, - (ndr_print_function_t) ndr_print_drsuapi_DsReplicaGetInfo, - false, - }, - { - "DRSUAPI_ADD_SID_HISTORY", - sizeof(struct DRSUAPI_ADD_SID_HISTORY), - (ndr_push_flags_fn_t) ndr_push_DRSUAPI_ADD_SID_HISTORY, - (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_ADD_SID_HISTORY, - (ndr_print_function_t) ndr_print_DRSUAPI_ADD_SID_HISTORY, - false, - }, - { - "drsuapi_DsGetMemberships2", - sizeof(struct drsuapi_DsGetMemberships2), - (ndr_push_flags_fn_t) ndr_push_drsuapi_DsGetMemberships2, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_DsGetMemberships2, - (ndr_print_function_t) ndr_print_drsuapi_DsGetMemberships2, - false, - }, - { - "DRSUAPI_REPLICA_VERIFY_OBJECTS", - sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS), - (ndr_push_flags_fn_t) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS, - (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS, - (ndr_print_function_t) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS, - false, - }, - { - "DRSUAPI_GET_OBJECT_EXISTENCE", - sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE), - (ndr_push_flags_fn_t) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE, - (ndr_pull_flags_fn_t) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE, - (ndr_print_function_t) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE, - false, - }, - { - "drsuapi_QuerySitesByCost", - sizeof(struct drsuapi_QuerySitesByCost), - (ndr_push_flags_fn_t) ndr_push_drsuapi_QuerySitesByCost, - (ndr_pull_flags_fn_t) ndr_pull_drsuapi_QuerySitesByCost, - (ndr_print_function_t) ndr_print_drsuapi_QuerySitesByCost, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const drsuapi_endpoint_strings[] = { - "ncacn_np:[\\pipe\\lsass]", - "ncacn_np:[\\pipe\\protected_storage]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array drsuapi_endpoints = { - .count = 4, - .names = drsuapi_endpoint_strings -}; - -static const char * const drsuapi_authservice_strings[] = { - "ldap", -}; - -static const struct ndr_interface_string_array drsuapi_authservices = { - .count = 1, - .names = drsuapi_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_drsuapi = { - .name = "drsuapi", - .syntax_id = { - {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}}, - NDR_DRSUAPI_VERSION - }, - .helpstring = NDR_DRSUAPI_HELPSTRING, - .num_calls = 25, - .calls = drsuapi_calls, - .endpoints = &drsuapi_endpoints, - .authservices = &drsuapi_authservices -}; - diff --git a/librpc/gen_ndr/ndr_drsuapi.h b/librpc/gen_ndr/ndr_drsuapi.h deleted file mode 100644 index e77db7550ff..00000000000 --- a/librpc/gen_ndr/ndr_drsuapi.h +++ /dev/null @@ -1,313 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/drsuapi.h" - -#ifndef _HEADER_NDR_drsuapi -#define _HEADER_NDR_drsuapi - -#include "../librpc/ndr/ndr_drsuapi.h" -#define NDR_DRSUAPI_UUID "e3514235-4b06-11d1-ab04-00c04fc2dcd2" -#define NDR_DRSUAPI_VERSION 4.0 -#define NDR_DRSUAPI_NAME "drsuapi" -#define NDR_DRSUAPI_HELPSTRING "Active Directory Replication" -extern const struct ndr_interface_table ndr_table_drsuapi; -#define NDR_DRSUAPI_DSBIND (0x00) - -#define NDR_DRSUAPI_DSUNBIND (0x01) - -#define NDR_DRSUAPI_DSREPLICASYNC (0x02) - -#define NDR_DRSUAPI_DSGETNCCHANGES (0x03) - -#define NDR_DRSUAPI_DSREPLICAUPDATEREFS (0x04) - -#define NDR_DRSUAPI_DSREPLICAADD (0x05) - -#define NDR_DRSUAPI_DSREPLICADEL (0x06) - -#define NDR_DRSUAPI_DSREPLICAMOD (0x07) - -#define NDR_DRSUAPI_VERIFY_NAMES (0x08) - -#define NDR_DRSUAPI_DSGETMEMBERSHIPS (0x09) - -#define NDR_DRSUAPI_INTER_DOMAIN_MOVE (0x0a) - -#define NDR_DRSUAPI_DSGETNT4CHANGELOG (0x0b) - -#define NDR_DRSUAPI_DSCRACKNAMES (0x0c) - -#define NDR_DRSUAPI_DSWRITEACCOUNTSPN (0x0d) - -#define NDR_DRSUAPI_DSREMOVEDSSERVER (0x0e) - -#define NDR_DRSUAPI_REMOVE_DS_DOMAIN (0x0f) - -#define NDR_DRSUAPI_DSGETDOMAINCONTROLLERINFO (0x10) - -#define NDR_DRSUAPI_DSADDENTRY (0x11) - -#define NDR_DRSUAPI_DSEXECUTEKCC (0x12) - -#define NDR_DRSUAPI_DSREPLICAGETINFO (0x13) - -#define NDR_DRSUAPI_ADD_SID_HISTORY (0x14) - -#define NDR_DRSUAPI_DSGETMEMBERSHIPS2 (0x15) - -#define NDR_DRSUAPI_REPLICA_VERIFY_OBJECTS (0x16) - -#define NDR_DRSUAPI_GET_OBJECT_EXISTENCE (0x17) - -#define NDR_DRSUAPI_QUERYSITESBYCOST (0x18) - -#define NDR_DRSUAPI_CALL_COUNT (25) -enum ndr_err_code ndr_push_drsuapi_DrsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_drsuapi_DrsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_drsuapi_SupportedExtensions(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_drsuapi_DsBindInfo24(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo24 *r); -void ndr_print_drsuapi_DsBindInfo28(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo28 *r); -void ndr_print_drsuapi_DsBindInfo48(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfo48 *r); -void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoFallBack *r); -void ndr_print_drsuapi_DsBindInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsBindInfo *r); -void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsBindInfoCtr *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier *r); -void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier *r); -size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaSyncRequest1 *r); -void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaSyncRequest *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaHighWaterMark *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaHighWaterMark *r); -void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaHighWaterMark *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor *r); -void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor *r); -void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtrEx *r); -void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedOperation r); -void ndr_print_drsuapi_DsExtendedError(struct ndr_print *ndr, const char *name, enum drsuapi_DsExtendedError r); -void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest5 *r); -void ndr_print_drsuapi_DsReplicaOID(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOID *r); -void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaOIDMapping_Ctr *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaOIDMapping_Ctr *r); -void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOIDMapping_Ctr *r); -enum ndr_err_code ndr_push_drsuapi_DsAttributeId(struct ndr_push *ndr, int ndr_flags, enum drsuapi_DsAttributeId r); -enum ndr_err_code ndr_pull_drsuapi_DsAttributeId(struct ndr_pull *ndr, int ndr_flags, enum drsuapi_DsAttributeId *r); -void ndr_print_drsuapi_DsAttributeId(struct ndr_print *ndr, const char *name, enum drsuapi_DsAttributeId r); -void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print *ndr, const char *name, const struct drsuapi_DsPartialAttributeSet *r); -void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest8 *r); -void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesRequest10 *r); -void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesRequest *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaCursor2 *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaCursor2 *r); -void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2 *r); -void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2CtrEx *r); -void ndr_print_drsuapi_DsAttributeValue(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValue *r); -void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAttributeValueCtr *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3 *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3 *r); -void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3 *r); -size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectIdentifier3Binary *r); -void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier3Binary *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAttribute *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaAttribute *r); -void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttribute *r); -void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttributeCtr *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObject(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObject *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObject *r); -void ndr_print_drsuapi_DsReplicaObject(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObject *r); -void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaData *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaMetaDataCtr *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaMetaDataCtr *r); -void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaMetaDataCtr *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItemEx *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItemEx *r); -void ndr_print_drsuapi_DsReplicaObjectListItemEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectListItemEx *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1 *r); -enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1 *r); -void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1 *r); -size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaLinkedAttribute *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaLinkedAttribute *r); -void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaLinkedAttribute *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6 *r); -enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6 *r); -void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6 *r); -size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr1TS *r); -enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr1TS *r); -void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr1TS *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesCtr6TS *r); -enum ndr_err_code ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsGetNCChangesCtr6TS *r); -void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr6TS *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r); -void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr1 *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r); -void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesMSZIPCtr6 *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r); -void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr1 *r); -enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r); -void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesXPRESSCtr6 *r); -void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print *ndr, const char *name, enum drsuapi_DsGetNCChangesCompressionType r); -void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCompressedCtr *r); -void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr2 *r); -void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNCChangesCtr7 *r); -void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNCChangesCtr *r); -void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r); -void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaUpdateRefsRequest *r); -void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest1 *r); -void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAddRequest2 *r); -void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaAddRequest *r); -void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaDelRequest1 *r); -void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaDelRequest *r); -void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaModRequest1 *r); -void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaModRequest *r); -void ndr_print_drsuapi_DsMembershipType(struct ndr_print *ndr, const char *name, enum drsuapi_DsMembershipType r); -void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsCtr1 *r); -void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsCtr *r); -void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMembershipsRequest1 *r); -void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMembershipsRequest *r); -void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogRequest1 *r); -void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogRequest *r); -void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetNT4ChangeLogInfo1 *r); -void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetNT4ChangeLogInfo *r); -void ndr_print_drsuapi_DsNameStatus(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameStatus r); -void ndr_print_drsuapi_DsNameFlags(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFlags r); -void ndr_print_drsuapi_DsNameFormat(struct ndr_print *ndr, const char *name, enum drsuapi_DsNameFormat r); -void ndr_print_drsuapi_DsNameString(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameString *r); -void ndr_print_drsuapi_DsNameRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameRequest1 *r); -void ndr_print_drsuapi_DsNameRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameRequest *r); -void ndr_print_drsuapi_DsNameInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameInfo1 *r); -void ndr_print_drsuapi_DsNameCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsNameCtr1 *r); -void ndr_print_drsuapi_DsNameCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsNameCtr *r); -void ndr_print_drsuapi_DsSpnOperation(struct ndr_print *ndr, const char *name, enum drsuapi_DsSpnOperation r); -void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnRequest1 *r); -void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnRequest *r); -void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsWriteAccountSpnResult1 *r); -void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsWriteAccountSpnResult *r); -void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerRequest1 *r); -void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerRequest *r); -void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsRemoveDSServerResult1 *r); -void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print *ndr, const char *name, const union drsuapi_DsRemoveDSServerResult *r); -void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoRequest1 *r); -void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoRequest *r); -void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo1 *r); -void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr1 *r); -void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo2 *r); -void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr2 *r); -void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfo3 *r); -void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCInfoCtr3 *r); -void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnection01 *r); -void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetDCConnectionCtr01 *r); -void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetDCInfoCtr *r); -enum ndr_err_code ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaObjectListItem *r); -enum ndr_err_code ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull *ndr, int ndr_flags, struct drsuapi_DsReplicaObjectListItem *r); -void ndr_print_drsuapi_DsReplicaObjectListItem(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectListItem *r); -void ndr_print_drsuapi_DsAddEntry_DirErr(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_DirErr r); -void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest2 *r); -void ndr_print_drsuapi_SecBufferType(struct ndr_print *ndr, const char *name, enum drsuapi_SecBufferType r); -void ndr_print_drsuapi_SecBuffer(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBuffer *r); -void ndr_print_drsuapi_SecBufferDesc(struct ndr_print *ndr, const char *name, const struct drsuapi_SecBufferDesc *r); -void ndr_print_drsuapi_DsAddEntryRequest3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryRequest3 *r); -void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryRequest *r); -void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfoX *r); -void ndr_print_drsuapi_DsAddEntry_AttrErr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErr_V1 *r); -void ndr_print_drsuapi_DsAddEntry_AttrErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_AttrErrListItem_V1 *r); -void ndr_print_drsuapi_DsAddEntryErrorInfo_Attr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Attr_V1 *r); -void ndr_print_drsuapi_DsAddEntryErrorInfo_Name_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Name_V1 *r); -void ndr_print_drsuapi_NameResOp_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_NameResOp_V1 *r); -void ndr_print_drsuapi_DsAddEntry_RefType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_RefType r); -void ndr_print_drsuapi_DsAddEntry_ChoiceType(struct ndr_print *ndr, const char *name, enum drsuapi_DsAddEntry_ChoiceType r); -void ndr_print_drsuapi_DsaAddressListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsaAddressListItem_V1 *r); -void ndr_print_drsuapi_DsAddEntry_RefErrListItem_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_RefErrListItem_V1 *r); -void ndr_print_drsuapi_DsAddEntryErrorInfo_Referr_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryErrorInfo_Referr_V1 *r); -void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryErrorInfo *r); -void ndr_print_drsuapi_DsAddEntry_ErrData_V1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntry_ErrData_V1 *r); -void ndr_print_drsuapi_DsAddEntry_ErrData(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntry_ErrData *r); -void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectIdentifier2 *r); -void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr2 *r); -void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsAddEntryCtr3 *r); -void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print *ndr, const char *name, const union drsuapi_DsAddEntryCtr *r); -void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsExecuteKCC1 *r); -void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsExecuteKCCRequest *r); -void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaGetInfoLevel r); -void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaInfoType r); -void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest1 *r); -void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaGetInfoRequest2 *r); -void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaGetInfoRequest *r); -void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbour *r); -void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaNeighbourCtr *r); -void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursorCtr *r); -void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData *r); -void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaDataCtr *r); -void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailure *r); -void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaKccDsaFailuresCtr *r); -void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const char *name, enum drsuapi_DsReplicaOpType r); -void ndr_print_drsuapi_DsReplicaOp(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOp *r); -void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaOpCtr *r); -void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData *r); -void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaDataCtr *r); -void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor2Ctr *r); -void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3 *r); -void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaCursor3Ctr *r); -void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2 *r); -void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjMetaData2Ctr *r); -void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2 *r); -void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaAttrValMetaData2Ctr *r); -void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04 *r); -void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaConnection04Ctr *r); -void ndr_print_drsuapi_DsReplica06(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06 *r); -void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplica06Ctr *r); -void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print *ndr, const char *name, const union drsuapi_DsReplicaInfo *r); -void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Ctr *r); -void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print *ndr, const char *name, const struct drsuapi_DsGetMemberships2Request1 *r); -void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print *ndr, const char *name, const union drsuapi_DsGetMemberships2Request *r); -void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print *ndr, const char *name, const struct drsuapi_DsSiteCostInfo *r); -void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostCtr1 *r); -void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostCtr *r); -void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print *ndr, const char *name, const struct drsuapi_QuerySitesByCostRequest1 *r); -void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print *ndr, const char *name, const union drsuapi_QuerySitesByCostRequest *r); -enum ndr_err_code ndr_push_drsuapi_DsBind(struct ndr_push *ndr, int flags, const struct drsuapi_DsBind *r); -enum ndr_err_code ndr_pull_drsuapi_DsBind(struct ndr_pull *ndr, int flags, struct drsuapi_DsBind *r); -void ndr_print_drsuapi_DsBind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsBind *r); -void ndr_print_drsuapi_DsUnbind(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsUnbind *r); -void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaSync *r); -void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNCChanges *r); -void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaUpdateRefs *r); -void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaAdd *r); -void ndr_print_drsuapi_DsReplicaDel(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaDel *r); -void ndr_print_drsuapi_DsReplicaMod(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaMod *r); -void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_VERIFY_NAMES *r); -void ndr_print_drsuapi_DsGetMemberships(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships *r); -void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_INTER_DOMAIN_MOVE *r); -void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetNT4ChangeLog *r); -void ndr_print_drsuapi_DsCrackNames(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsCrackNames *r); -void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsWriteAccountSpn *r); -void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsRemoveDSServer *r); -void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REMOVE_DS_DOMAIN *r); -void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetDomainControllerInfo *r); -enum ndr_err_code ndr_push_drsuapi_DsAddEntry(struct ndr_push *ndr, int flags, const struct drsuapi_DsAddEntry *r); -enum ndr_err_code ndr_pull_drsuapi_DsAddEntry(struct ndr_pull *ndr, int flags, struct drsuapi_DsAddEntry *r); -void ndr_print_drsuapi_DsAddEntry(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsAddEntry *r); -void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsExecuteKCC *r); -void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsReplicaGetInfo *r); -void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_ADD_SID_HISTORY *r); -void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_DsGetMemberships2 *r); -void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS *r); -void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print *ndr, const char *name, int flags, const struct DRSUAPI_GET_OBJECT_EXISTENCE *r); -void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print *ndr, const char *name, int flags, const struct drsuapi_QuerySitesByCost *r); -#endif /* _HEADER_NDR_drsuapi */ diff --git a/librpc/gen_ndr/ndr_dssetup.c b/librpc/gen_ndr/ndr_dssetup.c deleted file mode 100644 index 27b839bd073..00000000000 --- a/librpc/gen_ndr/ndr_dssetup.c +++ /dev/null @@ -1,1090 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_dssetup.h" - -#include "librpc/gen_ndr/ndr_misc.h" -static enum ndr_err_code ndr_push_dssetup_DsRole(struct ndr_push *ndr, int ndr_flags, enum dssetup_DsRole r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRole(struct ndr_pull *ndr, int ndr_flags, enum dssetup_DsRole *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRole(struct ndr_print *ndr, const char *name, enum dssetup_DsRole r) -{ - const char *val = NULL; - - switch (r) { - case DS_ROLE_STANDALONE_WORKSTATION: val = "DS_ROLE_STANDALONE_WORKSTATION"; break; - case DS_ROLE_MEMBER_WORKSTATION: val = "DS_ROLE_MEMBER_WORKSTATION"; break; - case DS_ROLE_STANDALONE_SERVER: val = "DS_ROLE_STANDALONE_SERVER"; break; - case DS_ROLE_MEMBER_SERVER: val = "DS_ROLE_MEMBER_SERVER"; break; - case DS_ROLE_BACKUP_DC: val = "DS_ROLE_BACKUP_DC"; break; - case DS_ROLE_PRIMARY_DC: val = "DS_ROLE_PRIMARY_DC"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ROLE_PRIMARY_DS_RUNNING", DS_ROLE_PRIMARY_DS_RUNNING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ROLE_PRIMARY_DS_MIXED_MODE", DS_ROLE_PRIMARY_DS_MIXED_MODE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ROLE_UPGRADE_IN_PROGRESS", DS_ROLE_UPGRADE_IN_PROGRESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT", DS_ROLE_PRIMARY_DOMAIN_GUID_PRESENT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_push *ndr, int ndr_flags, const struct dssetup_DsRolePrimaryDomInfoBasic *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_dssetup_DsRole(ndr, NDR_SCALARS, r->role)); - NDR_CHECK(ndr_push_dssetup_DsRoleFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_domain)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dns_domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_domain, ndr_charset_length(r->dns_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->forest) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest, ndr_charset_length(r->forest, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_pull *ndr, int ndr_flags, struct dssetup_DsRolePrimaryDomInfoBasic *r) -{ - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - uint32_t _ptr_dns_domain; - TALLOC_CTX *_mem_save_dns_domain_0; - uint32_t _ptr_forest; - TALLOC_CTX *_mem_save_forest_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_dssetup_DsRole(ndr, NDR_SCALARS, &r->role)); - NDR_CHECK(ndr_pull_dssetup_DsRoleFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_domain)); - if (_ptr_dns_domain) { - NDR_PULL_ALLOC(ndr, r->dns_domain); - } else { - r->dns_domain = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest)); - if (_ptr_forest) { - NDR_PULL_ALLOC(ndr, r->forest); - } else { - r->forest = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - if (r->dns_domain) { - _mem_save_dns_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_domain)); - if (ndr_get_array_length(ndr, &r->dns_domain) > ndr_get_array_size(ndr, &r->dns_domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_domain), ndr_get_array_length(ndr, &r->dns_domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_domain, ndr_get_array_length(ndr, &r->dns_domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_0, 0); - } - if (r->forest) { - _mem_save_forest_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->forest, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->forest)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->forest)); - if (ndr_get_array_length(ndr, &r->forest) > ndr_get_array_size(ndr, &r->forest)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->forest), ndr_get_array_length(ndr, &r->forest)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest, ndr_get_array_length(ndr, &r->forest), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_print *ndr, const char *name, const struct dssetup_DsRolePrimaryDomInfoBasic *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRolePrimaryDomInfoBasic"); - ndr->depth++; - ndr_print_dssetup_DsRole(ndr, "role", r->role); - ndr_print_dssetup_DsRoleFlags(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr_print_ptr(ndr, "dns_domain", r->dns_domain); - ndr->depth++; - if (r->dns_domain) { - ndr_print_string(ndr, "dns_domain", r->dns_domain); - } - ndr->depth--; - ndr_print_ptr(ndr, "forest", r->forest); - ndr->depth++; - if (r->forest) { - ndr_print_string(ndr, "forest", r->forest); - } - ndr->depth--; - ndr_print_GUID(ndr, "domain_guid", &r->domain_guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsUpgrade(struct ndr_push *ndr, int ndr_flags, enum dssetup_DsUpgrade r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsUpgrade(struct ndr_pull *ndr, int ndr_flags, enum dssetup_DsUpgrade *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsUpgrade(struct ndr_print *ndr, const char *name, enum dssetup_DsUpgrade r) -{ - const char *val = NULL; - - switch (r) { - case DS_ROLE_NOT_UPGRADING: val = "DS_ROLE_NOT_UPGRADING"; break; - case DS_ROLE_UPGRADING: val = "DS_ROLE_UPGRADING"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dssetup_DsPrevious(struct ndr_push *ndr, int ndr_flags, enum dssetup_DsPrevious r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsPrevious(struct ndr_pull *ndr, int ndr_flags, enum dssetup_DsPrevious *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsPrevious(struct ndr_print *ndr, const char *name, enum dssetup_DsPrevious r) -{ - const char *val = NULL; - - switch (r) { - case DS_ROLE_PREVIOUS_UNKNOWN: val = "DS_ROLE_PREVIOUS_UNKNOWN"; break; - case DS_ROLE_PREVIOUS_PRIMARY: val = "DS_ROLE_PREVIOUS_PRIMARY"; break; - case DS_ROLE_PREVIOUS_BACKUP: val = "DS_ROLE_PREVIOUS_BACKUP"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleUpgradeStatus(struct ndr_push *ndr, int ndr_flags, const struct dssetup_DsRoleUpgradeStatus *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dssetup_DsUpgrade(ndr, NDR_SCALARS, r->upgrading)); - NDR_CHECK(ndr_push_dssetup_DsPrevious(ndr, NDR_SCALARS, r->previous_role)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleUpgradeStatus(struct ndr_pull *ndr, int ndr_flags, struct dssetup_DsRoleUpgradeStatus *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dssetup_DsUpgrade(ndr, NDR_SCALARS, &r->upgrading)); - NDR_CHECK(ndr_pull_dssetup_DsPrevious(ndr, NDR_SCALARS, &r->previous_role)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleUpgradeStatus(struct ndr_print *ndr, const char *name, const struct dssetup_DsRoleUpgradeStatus *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleUpgradeStatus"); - ndr->depth++; - ndr_print_dssetup_DsUpgrade(ndr, "upgrading", r->upgrading); - ndr_print_dssetup_DsPrevious(ndr, "previous_role", r->previous_role); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleOp(struct ndr_push *ndr, int ndr_flags, enum dssetup_DsRoleOp r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleOp(struct ndr_pull *ndr, int ndr_flags, enum dssetup_DsRoleOp *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleOp(struct ndr_print *ndr, const char *name, enum dssetup_DsRoleOp r) -{ - const char *val = NULL; - - switch (r) { - case DS_ROLE_OP_IDLE: val = "DS_ROLE_OP_IDLE"; break; - case DS_ROLE_OP_ACTIVE: val = "DS_ROLE_OP_ACTIVE"; break; - case DS_ROLE_OP_NEEDS_REBOOT: val = "DS_ROLE_OP_NEEDS_REBOOT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleOpStatus(struct ndr_push *ndr, int ndr_flags, const struct dssetup_DsRoleOpStatus *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 3)); - NDR_CHECK(ndr_push_dssetup_DsRoleOp(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleOpStatus(struct ndr_pull *ndr, int ndr_flags, struct dssetup_DsRoleOpStatus *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 3)); - NDR_CHECK(ndr_pull_dssetup_DsRoleOp(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleOpStatus(struct ndr_print *ndr, const char *name, const struct dssetup_DsRoleOpStatus *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleOpStatus"); - ndr->depth++; - ndr_print_dssetup_DsRoleOp(ndr, "status", r->status); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleInfoLevel(struct ndr_push *ndr, int ndr_flags, enum dssetup_DsRoleInfoLevel r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum dssetup_DsRoleInfoLevel *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleInfoLevel(struct ndr_print *ndr, const char *name, enum dssetup_DsRoleInfoLevel r) -{ - const char *val = NULL; - - switch (r) { - case DS_ROLE_BASIC_INFORMATION: val = "DS_ROLE_BASIC_INFORMATION"; break; - case DS_ROLE_UPGRADE_STATUS: val = "DS_ROLE_UPGRADE_STATUS"; break; - case DS_ROLE_OP_STATUS: val = "DS_ROLE_OP_STATUS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleInfo(struct ndr_push *ndr, int ndr_flags, const union dssetup_DsRoleInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_dssetup_DsRoleInfoLevel(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case DS_ROLE_BASIC_INFORMATION: { - NDR_CHECK(ndr_push_dssetup_DsRolePrimaryDomInfoBasic(ndr, NDR_SCALARS, &r->basic)); - break; } - - case DS_ROLE_UPGRADE_STATUS: { - NDR_CHECK(ndr_push_dssetup_DsRoleUpgradeStatus(ndr, NDR_SCALARS, &r->upgrade)); - break; } - - case DS_ROLE_OP_STATUS: { - NDR_CHECK(ndr_push_dssetup_DsRoleOpStatus(ndr, NDR_SCALARS, &r->opstatus)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DS_ROLE_BASIC_INFORMATION: - NDR_CHECK(ndr_push_dssetup_DsRolePrimaryDomInfoBasic(ndr, NDR_BUFFERS, &r->basic)); - break; - - case DS_ROLE_UPGRADE_STATUS: - break; - - case DS_ROLE_OP_STATUS: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleInfo(struct ndr_pull *ndr, int ndr_flags, union dssetup_DsRoleInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case DS_ROLE_BASIC_INFORMATION: { - NDR_CHECK(ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(ndr, NDR_SCALARS, &r->basic)); - break; } - - case DS_ROLE_UPGRADE_STATUS: { - NDR_CHECK(ndr_pull_dssetup_DsRoleUpgradeStatus(ndr, NDR_SCALARS, &r->upgrade)); - break; } - - case DS_ROLE_OP_STATUS: { - NDR_CHECK(ndr_pull_dssetup_DsRoleOpStatus(ndr, NDR_SCALARS, &r->opstatus)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DS_ROLE_BASIC_INFORMATION: - NDR_CHECK(ndr_pull_dssetup_DsRolePrimaryDomInfoBasic(ndr, NDR_BUFFERS, &r->basic)); - break; - - case DS_ROLE_UPGRADE_STATUS: - break; - - case DS_ROLE_OP_STATUS: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleInfo(struct ndr_print *ndr, const char *name, const union dssetup_DsRoleInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dssetup_DsRoleInfo"); - switch (level) { - case DS_ROLE_BASIC_INFORMATION: - ndr_print_dssetup_DsRolePrimaryDomInfoBasic(ndr, "basic", &r->basic); - break; - - case DS_ROLE_UPGRADE_STATUS: - ndr_print_dssetup_DsRoleUpgradeStatus(ndr, "upgrade", &r->upgrade); - break; - - case DS_ROLE_OP_STATUS: - ndr_print_dssetup_DsRoleOpStatus(ndr, "opstatus", &r->opstatus); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleGetPrimaryDomainInformation(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleGetPrimaryDomainInformation *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_dssetup_DsRoleInfoLevel(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_dssetup_DsRoleInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleGetPrimaryDomainInformation(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleGetPrimaryDomainInformation *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_dssetup_DsRoleInfoLevel(ndr, NDR_SCALARS, &r->in.level)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_dssetup_DsRoleInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleGetPrimaryDomainInformation(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleGetPrimaryDomainInformation *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleGetPrimaryDomainInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleGetPrimaryDomainInformation"); - ndr->depth++; - ndr_print_dssetup_DsRoleInfoLevel(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleGetPrimaryDomainInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_dssetup_DsRoleInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleDnsNameToFlatName(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleDnsNameToFlatName *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleDnsNameToFlatName(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleDnsNameToFlatName *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleDnsNameToFlatName(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDnsNameToFlatName *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleDnsNameToFlatName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleDnsNameToFlatName"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleDnsNameToFlatName"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleDcAsDc(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleDcAsDc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleDcAsDc(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleDcAsDc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleDcAsDc(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDcAsDc *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleDcAsDc"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleDcAsDc"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleDcAsDc"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleDcAsReplica(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleDcAsReplica *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleDcAsReplica(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleDcAsReplica *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleDcAsReplica(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDcAsReplica *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleDcAsReplica"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleDcAsReplica"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleDcAsReplica"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleDemoteDc(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleDemoteDc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleDemoteDc(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleDemoteDc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleDemoteDc(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDemoteDc *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleDemoteDc"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleDemoteDc"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleDemoteDc"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleGetDcOperationProgress(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleGetDcOperationProgress *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleGetDcOperationProgress(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleGetDcOperationProgress *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleGetDcOperationProgress(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleGetDcOperationProgress *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleGetDcOperationProgress"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleGetDcOperationProgress"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleGetDcOperationProgress"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleGetDcOperationResults(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleGetDcOperationResults *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleGetDcOperationResults(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleGetDcOperationResults *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleGetDcOperationResults(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleGetDcOperationResults *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleGetDcOperationResults"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleGetDcOperationResults"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleGetDcOperationResults"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleCancel(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleCancel *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleCancel(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleCancel *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleCancel(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleCancel *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleCancel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleCancel"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleCancel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleServerSaveStateForUpgrade(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleServerSaveStateForUpgrade *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleServerSaveStateForUpgrade(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleServerSaveStateForUpgrade *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleServerSaveStateForUpgrade(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleServerSaveStateForUpgrade *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleServerSaveStateForUpgrade"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleServerSaveStateForUpgrade"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleServerSaveStateForUpgrade"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleUpgradeDownlevelServer(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleUpgradeDownlevelServer *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleUpgradeDownlevelServer(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleUpgradeDownlevelServer *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleUpgradeDownlevelServer(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleUpgradeDownlevelServer *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleUpgradeDownlevelServer"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleUpgradeDownlevelServer"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleUpgradeDownlevelServer"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dssetup_DsRoleAbortDownlevelServerUpgrade(struct ndr_push *ndr, int flags, const struct dssetup_DsRoleAbortDownlevelServerUpgrade *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dssetup_DsRoleAbortDownlevelServerUpgrade(struct ndr_pull *ndr, int flags, struct dssetup_DsRoleAbortDownlevelServerUpgrade *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dssetup_DsRoleAbortDownlevelServerUpgrade(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleAbortDownlevelServerUpgrade *r) -{ - ndr_print_struct(ndr, name, "dssetup_DsRoleAbortDownlevelServerUpgrade"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "dssetup_DsRoleAbortDownlevelServerUpgrade"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "dssetup_DsRoleAbortDownlevelServerUpgrade"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call dssetup_calls[] = { - { - "dssetup_DsRoleGetPrimaryDomainInformation", - sizeof(struct dssetup_DsRoleGetPrimaryDomainInformation), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleGetPrimaryDomainInformation, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleGetPrimaryDomainInformation, - (ndr_print_function_t) ndr_print_dssetup_DsRoleGetPrimaryDomainInformation, - false, - }, - { - "dssetup_DsRoleDnsNameToFlatName", - sizeof(struct dssetup_DsRoleDnsNameToFlatName), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleDnsNameToFlatName, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleDnsNameToFlatName, - (ndr_print_function_t) ndr_print_dssetup_DsRoleDnsNameToFlatName, - false, - }, - { - "dssetup_DsRoleDcAsDc", - sizeof(struct dssetup_DsRoleDcAsDc), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleDcAsDc, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleDcAsDc, - (ndr_print_function_t) ndr_print_dssetup_DsRoleDcAsDc, - false, - }, - { - "dssetup_DsRoleDcAsReplica", - sizeof(struct dssetup_DsRoleDcAsReplica), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleDcAsReplica, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleDcAsReplica, - (ndr_print_function_t) ndr_print_dssetup_DsRoleDcAsReplica, - false, - }, - { - "dssetup_DsRoleDemoteDc", - sizeof(struct dssetup_DsRoleDemoteDc), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleDemoteDc, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleDemoteDc, - (ndr_print_function_t) ndr_print_dssetup_DsRoleDemoteDc, - false, - }, - { - "dssetup_DsRoleGetDcOperationProgress", - sizeof(struct dssetup_DsRoleGetDcOperationProgress), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleGetDcOperationProgress, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleGetDcOperationProgress, - (ndr_print_function_t) ndr_print_dssetup_DsRoleGetDcOperationProgress, - false, - }, - { - "dssetup_DsRoleGetDcOperationResults", - sizeof(struct dssetup_DsRoleGetDcOperationResults), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleGetDcOperationResults, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleGetDcOperationResults, - (ndr_print_function_t) ndr_print_dssetup_DsRoleGetDcOperationResults, - false, - }, - { - "dssetup_DsRoleCancel", - sizeof(struct dssetup_DsRoleCancel), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleCancel, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleCancel, - (ndr_print_function_t) ndr_print_dssetup_DsRoleCancel, - false, - }, - { - "dssetup_DsRoleServerSaveStateForUpgrade", - sizeof(struct dssetup_DsRoleServerSaveStateForUpgrade), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleServerSaveStateForUpgrade, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleServerSaveStateForUpgrade, - (ndr_print_function_t) ndr_print_dssetup_DsRoleServerSaveStateForUpgrade, - false, - }, - { - "dssetup_DsRoleUpgradeDownlevelServer", - sizeof(struct dssetup_DsRoleUpgradeDownlevelServer), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleUpgradeDownlevelServer, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleUpgradeDownlevelServer, - (ndr_print_function_t) ndr_print_dssetup_DsRoleUpgradeDownlevelServer, - false, - }, - { - "dssetup_DsRoleAbortDownlevelServerUpgrade", - sizeof(struct dssetup_DsRoleAbortDownlevelServerUpgrade), - (ndr_push_flags_fn_t) ndr_push_dssetup_DsRoleAbortDownlevelServerUpgrade, - (ndr_pull_flags_fn_t) ndr_pull_dssetup_DsRoleAbortDownlevelServerUpgrade, - (ndr_print_function_t) ndr_print_dssetup_DsRoleAbortDownlevelServerUpgrade, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const dssetup_endpoint_strings[] = { - "ncacn_np:[\\pipe\\lsarpc]", - "ncacn_np:[\\pipe\\lsass]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array dssetup_endpoints = { - .count = 4, - .names = dssetup_endpoint_strings -}; - -static const char * const dssetup_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array dssetup_authservices = { - .count = 1, - .names = dssetup_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_dssetup = { - .name = "dssetup", - .syntax_id = { - {0x3919286a,0xb10c,0x11d0,{0x9b,0xa8},{0x00,0xc0,0x4f,0xd9,0x2e,0xf5}}, - NDR_DSSETUP_VERSION - }, - .helpstring = NDR_DSSETUP_HELPSTRING, - .num_calls = 11, - .calls = dssetup_calls, - .endpoints = &dssetup_endpoints, - .authservices = &dssetup_authservices -}; - diff --git a/librpc/gen_ndr/ndr_dssetup.h b/librpc/gen_ndr/ndr_dssetup.h deleted file mode 100644 index f3ebe856b7a..00000000000 --- a/librpc/gen_ndr/ndr_dssetup.h +++ /dev/null @@ -1,58 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/dssetup.h" - -#ifndef _HEADER_NDR_dssetup -#define _HEADER_NDR_dssetup - -#define NDR_DSSETUP_UUID "3919286a-b10c-11d0-9ba8-00c04fd92ef5" -#define NDR_DSSETUP_VERSION 0.0 -#define NDR_DSSETUP_NAME "dssetup" -#define NDR_DSSETUP_HELPSTRING "Active Directory Setup" -extern const struct ndr_interface_table ndr_table_dssetup; -#define NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION (0x00) - -#define NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME (0x01) - -#define NDR_DSSETUP_DSROLEDCASDC (0x02) - -#define NDR_DSSETUP_DSROLEDCASREPLICA (0x03) - -#define NDR_DSSETUP_DSROLEDEMOTEDC (0x04) - -#define NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS (0x05) - -#define NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS (0x06) - -#define NDR_DSSETUP_DSROLECANCEL (0x07) - -#define NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE (0x08) - -#define NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER (0x09) - -#define NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE (0x0a) - -#define NDR_DSSETUP_CALL_COUNT (11) -void ndr_print_dssetup_DsRole(struct ndr_print *ndr, const char *name, enum dssetup_DsRole r); -void ndr_print_dssetup_DsRoleFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_dssetup_DsRolePrimaryDomInfoBasic(struct ndr_print *ndr, const char *name, const struct dssetup_DsRolePrimaryDomInfoBasic *r); -void ndr_print_dssetup_DsUpgrade(struct ndr_print *ndr, const char *name, enum dssetup_DsUpgrade r); -void ndr_print_dssetup_DsPrevious(struct ndr_print *ndr, const char *name, enum dssetup_DsPrevious r); -void ndr_print_dssetup_DsRoleUpgradeStatus(struct ndr_print *ndr, const char *name, const struct dssetup_DsRoleUpgradeStatus *r); -void ndr_print_dssetup_DsRoleOp(struct ndr_print *ndr, const char *name, enum dssetup_DsRoleOp r); -void ndr_print_dssetup_DsRoleOpStatus(struct ndr_print *ndr, const char *name, const struct dssetup_DsRoleOpStatus *r); -void ndr_print_dssetup_DsRoleInfoLevel(struct ndr_print *ndr, const char *name, enum dssetup_DsRoleInfoLevel r); -void ndr_print_dssetup_DsRoleInfo(struct ndr_print *ndr, const char *name, const union dssetup_DsRoleInfo *r); -void ndr_print_dssetup_DsRoleGetPrimaryDomainInformation(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleGetPrimaryDomainInformation *r); -void ndr_print_dssetup_DsRoleDnsNameToFlatName(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDnsNameToFlatName *r); -void ndr_print_dssetup_DsRoleDcAsDc(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDcAsDc *r); -void ndr_print_dssetup_DsRoleDcAsReplica(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDcAsReplica *r); -void ndr_print_dssetup_DsRoleDemoteDc(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleDemoteDc *r); -void ndr_print_dssetup_DsRoleGetDcOperationProgress(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleGetDcOperationProgress *r); -void ndr_print_dssetup_DsRoleGetDcOperationResults(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleGetDcOperationResults *r); -void ndr_print_dssetup_DsRoleCancel(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleCancel *r); -void ndr_print_dssetup_DsRoleServerSaveStateForUpgrade(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleServerSaveStateForUpgrade *r); -void ndr_print_dssetup_DsRoleUpgradeDownlevelServer(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleUpgradeDownlevelServer *r); -void ndr_print_dssetup_DsRoleAbortDownlevelServerUpgrade(struct ndr_print *ndr, const char *name, int flags, const struct dssetup_DsRoleAbortDownlevelServerUpgrade *r); -#endif /* _HEADER_NDR_dssetup */ diff --git a/librpc/gen_ndr/ndr_echo.c b/librpc/gen_ndr/ndr_echo.c deleted file mode 100644 index 4c54ff47c30..00000000000 --- a/librpc/gen_ndr/ndr_echo.c +++ /dev/null @@ -1,1535 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_echo.h" - -_PUBLIC_ enum ndr_err_code ndr_push_echo_info1(struct ndr_push *ndr, int ndr_flags, const struct echo_info1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_echo_info1(struct ndr_pull *ndr, int ndr_flags, struct echo_info1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_info1(struct ndr_print *ndr, const char *name, const struct echo_info1 *r) -{ - ndr_print_struct(ndr, name, "echo_info1"); - ndr->depth++; - ndr_print_uint8(ndr, "v", r->v); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_info2(struct ndr_push *ndr, int ndr_flags, const struct echo_info2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->v)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_info2(struct ndr_pull *ndr, int ndr_flags, struct echo_info2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->v)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_info2(struct ndr_print *ndr, const char *name, const struct echo_info2 *r) -{ - ndr_print_struct(ndr, name, "echo_info2"); - ndr->depth++; - ndr_print_uint16(ndr, "v", r->v); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_info3(struct ndr_push *ndr, int ndr_flags, const struct echo_info3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->v)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_info3(struct ndr_pull *ndr, int ndr_flags, struct echo_info3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->v)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_info3(struct ndr_print *ndr, const char *name, const struct echo_info3 *r) -{ - ndr_print_struct(ndr, name, "echo_info3"); - ndr->depth++; - ndr_print_uint32(ndr, "v", r->v); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_STRUCT_echo_info4(struct ndr_push *ndr, int ndr_flags, const struct echo_info4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->v)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_STRUCT_echo_info4(struct ndr_pull *ndr, int ndr_flags, struct echo_info4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->v)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_STRUCT_echo_info4(struct ndr_print *ndr, const char *name, const struct echo_info4 *r) -{ - ndr_print_struct(ndr, name, "echo_info4"); - ndr->depth++; - ndr_print_hyper(ndr, "v", r->v); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_info5(struct ndr_push *ndr, int ndr_flags, const struct echo_info5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v1)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->v2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_info5(struct ndr_pull *ndr, int ndr_flags, struct echo_info5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v1)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->v2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_info5(struct ndr_print *ndr, const char *name, const struct echo_info5 *r) -{ - ndr_print_struct(ndr, name, "echo_info5"); - ndr->depth++; - ndr_print_uint8(ndr, "v1", r->v1); - ndr_print_hyper(ndr, "v2", r->v2); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_info6(struct ndr_push *ndr, int ndr_flags, const struct echo_info6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v1)); - NDR_CHECK(ndr_push_echo_info1(ndr, NDR_SCALARS, &r->info1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_info6(struct ndr_pull *ndr, int ndr_flags, struct echo_info6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v1)); - NDR_CHECK(ndr_pull_echo_info1(ndr, NDR_SCALARS, &r->info1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_info6(struct ndr_print *ndr, const char *name, const struct echo_info6 *r) -{ - ndr_print_struct(ndr, name, "echo_info6"); - ndr->depth++; - ndr_print_uint8(ndr, "v1", r->v1); - ndr_print_echo_info1(ndr, "info1", &r->info1); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_info7(struct ndr_push *ndr, int ndr_flags, const struct echo_info7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->v1)); - NDR_CHECK(ndr_push_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_info7(struct ndr_pull *ndr, int ndr_flags, struct echo_info7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->v1)); - NDR_CHECK(ndr_pull_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_info7(struct ndr_print *ndr, const char *name, const struct echo_info7 *r) -{ - ndr_print_struct(ndr, name, "echo_info7"); - ndr->depth++; - ndr_print_uint8(ndr, "v1", r->v1); - ndr_print_STRUCT_echo_info4(ndr, "info4", &r->info4); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_Info(struct ndr_push *ndr, int ndr_flags, const union echo_Info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_echo_info1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_echo_info2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_echo_info3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_echo_info5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_echo_info6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_echo_info7(ndr, NDR_SCALARS, &r->info7)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - case 5: - break; - - case 6: - break; - - case 7: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_Info(struct ndr_pull *ndr, int ndr_flags, union echo_Info *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_echo_info1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_echo_info2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_echo_info3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_STRUCT_echo_info4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_echo_info5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_echo_info6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_echo_info7(ndr, NDR_SCALARS, &r->info7)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - case 2: - break; - - case 3: - break; - - case 4: - break; - - case 5: - break; - - case 6: - break; - - case 7: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_Info(struct ndr_print *ndr, const char *name, const union echo_Info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "echo_Info"); - switch (level) { - case 1: - ndr_print_echo_info1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_echo_info2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_echo_info3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_STRUCT_echo_info4(ndr, "info4", &r->info4); - break; - - case 5: - ndr_print_echo_info5(ndr, "info5", &r->info5); - break; - - case 6: - ndr_print_echo_info6(ndr, "info6", &r->info6); - break; - - case 7: - ndr_print_echo_info7(ndr, "info7", &r->info7); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_echo_Enum1(struct ndr_push *ndr, int ndr_flags, enum echo_Enum1 r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_Enum1(struct ndr_pull *ndr, int ndr_flags, enum echo_Enum1 *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_Enum1(struct ndr_print *ndr, const char *name, enum echo_Enum1 r) -{ - const char *val = NULL; - - switch (r) { - case ECHO_ENUM1: val = "ECHO_ENUM1"; break; - case ECHO_ENUM2: val = "ECHO_ENUM2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_echo_Enum1_32(struct ndr_push *ndr, int ndr_flags, enum echo_Enum1_32 r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_Enum1_32(struct ndr_pull *ndr, int ndr_flags, enum echo_Enum1_32 *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_Enum1_32(struct ndr_print *ndr, const char *name, enum echo_Enum1_32 r) -{ - const char *val = NULL; - - switch (r) { - case ECHO_ENUM1_32: val = "ECHO_ENUM1_32"; break; - case ECHO_ENUM2_32: val = "ECHO_ENUM2_32"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_echo_Enum2(struct ndr_push *ndr, int ndr_flags, const struct echo_Enum2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, r->e1)); - NDR_CHECK(ndr_push_echo_Enum1_32(ndr, NDR_SCALARS, r->e2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_Enum2(struct ndr_pull *ndr, int ndr_flags, struct echo_Enum2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, &r->e1)); - NDR_CHECK(ndr_pull_echo_Enum1_32(ndr, NDR_SCALARS, &r->e2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_Enum2(struct ndr_print *ndr, const char *name, const struct echo_Enum2 *r) -{ - ndr_print_struct(ndr, name, "echo_Enum2"); - ndr->depth++; - ndr_print_echo_Enum1(ndr, "e1", r->e1); - ndr_print_echo_Enum1_32(ndr, "e2", r->e2); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_Enum3(struct ndr_push *ndr, int ndr_flags, const union echo_Enum3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case ECHO_ENUM1: { - NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, r->e1)); - break; } - - case ECHO_ENUM2: { - NDR_CHECK(ndr_push_echo_Enum2(ndr, NDR_SCALARS, &r->e2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case ECHO_ENUM1: - break; - - case ECHO_ENUM2: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_Enum3(struct ndr_pull *ndr, int ndr_flags, union echo_Enum3 *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case ECHO_ENUM1: { - NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, &r->e1)); - break; } - - case ECHO_ENUM2: { - NDR_CHECK(ndr_pull_echo_Enum2(ndr, NDR_SCALARS, &r->e2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case ECHO_ENUM1: - break; - - case ECHO_ENUM2: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_Enum3(struct ndr_print *ndr, const char *name, const union echo_Enum3 *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "echo_Enum3"); - switch (level) { - case ECHO_ENUM1: - ndr_print_echo_Enum1(ndr, "e1", r->e1); - break; - - case ECHO_ENUM2: - ndr_print_echo_Enum2(ndr, "e2", &r->e2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_echo_Surrounding(struct ndr_push *ndr, int ndr_flags, const struct echo_Surrounding *r) -{ - uint32_t cntr_surrounding_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->x)); - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->x)); - for (cntr_surrounding_0 = 0; cntr_surrounding_0 < r->x; cntr_surrounding_0++) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->surrounding[cntr_surrounding_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_Surrounding(struct ndr_pull *ndr, int ndr_flags, struct echo_Surrounding *r) -{ - uint32_t cntr_surrounding_0; - TALLOC_CTX *_mem_save_surrounding_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->surrounding)); - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->x)); - NDR_PULL_ALLOC_N(ndr, r->surrounding, ndr_get_array_size(ndr, &r->surrounding)); - _mem_save_surrounding_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->surrounding, 0); - for (cntr_surrounding_0 = 0; cntr_surrounding_0 < r->x; cntr_surrounding_0++) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->surrounding[cntr_surrounding_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_surrounding_0, 0); - if (r->surrounding) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->surrounding, r->x)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_Surrounding(struct ndr_print *ndr, const char *name, const struct echo_Surrounding *r) -{ - uint32_t cntr_surrounding_0; - ndr_print_struct(ndr, name, "echo_Surrounding"); - ndr->depth++; - ndr_print_uint32(ndr, "x", r->x); - ndr->print(ndr, "%s: ARRAY(%d)", "surrounding", (int)r->x); - ndr->depth++; - for (cntr_surrounding_0=0;cntr_surrounding_0x;cntr_surrounding_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_surrounding_0) != -1) { - ndr_print_uint16(ndr, "surrounding", r->surrounding[cntr_surrounding_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_AddOne(struct ndr_push *ndr, int flags, const struct echo_AddOne *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data)); - } - if (flags & NDR_OUT) { - if (r->out.out_data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.out_data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_AddOne(struct ndr_pull *ndr, int flags, struct echo_AddOne *r) -{ - TALLOC_CTX *_mem_save_out_data_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.in_data)); - NDR_PULL_ALLOC(ndr, r->out.out_data); - ZERO_STRUCTP(r->out.out_data); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.out_data); - } - _mem_save_out_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.out_data, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.out_data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_data_0, LIBNDR_FLAG_REF_ALLOC); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_AddOne(struct ndr_print *ndr, const char *name, int flags, const struct echo_AddOne *r) -{ - ndr_print_struct(ndr, name, "echo_AddOne"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_AddOne"); - ndr->depth++; - ndr_print_uint32(ndr, "in_data", r->in.in_data); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_AddOne"); - ndr->depth++; - ndr_print_ptr(ndr, "out_data", r->out.out_data); - ndr->depth++; - ndr_print_uint32(ndr, "out_data", *r->out.out_data); - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_EchoData(struct ndr_push *ndr, int flags, const struct echo_EchoData *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.len)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.in_data, r->in.len)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.out_data, r->in.len)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_EchoData(struct ndr_pull *ndr, int flags, struct echo_EchoData *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.in_data)); - NDR_PULL_ALLOC_N(ndr, r->in.in_data, ndr_get_array_size(ndr, &r->in.in_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.in_data, ndr_get_array_size(ndr, &r->in.in_data))); - if (r->in.in_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.in_data, r->in.len)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data)); - NDR_PULL_ALLOC_N(ndr, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data))); - if (r->out.out_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_EchoData(struct ndr_print *ndr, const char *name, int flags, const struct echo_EchoData *r) -{ - ndr_print_struct(ndr, name, "echo_EchoData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_EchoData"); - ndr->depth++; - ndr_print_uint32(ndr, "len", r->in.len); - ndr_print_array_uint8(ndr, "in_data", r->in.in_data, r->in.len); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_EchoData"); - ndr->depth++; - ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.len); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_SinkData(struct ndr_push *ndr, int flags, const struct echo_SinkData *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.len)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.len)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_SinkData(struct ndr_pull *ndr, int flags, struct echo_SinkData *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data))); - if (r->in.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.len)); - } - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_SinkData(struct ndr_print *ndr, const char *name, int flags, const struct echo_SinkData *r) -{ - ndr_print_struct(ndr, name, "echo_SinkData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_SinkData"); - ndr->depth++; - ndr_print_uint32(ndr, "len", r->in.len); - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.len); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_SinkData"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_SourceData(struct ndr_push *ndr, int flags, const struct echo_SourceData *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.len)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.len)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_SourceData(struct ndr_pull *ndr, int flags, struct echo_SourceData *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.len)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data))); - if (r->out.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_SourceData(struct ndr_print *ndr, const char *name, int flags, const struct echo_SourceData *r) -{ - ndr_print_struct(ndr, name, "echo_SourceData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_SourceData"); - ndr->depth++; - ndr_print_uint32(ndr, "len", r->in.len); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_SourceData"); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->out.data, r->in.len); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_TestCall(struct ndr_push *ndr, int flags, const struct echo_TestCall *r) -{ - if (flags & NDR_IN) { - if (r->in.s1 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.s1, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.s1, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.s1, ndr_charset_length(r->in.s1, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - if (r->out.s2 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.s2)); - if (*r->out.s2) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.s2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.s2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.s2, ndr_charset_length(*r->out.s2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_TestCall(struct ndr_pull *ndr, int flags, struct echo_TestCall *r) -{ - uint32_t _ptr_s2; - TALLOC_CTX *_mem_save_s2_0; - TALLOC_CTX *_mem_save_s2_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.s1)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.s1)); - if (ndr_get_array_length(ndr, &r->in.s1) > ndr_get_array_size(ndr, &r->in.s1)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.s1), ndr_get_array_length(ndr, &r->in.s1)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.s1), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.s1, ndr_get_array_length(ndr, &r->in.s1), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_ALLOC(ndr, r->out.s2); - ZERO_STRUCTP(r->out.s2); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.s2); - } - _mem_save_s2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.s2, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s2)); - if (_ptr_s2) { - NDR_PULL_ALLOC(ndr, *r->out.s2); - } else { - *r->out.s2 = NULL; - } - if (*r->out.s2) { - _mem_save_s2_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.s2, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.s2)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.s2)); - if (ndr_get_array_length(ndr, r->out.s2) > ndr_get_array_size(ndr, r->out.s2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.s2), ndr_get_array_length(ndr, r->out.s2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.s2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.s2, ndr_get_array_length(ndr, r->out.s2), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s2_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s2_0, LIBNDR_FLAG_REF_ALLOC); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_TestCall(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestCall *r) -{ - ndr_print_struct(ndr, name, "echo_TestCall"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_TestCall"); - ndr->depth++; - ndr_print_ptr(ndr, "s1", r->in.s1); - ndr->depth++; - ndr_print_string(ndr, "s1", r->in.s1); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_TestCall"); - ndr->depth++; - ndr_print_ptr(ndr, "s2", r->out.s2); - ndr->depth++; - ndr_print_ptr(ndr, "s2", *r->out.s2); - ndr->depth++; - if (*r->out.s2) { - ndr_print_string(ndr, "s2", *r->out.s2); - } - ndr->depth--; - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_TestCall2(struct ndr_push *ndr, int flags, const struct echo_TestCall2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_echo_Info(ndr, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_TestCall2(struct ndr_pull *ndr, int flags, struct echo_TestCall2 *r) -{ - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_echo_Info(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_TestCall2(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestCall2 *r) -{ - ndr_print_struct(ndr, name, "echo_TestCall2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_TestCall2"); - ndr->depth++; - ndr_print_uint16(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_TestCall2"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_echo_Info(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_TestSleep(struct ndr_push *ndr, int flags, const struct echo_TestSleep *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.seconds)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_TestSleep(struct ndr_pull *ndr, int flags, struct echo_TestSleep *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.seconds)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_TestSleep(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestSleep *r) -{ - ndr_print_struct(ndr, name, "echo_TestSleep"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_TestSleep"); - ndr->depth++; - ndr_print_uint32(ndr, "seconds", r->in.seconds); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_TestSleep"); - ndr->depth++; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_TestEnum(struct ndr_push *ndr, int flags, const struct echo_TestEnum *r) -{ - if (flags & NDR_IN) { - if (r->in.foo1 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, *r->in.foo1)); - if (r->in.foo2 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_echo_Enum2(ndr, NDR_SCALARS, r->in.foo2)); - if (r->in.foo3 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.foo3, *r->in.foo1)); - NDR_CHECK(ndr_push_echo_Enum3(ndr, NDR_SCALARS, r->in.foo3)); - } - if (flags & NDR_OUT) { - if (r->out.foo1 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_echo_Enum1(ndr, NDR_SCALARS, *r->out.foo1)); - if (r->out.foo2 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_echo_Enum2(ndr, NDR_SCALARS, r->out.foo2)); - if (r->out.foo3 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.foo3, *r->out.foo1)); - NDR_CHECK(ndr_push_echo_Enum3(ndr, NDR_SCALARS, r->out.foo3)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_TestEnum(struct ndr_pull *ndr, int flags, struct echo_TestEnum *r) -{ - TALLOC_CTX *_mem_save_foo1_0; - TALLOC_CTX *_mem_save_foo2_0; - TALLOC_CTX *_mem_save_foo3_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.foo1); - } - _mem_save_foo1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.foo1, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, r->in.foo1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo1_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.foo2); - } - _mem_save_foo2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.foo2, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_echo_Enum2(ndr, NDR_SCALARS, r->in.foo2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo2_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.foo3); - } - _mem_save_foo3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.foo3, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.foo3, *r->in.foo1)); - NDR_CHECK(ndr_pull_echo_Enum3(ndr, NDR_SCALARS, r->in.foo3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo3_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.foo1); - *r->out.foo1 = *r->in.foo1; - NDR_PULL_ALLOC(ndr, r->out.foo2); - *r->out.foo2 = *r->in.foo2; - NDR_PULL_ALLOC(ndr, r->out.foo3); - *r->out.foo3 = *r->in.foo3; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.foo1); - } - _mem_save_foo1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.foo1, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_echo_Enum1(ndr, NDR_SCALARS, r->out.foo1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo1_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.foo2); - } - _mem_save_foo2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.foo2, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_echo_Enum2(ndr, NDR_SCALARS, r->out.foo2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo2_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.foo3); - } - _mem_save_foo3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.foo3, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.foo3, *r->out.foo1)); - NDR_CHECK(ndr_pull_echo_Enum3(ndr, NDR_SCALARS, r->out.foo3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_foo3_0, LIBNDR_FLAG_REF_ALLOC); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_TestEnum(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestEnum *r) -{ - ndr_print_struct(ndr, name, "echo_TestEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_TestEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "foo1", r->in.foo1); - ndr->depth++; - ndr_print_echo_Enum1(ndr, "foo1", *r->in.foo1); - ndr->depth--; - ndr_print_ptr(ndr, "foo2", r->in.foo2); - ndr->depth++; - ndr_print_echo_Enum2(ndr, "foo2", r->in.foo2); - ndr->depth--; - ndr_print_ptr(ndr, "foo3", r->in.foo3); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.foo3, *r->in.foo1); - ndr_print_echo_Enum3(ndr, "foo3", r->in.foo3); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_TestEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "foo1", r->out.foo1); - ndr->depth++; - ndr_print_echo_Enum1(ndr, "foo1", *r->out.foo1); - ndr->depth--; - ndr_print_ptr(ndr, "foo2", r->out.foo2); - ndr->depth++; - ndr_print_echo_Enum2(ndr, "foo2", r->out.foo2); - ndr->depth--; - ndr_print_ptr(ndr, "foo3", r->out.foo3); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.foo3, *r->out.foo1); - ndr_print_echo_Enum3(ndr, "foo3", r->out.foo3); - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_TestSurrounding(struct ndr_push *ndr, int flags, const struct echo_TestSurrounding *r) -{ - if (flags & NDR_IN) { - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_echo_Surrounding(ndr, NDR_SCALARS, r->in.data)); - } - if (flags & NDR_OUT) { - if (r->out.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_echo_Surrounding(ndr, NDR_SCALARS, r->out.data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_TestSurrounding(struct ndr_pull *ndr, int flags, struct echo_TestSurrounding *r) -{ - TALLOC_CTX *_mem_save_data_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.data); - } - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_echo_Surrounding(ndr, NDR_SCALARS, r->in.data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.data); - *r->out.data = *r->in.data; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.data); - } - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.data, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_echo_Surrounding(ndr, NDR_SCALARS, r->out.data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_TestSurrounding(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestSurrounding *r) -{ - ndr_print_struct(ndr, name, "echo_TestSurrounding"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_TestSurrounding"); - ndr->depth++; - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_echo_Surrounding(ndr, "data", r->in.data); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_TestSurrounding"); - ndr->depth++; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - ndr_print_echo_Surrounding(ndr, "data", r->out.data); - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_echo_TestDoublePointer(struct ndr_push *ndr, int flags, const struct echo_TestDoublePointer *r) -{ - if (flags & NDR_IN) { - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.data)); - if (*r->in.data) { - NDR_CHECK(ndr_push_unique_ptr(ndr, **r->in.data)); - if (**r->in.data) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ***r->in.data)); - } - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_echo_TestDoublePointer(struct ndr_pull *ndr, int flags, struct echo_TestDoublePointer *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_data_1; - TALLOC_CTX *_mem_save_data_2; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.data); - } - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, *r->in.data); - } else { - *r->in.data = NULL; - } - if (*r->in.data) { - _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.data, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, **r->in.data); - } else { - **r->in.data = NULL; - } - if (**r->in.data) { - _mem_save_data_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, **r->in.data, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, **r->in.data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_2, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_echo_TestDoublePointer(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestDoublePointer *r) -{ - ndr_print_struct(ndr, name, "echo_TestDoublePointer"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "echo_TestDoublePointer"); - ndr->depth++; - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_ptr(ndr, "data", *r->in.data); - ndr->depth++; - if (*r->in.data) { - ndr_print_ptr(ndr, "data", **r->in.data); - ndr->depth++; - if (**r->in.data) { - ndr_print_uint16(ndr, "data", ***r->in.data); - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "echo_TestDoublePointer"); - ndr->depth++; - ndr_print_uint16(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call rpcecho_calls[] = { - { - "echo_AddOne", - sizeof(struct echo_AddOne), - (ndr_push_flags_fn_t) ndr_push_echo_AddOne, - (ndr_pull_flags_fn_t) ndr_pull_echo_AddOne, - (ndr_print_function_t) ndr_print_echo_AddOne, - false, - }, - { - "echo_EchoData", - sizeof(struct echo_EchoData), - (ndr_push_flags_fn_t) ndr_push_echo_EchoData, - (ndr_pull_flags_fn_t) ndr_pull_echo_EchoData, - (ndr_print_function_t) ndr_print_echo_EchoData, - false, - }, - { - "echo_SinkData", - sizeof(struct echo_SinkData), - (ndr_push_flags_fn_t) ndr_push_echo_SinkData, - (ndr_pull_flags_fn_t) ndr_pull_echo_SinkData, - (ndr_print_function_t) ndr_print_echo_SinkData, - false, - }, - { - "echo_SourceData", - sizeof(struct echo_SourceData), - (ndr_push_flags_fn_t) ndr_push_echo_SourceData, - (ndr_pull_flags_fn_t) ndr_pull_echo_SourceData, - (ndr_print_function_t) ndr_print_echo_SourceData, - false, - }, - { - "echo_TestCall", - sizeof(struct echo_TestCall), - (ndr_push_flags_fn_t) ndr_push_echo_TestCall, - (ndr_pull_flags_fn_t) ndr_pull_echo_TestCall, - (ndr_print_function_t) ndr_print_echo_TestCall, - false, - }, - { - "echo_TestCall2", - sizeof(struct echo_TestCall2), - (ndr_push_flags_fn_t) ndr_push_echo_TestCall2, - (ndr_pull_flags_fn_t) ndr_pull_echo_TestCall2, - (ndr_print_function_t) ndr_print_echo_TestCall2, - false, - }, - { - "echo_TestSleep", - sizeof(struct echo_TestSleep), - (ndr_push_flags_fn_t) ndr_push_echo_TestSleep, - (ndr_pull_flags_fn_t) ndr_pull_echo_TestSleep, - (ndr_print_function_t) ndr_print_echo_TestSleep, - false, - }, - { - "echo_TestEnum", - sizeof(struct echo_TestEnum), - (ndr_push_flags_fn_t) ndr_push_echo_TestEnum, - (ndr_pull_flags_fn_t) ndr_pull_echo_TestEnum, - (ndr_print_function_t) ndr_print_echo_TestEnum, - false, - }, - { - "echo_TestSurrounding", - sizeof(struct echo_TestSurrounding), - (ndr_push_flags_fn_t) ndr_push_echo_TestSurrounding, - (ndr_pull_flags_fn_t) ndr_pull_echo_TestSurrounding, - (ndr_print_function_t) ndr_print_echo_TestSurrounding, - false, - }, - { - "echo_TestDoublePointer", - sizeof(struct echo_TestDoublePointer), - (ndr_push_flags_fn_t) ndr_push_echo_TestDoublePointer, - (ndr_pull_flags_fn_t) ndr_pull_echo_TestDoublePointer, - (ndr_print_function_t) ndr_print_echo_TestDoublePointer, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const rpcecho_endpoint_strings[] = { - "ncacn_np:[\\pipe\\rpcecho]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array rpcecho_endpoints = { - .count = 3, - .names = rpcecho_endpoint_strings -}; - -static const char * const rpcecho_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array rpcecho_authservices = { - .count = 1, - .names = rpcecho_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_rpcecho = { - .name = "rpcecho", - .syntax_id = { - {0x60a15ec5,0x4de8,0x11d7,{0xa6,0x37},{0x00,0x50,0x56,0xa2,0x01,0x82}}, - NDR_RPCECHO_VERSION - }, - .helpstring = NDR_RPCECHO_HELPSTRING, - .num_calls = 10, - .calls = rpcecho_calls, - .endpoints = &rpcecho_endpoints, - .authservices = &rpcecho_authservices -}; - diff --git a/librpc/gen_ndr/ndr_echo.h b/librpc/gen_ndr/ndr_echo.h deleted file mode 100644 index 06686497553..00000000000 --- a/librpc/gen_ndr/ndr_echo.h +++ /dev/null @@ -1,60 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/echo.h" - -#ifndef _HEADER_NDR_rpcecho -#define _HEADER_NDR_rpcecho - -#define NDR_RPCECHO_UUID "60a15ec5-4de8-11d7-a637-005056a20182" -#define NDR_RPCECHO_VERSION 1.0 -#define NDR_RPCECHO_NAME "rpcecho" -#define NDR_RPCECHO_HELPSTRING "Simple echo pipe" -extern const struct ndr_interface_table ndr_table_rpcecho; -#define NDR_ECHO_ADDONE (0x00) - -#define NDR_ECHO_ECHODATA (0x01) - -#define NDR_ECHO_SINKDATA (0x02) - -#define NDR_ECHO_SOURCEDATA (0x03) - -#define NDR_ECHO_TESTCALL (0x04) - -#define NDR_ECHO_TESTCALL2 (0x05) - -#define NDR_ECHO_TESTSLEEP (0x06) - -#define NDR_ECHO_TESTENUM (0x07) - -#define NDR_ECHO_TESTSURROUNDING (0x08) - -#define NDR_ECHO_TESTDOUBLEPOINTER (0x09) - -#define NDR_RPCECHO_CALL_COUNT (10) -enum ndr_err_code ndr_push_echo_info1(struct ndr_push *ndr, int ndr_flags, const struct echo_info1 *r); -enum ndr_err_code ndr_pull_echo_info1(struct ndr_pull *ndr, int ndr_flags, struct echo_info1 *r); -void ndr_print_echo_info1(struct ndr_print *ndr, const char *name, const struct echo_info1 *r); -void ndr_print_echo_info2(struct ndr_print *ndr, const char *name, const struct echo_info2 *r); -void ndr_print_echo_info3(struct ndr_print *ndr, const char *name, const struct echo_info3 *r); -void ndr_print_STRUCT_echo_info4(struct ndr_print *ndr, const char *name, const struct echo_info4 *r); -void ndr_print_echo_info5(struct ndr_print *ndr, const char *name, const struct echo_info5 *r); -void ndr_print_echo_info6(struct ndr_print *ndr, const char *name, const struct echo_info6 *r); -void ndr_print_echo_info7(struct ndr_print *ndr, const char *name, const struct echo_info7 *r); -void ndr_print_echo_Info(struct ndr_print *ndr, const char *name, const union echo_Info *r); -void ndr_print_echo_Enum1(struct ndr_print *ndr, const char *name, enum echo_Enum1 r); -void ndr_print_echo_Enum1_32(struct ndr_print *ndr, const char *name, enum echo_Enum1_32 r); -void ndr_print_echo_Enum2(struct ndr_print *ndr, const char *name, const struct echo_Enum2 *r); -void ndr_print_echo_Enum3(struct ndr_print *ndr, const char *name, const union echo_Enum3 *r); -void ndr_print_echo_Surrounding(struct ndr_print *ndr, const char *name, const struct echo_Surrounding *r); -void ndr_print_echo_AddOne(struct ndr_print *ndr, const char *name, int flags, const struct echo_AddOne *r); -void ndr_print_echo_EchoData(struct ndr_print *ndr, const char *name, int flags, const struct echo_EchoData *r); -void ndr_print_echo_SinkData(struct ndr_print *ndr, const char *name, int flags, const struct echo_SinkData *r); -void ndr_print_echo_SourceData(struct ndr_print *ndr, const char *name, int flags, const struct echo_SourceData *r); -void ndr_print_echo_TestCall(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestCall *r); -void ndr_print_echo_TestCall2(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestCall2 *r); -void ndr_print_echo_TestSleep(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestSleep *r); -void ndr_print_echo_TestEnum(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestEnum *r); -void ndr_print_echo_TestSurrounding(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestSurrounding *r); -void ndr_print_echo_TestDoublePointer(struct ndr_print *ndr, const char *name, int flags, const struct echo_TestDoublePointer *r); -#endif /* _HEADER_NDR_rpcecho */ diff --git a/librpc/gen_ndr/ndr_epmapper.c b/librpc/gen_ndr/ndr_epmapper.c deleted file mode 100644 index 5c3abe774c2..00000000000 --- a/librpc/gen_ndr/ndr_epmapper.c +++ /dev/null @@ -1,2760 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_epmapper.h" - -#include "librpc/gen_ndr/ndr_misc.h" -static enum ndr_err_code ndr_push_epm_protocol(struct ndr_push *ndr, int ndr_flags, enum epm_protocol r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_protocol(struct ndr_pull *ndr, int ndr_flags, enum epm_protocol *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_protocol(struct ndr_print *ndr, const char *name, enum epm_protocol r) -{ - const char *val = NULL; - - switch (r) { - case EPM_PROTOCOL_DNET_NSP: val = "EPM_PROTOCOL_DNET_NSP"; break; - case EPM_PROTOCOL_OSI_TP4: val = "EPM_PROTOCOL_OSI_TP4"; break; - case EPM_PROTOCOL_OSI_CLNS: val = "EPM_PROTOCOL_OSI_CLNS"; break; - case EPM_PROTOCOL_TCP: val = "EPM_PROTOCOL_TCP"; break; - case EPM_PROTOCOL_UDP: val = "EPM_PROTOCOL_UDP"; break; - case EPM_PROTOCOL_IP: val = "EPM_PROTOCOL_IP"; break; - case EPM_PROTOCOL_NCADG: val = "EPM_PROTOCOL_NCADG"; break; - case EPM_PROTOCOL_NCACN: val = "EPM_PROTOCOL_NCACN"; break; - case EPM_PROTOCOL_NCALRPC: val = "EPM_PROTOCOL_NCALRPC"; break; - case EPM_PROTOCOL_UUID: val = "EPM_PROTOCOL_UUID"; break; - case EPM_PROTOCOL_IPX: val = "EPM_PROTOCOL_IPX"; break; - case EPM_PROTOCOL_SMB: val = "EPM_PROTOCOL_SMB"; break; - case EPM_PROTOCOL_NAMED_PIPE: val = "EPM_PROTOCOL_NAMED_PIPE"; break; - case EPM_PROTOCOL_NETBIOS: val = "EPM_PROTOCOL_NETBIOS"; break; - case EPM_PROTOCOL_NETBEUI: val = "EPM_PROTOCOL_NETBEUI"; break; - case EPM_PROTOCOL_SPX: val = "EPM_PROTOCOL_SPX"; break; - case EPM_PROTOCOL_NB_IPX: val = "EPM_PROTOCOL_NB_IPX"; break; - case EPM_PROTOCOL_DSP: val = "EPM_PROTOCOL_DSP"; break; - case EPM_PROTOCOL_DDP: val = "EPM_PROTOCOL_DDP"; break; - case EPM_PROTOCOL_APPLETALK: val = "EPM_PROTOCOL_APPLETALK"; break; - case EPM_PROTOCOL_VINES_SPP: val = "EPM_PROTOCOL_VINES_SPP"; break; - case EPM_PROTOCOL_VINES_IPC: val = "EPM_PROTOCOL_VINES_IPC"; break; - case EPM_PROTOCOL_STREETTALK: val = "EPM_PROTOCOL_STREETTALK"; break; - case EPM_PROTOCOL_HTTP: val = "EPM_PROTOCOL_HTTP"; break; - case EPM_PROTOCOL_UNIX_DS: val = "EPM_PROTOCOL_UNIX_DS"; break; - case EPM_PROTOCOL_NULL: val = "EPM_PROTOCOL_NULL"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_epm_rhs_dnet_nsp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_dnet_nsp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_dnet_nsp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_dnet_nsp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_dnet_nsp(struct ndr_print *ndr, const char *name, const struct epm_rhs_dnet_nsp *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_dnet_nsp"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_osi_tp4(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_osi_tp4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_osi_tp4(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_osi_tp4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_osi_tp4(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_tp4 *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_osi_tp4"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_osi_clns(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_osi_clns *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_osi_clns(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_osi_clns *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_osi_clns(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_clns *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_osi_clns"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_udp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_udp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_udp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_udp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_udp(struct ndr_print *ndr, const char *name, const struct epm_rhs_udp *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_udp"); - ndr->depth++; - ndr_print_uint16(ndr, "port", r->port); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_tcp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_tcp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_tcp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_tcp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_tcp(struct ndr_print *ndr, const char *name, const struct epm_rhs_tcp *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_tcp"); - ndr->depth++; - ndr_print_uint16(ndr, "port", r->port); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_ip(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ip *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipaddr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_ip(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ip *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipaddr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_ip(struct ndr_print *ndr, const char *name, const struct epm_rhs_ip *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_ip"); - ndr->depth++; - ndr_print_ipv4address(ndr, "ipaddr", r->ipaddr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_ncadg(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncadg *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_ncadg(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncadg *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_ncadg(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncadg *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_ncadg"); - ndr->depth++; - ndr_print_uint16(ndr, "minor_version", r->minor_version); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_ncacn(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncacn *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_ncacn(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncacn *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_ncacn(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncacn *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_ncacn"); - ndr->depth++; - ndr_print_uint16(ndr, "minor_version", r->minor_version); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_uuid(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_uuid *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->unknown)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_uuid(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_uuid *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->unknown)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_uuid(struct ndr_print *ndr, const char *name, const struct epm_rhs_uuid *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_uuid"); - ndr->depth++; - ndr_print_DATA_BLOB(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_ipx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ipx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_ipx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ipx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_ipx *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_ipx"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_smb(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_smb *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unc)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_smb(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_smb *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unc)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_smb(struct ndr_print *ndr, const char *name, const struct epm_rhs_smb *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_smb"); - ndr->depth++; - ndr_print_string(ndr, "unc", r->unc); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_named_pipe(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_named_pipe *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_named_pipe(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_named_pipe *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_named_pipe(struct ndr_print *ndr, const char *name, const struct epm_rhs_named_pipe *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_named_pipe"); - ndr->depth++; - ndr_print_string(ndr, "path", r->path); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_netbios(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_netbios *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_netbios(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_netbios *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_netbios(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbios *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_netbios"); - ndr->depth++; - ndr_print_string(ndr, "name", r->name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_netbeui(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_netbeui *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_netbeui(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_netbeui *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_netbeui(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbeui *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_netbeui"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_spx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_spx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_spx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_spx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_spx(struct ndr_print *ndr, const char *name, const struct epm_rhs_spx *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_spx"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_nb_ipx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_nb_ipx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_nb_ipx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_nb_ipx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_nb_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_nb_ipx *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_nb_ipx"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_http(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_http *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_http(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_http *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_http(struct ndr_print *ndr, const char *name, const struct epm_rhs_http *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_http"); - ndr->depth++; - ndr_print_uint16(ndr, "port", r->port); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_unix_ds(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_unix_ds *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_unix_ds(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_unix_ds *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_unix_ds(struct ndr_print *ndr, const char *name, const struct epm_rhs_unix_ds *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_unix_ds"); - ndr->depth++; - ndr_print_string(ndr, "path", r->path); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_null(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_null *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_null(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_null *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_null(struct ndr_print *ndr, const char *name, const struct epm_rhs_null *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_null"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_ncalrpc(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncalrpc *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_ncalrpc(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncalrpc *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_ncalrpc(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncalrpc *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_ncalrpc"); - ndr->depth++; - ndr_print_uint16(ndr, "minor_version", r->minor_version); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_appletalk(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_appletalk *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_appletalk(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_appletalk *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_appletalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_appletalk *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_appletalk"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_atalk_stream(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_atalk_stream *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_atalk_stream(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_atalk_stream *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_atalk_stream(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_stream *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_atalk_stream"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_atalk_datagram(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_atalk_datagram *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_atalk_datagram(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_atalk_datagram *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_atalk_datagram(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_datagram *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_atalk_datagram"); - ndr->depth++; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_vines_spp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_vines_spp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_vines_spp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_vines_spp *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_vines_spp(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_spp *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_vines_spp"); - ndr->depth++; - ndr_print_uint16(ndr, "port", r->port); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_vines_ipc(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_vines_ipc *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_vines_ipc(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_vines_ipc *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_vines_ipc(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_ipc *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_vines_ipc"); - ndr->depth++; - ndr_print_uint16(ndr, "port", r->port); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs_streettalk(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_streettalk *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->streettalk)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs_streettalk(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_streettalk *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->streettalk)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs_streettalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_streettalk *r) -{ - ndr_print_struct(ndr, name, "epm_rhs_streettalk"); - ndr->depth++; - ndr_print_string(ndr, "streettalk", r->streettalk); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_rhs(struct ndr_push *ndr, int ndr_flags, const union epm_rhs *r) -{ - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case EPM_PROTOCOL_DNET_NSP: { - NDR_CHECK(ndr_push_epm_rhs_dnet_nsp(ndr, NDR_SCALARS, &r->dnet_nsp)); - break; } - - case EPM_PROTOCOL_OSI_TP4: { - NDR_CHECK(ndr_push_epm_rhs_osi_tp4(ndr, NDR_SCALARS, &r->osi_tp4)); - break; } - - case EPM_PROTOCOL_OSI_CLNS: { - NDR_CHECK(ndr_push_epm_rhs_osi_clns(ndr, NDR_SCALARS, &r->osi_clns)); - break; } - - case EPM_PROTOCOL_TCP: { - NDR_CHECK(ndr_push_epm_rhs_tcp(ndr, NDR_SCALARS, &r->tcp)); - break; } - - case EPM_PROTOCOL_UDP: { - NDR_CHECK(ndr_push_epm_rhs_udp(ndr, NDR_SCALARS, &r->udp)); - break; } - - case EPM_PROTOCOL_IP: { - NDR_CHECK(ndr_push_epm_rhs_ip(ndr, NDR_SCALARS, &r->ip)); - break; } - - case EPM_PROTOCOL_NCADG: { - NDR_CHECK(ndr_push_epm_rhs_ncadg(ndr, NDR_SCALARS, &r->ncadg)); - break; } - - case EPM_PROTOCOL_NCACN: { - NDR_CHECK(ndr_push_epm_rhs_ncacn(ndr, NDR_SCALARS, &r->ncacn)); - break; } - - case EPM_PROTOCOL_NCALRPC: { - NDR_CHECK(ndr_push_epm_rhs_ncalrpc(ndr, NDR_SCALARS, &r->ncalrpc)); - break; } - - case EPM_PROTOCOL_UUID: { - NDR_CHECK(ndr_push_epm_rhs_uuid(ndr, NDR_SCALARS, &r->uuid)); - break; } - - case EPM_PROTOCOL_IPX: { - NDR_CHECK(ndr_push_epm_rhs_ipx(ndr, NDR_SCALARS, &r->ipx)); - break; } - - case EPM_PROTOCOL_SMB: { - NDR_CHECK(ndr_push_epm_rhs_smb(ndr, NDR_SCALARS, &r->smb)); - break; } - - case EPM_PROTOCOL_NAMED_PIPE: { - NDR_CHECK(ndr_push_epm_rhs_named_pipe(ndr, NDR_SCALARS, &r->named_pipe)); - break; } - - case EPM_PROTOCOL_NETBIOS: { - NDR_CHECK(ndr_push_epm_rhs_netbios(ndr, NDR_SCALARS, &r->netbios)); - break; } - - case EPM_PROTOCOL_NETBEUI: { - NDR_CHECK(ndr_push_epm_rhs_netbeui(ndr, NDR_SCALARS, &r->netbeui)); - break; } - - case EPM_PROTOCOL_SPX: { - NDR_CHECK(ndr_push_epm_rhs_spx(ndr, NDR_SCALARS, &r->spx)); - break; } - - case EPM_PROTOCOL_NB_IPX: { - NDR_CHECK(ndr_push_epm_rhs_nb_ipx(ndr, NDR_SCALARS, &r->nb_ipx)); - break; } - - case EPM_PROTOCOL_DSP: { - NDR_CHECK(ndr_push_epm_rhs_atalk_stream(ndr, NDR_SCALARS, &r->atalk_stream)); - break; } - - case EPM_PROTOCOL_DDP: { - NDR_CHECK(ndr_push_epm_rhs_atalk_datagram(ndr, NDR_SCALARS, &r->atalk_datagram)); - break; } - - case EPM_PROTOCOL_APPLETALK: { - NDR_CHECK(ndr_push_epm_rhs_appletalk(ndr, NDR_SCALARS, &r->appletalk)); - break; } - - case EPM_PROTOCOL_VINES_SPP: { - NDR_CHECK(ndr_push_epm_rhs_vines_spp(ndr, NDR_SCALARS, &r->vines_spp)); - break; } - - case EPM_PROTOCOL_VINES_IPC: { - NDR_CHECK(ndr_push_epm_rhs_vines_ipc(ndr, NDR_SCALARS, &r->vines_ipc)); - break; } - - case EPM_PROTOCOL_STREETTALK: { - NDR_CHECK(ndr_push_epm_rhs_streettalk(ndr, NDR_SCALARS, &r->streettalk)); - break; } - - case EPM_PROTOCOL_HTTP: { - NDR_CHECK(ndr_push_epm_rhs_http(ndr, NDR_SCALARS, &r->http)); - break; } - - case EPM_PROTOCOL_UNIX_DS: { - NDR_CHECK(ndr_push_epm_rhs_unix_ds(ndr, NDR_SCALARS, &r->unix_ds)); - break; } - - case EPM_PROTOCOL_NULL: { - NDR_CHECK(ndr_push_epm_rhs_null(ndr, NDR_SCALARS, &r->null)); - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->unknown)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case EPM_PROTOCOL_DNET_NSP: - break; - - case EPM_PROTOCOL_OSI_TP4: - break; - - case EPM_PROTOCOL_OSI_CLNS: - break; - - case EPM_PROTOCOL_TCP: - break; - - case EPM_PROTOCOL_UDP: - break; - - case EPM_PROTOCOL_IP: - break; - - case EPM_PROTOCOL_NCADG: - break; - - case EPM_PROTOCOL_NCACN: - break; - - case EPM_PROTOCOL_NCALRPC: - break; - - case EPM_PROTOCOL_UUID: - break; - - case EPM_PROTOCOL_IPX: - break; - - case EPM_PROTOCOL_SMB: - break; - - case EPM_PROTOCOL_NAMED_PIPE: - break; - - case EPM_PROTOCOL_NETBIOS: - break; - - case EPM_PROTOCOL_NETBEUI: - break; - - case EPM_PROTOCOL_SPX: - break; - - case EPM_PROTOCOL_NB_IPX: - break; - - case EPM_PROTOCOL_DSP: - break; - - case EPM_PROTOCOL_DDP: - break; - - case EPM_PROTOCOL_APPLETALK: - break; - - case EPM_PROTOCOL_VINES_SPP: - break; - - case EPM_PROTOCOL_VINES_IPC: - break; - - case EPM_PROTOCOL_STREETTALK: - break; - - case EPM_PROTOCOL_HTTP: - break; - - case EPM_PROTOCOL_UNIX_DS: - break; - - case EPM_PROTOCOL_NULL: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_rhs(struct ndr_pull *ndr, int ndr_flags, union epm_rhs *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case EPM_PROTOCOL_DNET_NSP: { - NDR_CHECK(ndr_pull_epm_rhs_dnet_nsp(ndr, NDR_SCALARS, &r->dnet_nsp)); - break; } - - case EPM_PROTOCOL_OSI_TP4: { - NDR_CHECK(ndr_pull_epm_rhs_osi_tp4(ndr, NDR_SCALARS, &r->osi_tp4)); - break; } - - case EPM_PROTOCOL_OSI_CLNS: { - NDR_CHECK(ndr_pull_epm_rhs_osi_clns(ndr, NDR_SCALARS, &r->osi_clns)); - break; } - - case EPM_PROTOCOL_TCP: { - NDR_CHECK(ndr_pull_epm_rhs_tcp(ndr, NDR_SCALARS, &r->tcp)); - break; } - - case EPM_PROTOCOL_UDP: { - NDR_CHECK(ndr_pull_epm_rhs_udp(ndr, NDR_SCALARS, &r->udp)); - break; } - - case EPM_PROTOCOL_IP: { - NDR_CHECK(ndr_pull_epm_rhs_ip(ndr, NDR_SCALARS, &r->ip)); - break; } - - case EPM_PROTOCOL_NCADG: { - NDR_CHECK(ndr_pull_epm_rhs_ncadg(ndr, NDR_SCALARS, &r->ncadg)); - break; } - - case EPM_PROTOCOL_NCACN: { - NDR_CHECK(ndr_pull_epm_rhs_ncacn(ndr, NDR_SCALARS, &r->ncacn)); - break; } - - case EPM_PROTOCOL_NCALRPC: { - NDR_CHECK(ndr_pull_epm_rhs_ncalrpc(ndr, NDR_SCALARS, &r->ncalrpc)); - break; } - - case EPM_PROTOCOL_UUID: { - NDR_CHECK(ndr_pull_epm_rhs_uuid(ndr, NDR_SCALARS, &r->uuid)); - break; } - - case EPM_PROTOCOL_IPX: { - NDR_CHECK(ndr_pull_epm_rhs_ipx(ndr, NDR_SCALARS, &r->ipx)); - break; } - - case EPM_PROTOCOL_SMB: { - NDR_CHECK(ndr_pull_epm_rhs_smb(ndr, NDR_SCALARS, &r->smb)); - break; } - - case EPM_PROTOCOL_NAMED_PIPE: { - NDR_CHECK(ndr_pull_epm_rhs_named_pipe(ndr, NDR_SCALARS, &r->named_pipe)); - break; } - - case EPM_PROTOCOL_NETBIOS: { - NDR_CHECK(ndr_pull_epm_rhs_netbios(ndr, NDR_SCALARS, &r->netbios)); - break; } - - case EPM_PROTOCOL_NETBEUI: { - NDR_CHECK(ndr_pull_epm_rhs_netbeui(ndr, NDR_SCALARS, &r->netbeui)); - break; } - - case EPM_PROTOCOL_SPX: { - NDR_CHECK(ndr_pull_epm_rhs_spx(ndr, NDR_SCALARS, &r->spx)); - break; } - - case EPM_PROTOCOL_NB_IPX: { - NDR_CHECK(ndr_pull_epm_rhs_nb_ipx(ndr, NDR_SCALARS, &r->nb_ipx)); - break; } - - case EPM_PROTOCOL_DSP: { - NDR_CHECK(ndr_pull_epm_rhs_atalk_stream(ndr, NDR_SCALARS, &r->atalk_stream)); - break; } - - case EPM_PROTOCOL_DDP: { - NDR_CHECK(ndr_pull_epm_rhs_atalk_datagram(ndr, NDR_SCALARS, &r->atalk_datagram)); - break; } - - case EPM_PROTOCOL_APPLETALK: { - NDR_CHECK(ndr_pull_epm_rhs_appletalk(ndr, NDR_SCALARS, &r->appletalk)); - break; } - - case EPM_PROTOCOL_VINES_SPP: { - NDR_CHECK(ndr_pull_epm_rhs_vines_spp(ndr, NDR_SCALARS, &r->vines_spp)); - break; } - - case EPM_PROTOCOL_VINES_IPC: { - NDR_CHECK(ndr_pull_epm_rhs_vines_ipc(ndr, NDR_SCALARS, &r->vines_ipc)); - break; } - - case EPM_PROTOCOL_STREETTALK: { - NDR_CHECK(ndr_pull_epm_rhs_streettalk(ndr, NDR_SCALARS, &r->streettalk)); - break; } - - case EPM_PROTOCOL_HTTP: { - NDR_CHECK(ndr_pull_epm_rhs_http(ndr, NDR_SCALARS, &r->http)); - break; } - - case EPM_PROTOCOL_UNIX_DS: { - NDR_CHECK(ndr_pull_epm_rhs_unix_ds(ndr, NDR_SCALARS, &r->unix_ds)); - break; } - - case EPM_PROTOCOL_NULL: { - NDR_CHECK(ndr_pull_epm_rhs_null(ndr, NDR_SCALARS, &r->null)); - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->unknown)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case EPM_PROTOCOL_DNET_NSP: - break; - - case EPM_PROTOCOL_OSI_TP4: - break; - - case EPM_PROTOCOL_OSI_CLNS: - break; - - case EPM_PROTOCOL_TCP: - break; - - case EPM_PROTOCOL_UDP: - break; - - case EPM_PROTOCOL_IP: - break; - - case EPM_PROTOCOL_NCADG: - break; - - case EPM_PROTOCOL_NCACN: - break; - - case EPM_PROTOCOL_NCALRPC: - break; - - case EPM_PROTOCOL_UUID: - break; - - case EPM_PROTOCOL_IPX: - break; - - case EPM_PROTOCOL_SMB: - break; - - case EPM_PROTOCOL_NAMED_PIPE: - break; - - case EPM_PROTOCOL_NETBIOS: - break; - - case EPM_PROTOCOL_NETBEUI: - break; - - case EPM_PROTOCOL_SPX: - break; - - case EPM_PROTOCOL_NB_IPX: - break; - - case EPM_PROTOCOL_DSP: - break; - - case EPM_PROTOCOL_DDP: - break; - - case EPM_PROTOCOL_APPLETALK: - break; - - case EPM_PROTOCOL_VINES_SPP: - break; - - case EPM_PROTOCOL_VINES_IPC: - break; - - case EPM_PROTOCOL_STREETTALK: - break; - - case EPM_PROTOCOL_HTTP: - break; - - case EPM_PROTOCOL_UNIX_DS: - break; - - case EPM_PROTOCOL_NULL: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_rhs(struct ndr_print *ndr, const char *name, const union epm_rhs *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "epm_rhs"); - switch (level) { - case EPM_PROTOCOL_DNET_NSP: - ndr_print_epm_rhs_dnet_nsp(ndr, "dnet_nsp", &r->dnet_nsp); - break; - - case EPM_PROTOCOL_OSI_TP4: - ndr_print_epm_rhs_osi_tp4(ndr, "osi_tp4", &r->osi_tp4); - break; - - case EPM_PROTOCOL_OSI_CLNS: - ndr_print_epm_rhs_osi_clns(ndr, "osi_clns", &r->osi_clns); - break; - - case EPM_PROTOCOL_TCP: - ndr_print_epm_rhs_tcp(ndr, "tcp", &r->tcp); - break; - - case EPM_PROTOCOL_UDP: - ndr_print_epm_rhs_udp(ndr, "udp", &r->udp); - break; - - case EPM_PROTOCOL_IP: - ndr_print_epm_rhs_ip(ndr, "ip", &r->ip); - break; - - case EPM_PROTOCOL_NCADG: - ndr_print_epm_rhs_ncadg(ndr, "ncadg", &r->ncadg); - break; - - case EPM_PROTOCOL_NCACN: - ndr_print_epm_rhs_ncacn(ndr, "ncacn", &r->ncacn); - break; - - case EPM_PROTOCOL_NCALRPC: - ndr_print_epm_rhs_ncalrpc(ndr, "ncalrpc", &r->ncalrpc); - break; - - case EPM_PROTOCOL_UUID: - ndr_print_epm_rhs_uuid(ndr, "uuid", &r->uuid); - break; - - case EPM_PROTOCOL_IPX: - ndr_print_epm_rhs_ipx(ndr, "ipx", &r->ipx); - break; - - case EPM_PROTOCOL_SMB: - ndr_print_epm_rhs_smb(ndr, "smb", &r->smb); - break; - - case EPM_PROTOCOL_NAMED_PIPE: - ndr_print_epm_rhs_named_pipe(ndr, "named_pipe", &r->named_pipe); - break; - - case EPM_PROTOCOL_NETBIOS: - ndr_print_epm_rhs_netbios(ndr, "netbios", &r->netbios); - break; - - case EPM_PROTOCOL_NETBEUI: - ndr_print_epm_rhs_netbeui(ndr, "netbeui", &r->netbeui); - break; - - case EPM_PROTOCOL_SPX: - ndr_print_epm_rhs_spx(ndr, "spx", &r->spx); - break; - - case EPM_PROTOCOL_NB_IPX: - ndr_print_epm_rhs_nb_ipx(ndr, "nb_ipx", &r->nb_ipx); - break; - - case EPM_PROTOCOL_DSP: - ndr_print_epm_rhs_atalk_stream(ndr, "atalk_stream", &r->atalk_stream); - break; - - case EPM_PROTOCOL_DDP: - ndr_print_epm_rhs_atalk_datagram(ndr, "atalk_datagram", &r->atalk_datagram); - break; - - case EPM_PROTOCOL_APPLETALK: - ndr_print_epm_rhs_appletalk(ndr, "appletalk", &r->appletalk); - break; - - case EPM_PROTOCOL_VINES_SPP: - ndr_print_epm_rhs_vines_spp(ndr, "vines_spp", &r->vines_spp); - break; - - case EPM_PROTOCOL_VINES_IPC: - ndr_print_epm_rhs_vines_ipc(ndr, "vines_ipc", &r->vines_ipc); - break; - - case EPM_PROTOCOL_STREETTALK: - ndr_print_epm_rhs_streettalk(ndr, "streettalk", &r->streettalk); - break; - - case EPM_PROTOCOL_HTTP: - ndr_print_epm_rhs_http(ndr, "http", &r->http); - break; - - case EPM_PROTOCOL_UNIX_DS: - ndr_print_epm_rhs_unix_ds(ndr, "unix_ds", &r->unix_ds); - break; - - case EPM_PROTOCOL_NULL: - ndr_print_epm_rhs_null(ndr, "null", &r->null); - break; - - default: - ndr_print_DATA_BLOB(ndr, "unknown", r->unknown); - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -static enum ndr_err_code ndr_push_epm_lhs(struct ndr_push *ndr, int ndr_flags, const struct epm_lhs *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_epm_protocol(ndr, NDR_SCALARS, r->protocol)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->lhs_data)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_lhs(struct ndr_pull *ndr, int ndr_flags, struct epm_lhs *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_epm_protocol(ndr, NDR_SCALARS, &r->protocol)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->lhs_data)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_lhs(struct ndr_print *ndr, const char *name, const struct epm_lhs *r) -{ - ndr_print_struct(ndr, name, "epm_lhs"); - ndr->depth++; - ndr_print_epm_protocol(ndr, "protocol", r->protocol); - ndr_print_DATA_BLOB(ndr, "lhs_data", r->lhs_data); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_floor(struct ndr_push *ndr, int ndr_flags, const struct epm_floor *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - { - struct ndr_push *_ndr_lhs; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_lhs, 2, -1)); - NDR_CHECK(ndr_push_epm_lhs(_ndr_lhs, NDR_SCALARS, &r->lhs)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_lhs, 2, -1)); - } - { - struct ndr_push *_ndr_rhs; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_rhs, 2, -1)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_rhs, &r->rhs, r->lhs.protocol)); - NDR_CHECK(ndr_push_epm_rhs(_ndr_rhs, NDR_SCALARS, &r->rhs)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_rhs, 2, -1)); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_floor(struct ndr_pull *ndr, int ndr_flags, struct epm_floor *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - { - struct ndr_pull *_ndr_lhs; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_lhs, 2, -1)); - NDR_CHECK(ndr_pull_epm_lhs(_ndr_lhs, NDR_SCALARS, &r->lhs)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_lhs, 2, -1)); - } - { - struct ndr_pull *_ndr_rhs; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_rhs, 2, -1)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_rhs, &r->rhs, r->lhs.protocol)); - NDR_CHECK(ndr_pull_epm_rhs(_ndr_rhs, NDR_SCALARS, &r->rhs)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_rhs, 2, -1)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_floor(struct ndr_print *ndr, const char *name, const struct epm_floor *r) -{ - ndr_print_struct(ndr, name, "epm_floor"); - ndr->depth++; - ndr_print_epm_lhs(ndr, "lhs", &r->lhs); - ndr_print_set_switch_value(ndr, &r->rhs, r->lhs.protocol); - ndr_print_epm_rhs(ndr, "rhs", &r->rhs); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_tower(struct ndr_push *ndr, int ndr_flags, const struct epm_tower *r) -{ - uint32_t cntr_floors_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_floors)); - for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) { - NDR_CHECK(ndr_push_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_tower(struct ndr_pull *ndr, int ndr_flags, struct epm_tower *r) -{ - uint32_t cntr_floors_0; - TALLOC_CTX *_mem_save_floors_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_floors)); - NDR_PULL_ALLOC_N(ndr, r->floors, r->num_floors); - _mem_save_floors_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->floors, 0); - for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) { - NDR_CHECK(ndr_pull_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_floors_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_tower(struct ndr_print *ndr, const char *name, const struct epm_tower *r) -{ - uint32_t cntr_floors_0; - ndr_print_struct(ndr, name, "epm_tower"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN); - ndr->depth++; - ndr_print_uint16(ndr, "num_floors", r->num_floors); - ndr->print(ndr, "%s: ARRAY(%d)", "floors", (int)r->num_floors); - ndr->depth++; - for (cntr_floors_0=0;cntr_floors_0num_floors;cntr_floors_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_floors_0) != -1) { - ndr_print_epm_floor(ndr, "floors", &r->floors[cntr_floors_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static size_t ndr_size_epm_tower(const struct epm_tower *r, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN; - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_epm_tower, ic); -} - -static enum ndr_err_code ndr_push_epm_twr_t(struct ndr_push *ndr, int ndr_flags, const struct epm_twr_t *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_epm_tower(&r->tower, ndr->iconv_convenience, ndr->flags))); - { - struct ndr_push *_ndr_tower; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_tower, 4, -1)); - NDR_CHECK(ndr_push_epm_tower(_ndr_tower, NDR_SCALARS, &r->tower)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_tower, 4, -1)); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_twr_t(struct ndr_pull *ndr, int ndr_flags, struct epm_twr_t *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tower_length)); - { - struct ndr_pull *_ndr_tower; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_tower, 4, -1)); - NDR_CHECK(ndr_pull_epm_tower(_ndr_tower, NDR_SCALARS, &r->tower)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_tower, 4, -1)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_twr_t(struct ndr_print *ndr, const char *name, const struct epm_twr_t *r) -{ - ndr_print_struct(ndr, name, "epm_twr_t"); - ndr->depth++; - ndr_print_uint32(ndr, "tower_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_epm_tower(&r->tower, ndr->iconv_convenience, ndr->flags):r->tower_length); - ndr_print_epm_tower(ndr, "tower", &r->tower); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_entry_t(struct ndr_push *ndr, int ndr_flags, const struct epm_entry_t *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_push_full_ptr(ndr, r->tower)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->annotation) + 1)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->annotation, strlen(r->annotation) + 1, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->tower) { - NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->tower)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_entry_t(struct ndr_pull *ndr, int ndr_flags, struct epm_entry_t *r) -{ - uint32_t _ptr_tower; - TALLOC_CTX *_mem_save_tower_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_tower)); - if (_ptr_tower) { - NDR_PULL_ALLOC(ndr, r->tower); - } else { - r->tower = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__annotation_offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__annotation_length)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->annotation, r->__annotation_length, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->tower) { - _mem_save_tower_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->tower, 0); - NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->tower)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tower_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_entry_t(struct ndr_print *ndr, const char *name, const struct epm_entry_t *r) -{ - ndr_print_struct(ndr, name, "epm_entry_t"); - ndr->depth++; - ndr_print_GUID(ndr, "object", &r->object); - ndr_print_ptr(ndr, "tower", r->tower); - ndr->depth++; - if (r->tower) { - ndr_print_epm_twr_t(ndr, "tower", r->tower); - } - ndr->depth--; - ndr_print_uint32(ndr, "__annotation_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->__annotation_offset); - ndr_print_uint32(ndr, "__annotation_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->annotation) + 1:r->__annotation_length); - ndr_print_string(ndr, "annotation", r->annotation); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rpc_if_id_t(struct ndr_push *ndr, int ndr_flags, const struct rpc_if_id_t *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vers_major)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vers_minor)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rpc_if_id_t(struct ndr_pull *ndr, int ndr_flags, struct rpc_if_id_t *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vers_major)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vers_minor)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rpc_if_id_t(struct ndr_print *ndr, const char *name, const struct rpc_if_id_t *r) -{ - ndr_print_struct(ndr, name, "rpc_if_id_t"); - ndr->depth++; - ndr_print_GUID(ndr, "uuid", &r->uuid); - ndr_print_uint16(ndr, "vers_major", r->vers_major); - ndr_print_uint16(ndr, "vers_minor", r->vers_minor); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_twr_p_t(struct ndr_push *ndr, int ndr_flags, const struct epm_twr_p_t *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_full_ptr(ndr, r->twr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->twr) { - NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->twr)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_twr_p_t(struct ndr_pull *ndr, int ndr_flags, struct epm_twr_p_t *r) -{ - uint32_t _ptr_twr; - TALLOC_CTX *_mem_save_twr_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_twr)); - if (_ptr_twr) { - NDR_PULL_ALLOC(ndr, r->twr); - } else { - r->twr = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->twr) { - _mem_save_twr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->twr, 0); - NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->twr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_twr_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_twr_p_t(struct ndr_print *ndr, const char *name, const struct epm_twr_p_t *r) -{ - ndr_print_struct(ndr, name, "epm_twr_p_t"); - ndr->depth++; - ndr_print_ptr(ndr, "twr", r->twr); - ndr->depth++; - if (r->twr) { - ndr_print_epm_twr_t(ndr, "twr", r->twr); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_Insert(struct ndr_push *ndr, int flags, const struct epm_Insert *r) -{ - uint32_t cntr_entries_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ents)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_ents)); - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); - } - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.replace)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_Insert(struct ndr_pull *ndr, int flags, struct epm_Insert *r) -{ - uint32_t cntr_entries_0; - TALLOC_CTX *_mem_save_entries_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries)); - NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries)); - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0); - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); - } - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.replace)); - if (r->in.entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.entries, r->in.num_ents)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_Insert(struct ndr_print *ndr, const char *name, int flags, const struct epm_Insert *r) -{ - uint32_t cntr_entries_0; - ndr_print_struct(ndr, name, "epm_Insert"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_Insert"); - ndr->depth++; - ndr_print_uint32(ndr, "num_ents", r->in.num_ents); - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->in.num_ents); - ndr->depth++; - for (cntr_entries_0=0;cntr_entries_0in.num_ents;cntr_entries_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { - ndr_print_epm_entry_t(ndr, "entries", &r->in.entries[cntr_entries_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "replace", r->in.replace); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_Insert"); - ndr->depth++; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_Delete(struct ndr_push *ndr, int flags, const struct epm_Delete *r) -{ - uint32_t cntr_entries_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ents)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_ents)); - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); - } - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_Delete(struct ndr_pull *ndr, int flags, struct epm_Delete *r) -{ - uint32_t cntr_entries_0; - TALLOC_CTX *_mem_save_entries_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries)); - NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries)); - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0); - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); - } - for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - if (r->in.entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.entries, r->in.num_ents)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_Delete(struct ndr_print *ndr, const char *name, int flags, const struct epm_Delete *r) -{ - uint32_t cntr_entries_0; - ndr_print_struct(ndr, name, "epm_Delete"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_Delete"); - ndr->depth++; - ndr_print_uint32(ndr, "num_ents", r->in.num_ents); - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->in.num_ents); - ndr->depth++; - for (cntr_entries_0=0;cntr_entries_0in.num_ents;cntr_entries_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { - ndr_print_epm_entry_t(ndr, "entries", &r->in.entries[cntr_entries_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_Delete"); - ndr->depth++; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_Lookup(struct ndr_push *ndr, int flags, const struct epm_Lookup *r) -{ - uint32_t cntr_entries_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.inquiry_type)); - NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object)); - if (r->in.object) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object)); - } - NDR_CHECK(ndr_push_full_ptr(ndr, r->in.interface_id)); - if (r->in.interface_id) { - NDR_CHECK(ndr_push_rpc_if_id_t(ndr, NDR_SCALARS, r->in.interface_id)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.vers_option)); - if (r->in.entry_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_ents)); - } - if (flags & NDR_OUT) { - if (r->out.entry_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); - if (r->out.num_ents == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ents)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.max_ents)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ents)); - for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0])); - } - for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) { - NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_Lookup(struct ndr_pull *ndr, int flags, struct epm_Lookup *r) -{ - uint32_t _ptr_object; - uint32_t _ptr_interface_id; - uint32_t cntr_entries_0; - TALLOC_CTX *_mem_save_object_0; - TALLOC_CTX *_mem_save_interface_id_0; - TALLOC_CTX *_mem_save_entry_handle_0; - TALLOC_CTX *_mem_save_num_ents_0; - TALLOC_CTX *_mem_save_entries_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.inquiry_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object)); - if (_ptr_object) { - NDR_PULL_ALLOC(ndr, r->in.object); - } else { - r->in.object = NULL; - } - if (r->in.object) { - _mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_interface_id)); - if (_ptr_interface_id) { - NDR_PULL_ALLOC(ndr, r->in.interface_id); - } else { - r->in.interface_id = NULL; - } - if (r->in.interface_id) { - _mem_save_interface_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.interface_id, 0); - NDR_CHECK(ndr_pull_rpc_if_id_t(ndr, NDR_SCALARS, r->in.interface_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_interface_id_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.vers_option)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.entry_handle); - } - _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_ents)); - NDR_PULL_ALLOC(ndr, r->out.entry_handle); - *r->out.entry_handle = *r->in.entry_handle; - NDR_PULL_ALLOC(ndr, r->out.num_ents); - ZERO_STRUCTP(r->out.num_ents); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.entry_handle); - } - _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_ents); - } - _mem_save_num_ents_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ents, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ents)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ents_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.entries)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.entries)); - if (ndr_get_array_length(ndr, &r->out.entries) > ndr_get_array_size(ndr, &r->out.entries)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.entries), ndr_get_array_length(ndr, &r->out.entries)); - } - NDR_PULL_ALLOC_N(ndr, r->out.entries, ndr_get_array_size(ndr, &r->out.entries)); - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.entries, 0); - for (cntr_entries_0 = 0; cntr_entries_0 < ndr_get_array_length(ndr, &r->out.entries); cntr_entries_0++) { - NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0])); - } - for (cntr_entries_0 = 0; cntr_entries_0 < ndr_get_array_length(ndr, &r->out.entries); cntr_entries_0++) { - NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.entries, r->in.max_ents)); - } - if (r->out.entries) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.entries, *r->out.num_ents)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_Lookup(struct ndr_print *ndr, const char *name, int flags, const struct epm_Lookup *r) -{ - uint32_t cntr_entries_0; - ndr_print_struct(ndr, name, "epm_Lookup"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_Lookup"); - ndr->depth++; - ndr_print_uint32(ndr, "inquiry_type", r->in.inquiry_type); - ndr_print_ptr(ndr, "object", r->in.object); - ndr->depth++; - if (r->in.object) { - ndr_print_GUID(ndr, "object", r->in.object); - } - ndr->depth--; - ndr_print_ptr(ndr, "interface_id", r->in.interface_id); - ndr->depth++; - if (r->in.interface_id) { - ndr_print_rpc_if_id_t(ndr, "interface_id", r->in.interface_id); - } - ndr->depth--; - ndr_print_uint32(ndr, "vers_option", r->in.vers_option); - ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_ents", r->in.max_ents); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_Lookup"); - ndr->depth++; - ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle); - ndr->depth--; - ndr_print_ptr(ndr, "num_ents", r->out.num_ents); - ndr->depth++; - ndr_print_uint32(ndr, "num_ents", *r->out.num_ents); - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)*r->out.num_ents); - ndr->depth++; - for (cntr_entries_0=0;cntr_entries_0<*r->out.num_ents;cntr_entries_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { - ndr_print_epm_entry_t(ndr, "entries", &r->out.entries[cntr_entries_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_epm_Map(struct ndr_push *ndr, int flags, const struct epm_Map *r) -{ - uint32_t cntr_towers_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object)); - if (r->in.object) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object)); - } - NDR_CHECK(ndr_push_full_ptr(ndr, r->in.map_tower)); - if (r->in.map_tower) { - NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->in.map_tower)); - } - if (r->in.entry_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_towers)); - } - if (flags & NDR_OUT) { - if (r->out.entry_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); - if (r->out.num_towers == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_towers)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.max_towers)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_towers)); - for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) { - NDR_CHECK(ndr_push_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0])); - } - for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) { - NDR_CHECK(ndr_push_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_epm_Map(struct ndr_pull *ndr, int flags, struct epm_Map *r) -{ - uint32_t _ptr_object; - uint32_t _ptr_map_tower; - uint32_t cntr_towers_0; - TALLOC_CTX *_mem_save_object_0; - TALLOC_CTX *_mem_save_map_tower_0; - TALLOC_CTX *_mem_save_entry_handle_0; - TALLOC_CTX *_mem_save_num_towers_0; - TALLOC_CTX *_mem_save_towers_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object)); - if (_ptr_object) { - NDR_PULL_ALLOC(ndr, r->in.object); - } else { - r->in.object = NULL; - } - if (r->in.object) { - _mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_map_tower)); - if (_ptr_map_tower) { - NDR_PULL_ALLOC(ndr, r->in.map_tower); - } else { - r->in.map_tower = NULL; - } - if (r->in.map_tower) { - _mem_save_map_tower_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.map_tower, 0); - NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->in.map_tower)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_map_tower_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.entry_handle); - } - _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_towers)); - NDR_PULL_ALLOC(ndr, r->out.entry_handle); - *r->out.entry_handle = *r->in.entry_handle; - NDR_PULL_ALLOC(ndr, r->out.num_towers); - ZERO_STRUCTP(r->out.num_towers); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.entry_handle); - } - _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_towers); - } - _mem_save_num_towers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_towers, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_towers)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_towers_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.towers)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.towers)); - if (ndr_get_array_length(ndr, &r->out.towers) > ndr_get_array_size(ndr, &r->out.towers)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.towers), ndr_get_array_length(ndr, &r->out.towers)); - } - NDR_PULL_ALLOC_N(ndr, r->out.towers, ndr_get_array_size(ndr, &r->out.towers)); - _mem_save_towers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.towers, 0); - for (cntr_towers_0 = 0; cntr_towers_0 < ndr_get_array_length(ndr, &r->out.towers); cntr_towers_0++) { - NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0])); - } - for (cntr_towers_0 = 0; cntr_towers_0 < ndr_get_array_length(ndr, &r->out.towers); cntr_towers_0++) { - NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_towers_0, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.towers) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.towers, r->in.max_towers)); - } - if (r->out.towers) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.towers, *r->out.num_towers)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_Map(struct ndr_print *ndr, const char *name, int flags, const struct epm_Map *r) -{ - uint32_t cntr_towers_0; - ndr_print_struct(ndr, name, "epm_Map"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_Map"); - ndr->depth++; - ndr_print_ptr(ndr, "object", r->in.object); - ndr->depth++; - if (r->in.object) { - ndr_print_GUID(ndr, "object", r->in.object); - } - ndr->depth--; - ndr_print_ptr(ndr, "map_tower", r->in.map_tower); - ndr->depth++; - if (r->in.map_tower) { - ndr_print_epm_twr_t(ndr, "map_tower", r->in.map_tower); - } - ndr->depth--; - ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_towers", r->in.max_towers); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_Map"); - ndr->depth++; - ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle); - ndr->depth--; - ndr_print_ptr(ndr, "num_towers", r->out.num_towers); - ndr->depth++; - ndr_print_uint32(ndr, "num_towers", *r->out.num_towers); - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "towers", (int)*r->out.num_towers); - ndr->depth++; - for (cntr_towers_0=0;cntr_towers_0<*r->out.num_towers;cntr_towers_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_towers_0) != -1) { - ndr_print_epm_twr_p_t(ndr, "towers", &r->out.towers[cntr_towers_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_LookupHandleFree(struct ndr_push *ndr, int flags, const struct epm_LookupHandleFree *r) -{ - if (flags & NDR_IN) { - if (r->in.entry_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); - } - if (flags & NDR_OUT) { - if (r->out.entry_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_LookupHandleFree(struct ndr_pull *ndr, int flags, struct epm_LookupHandleFree *r) -{ - TALLOC_CTX *_mem_save_entry_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.entry_handle); - } - _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.entry_handle); - *r->out.entry_handle = *r->in.entry_handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.entry_handle); - } - _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_LookupHandleFree(struct ndr_print *ndr, const char *name, int flags, const struct epm_LookupHandleFree *r) -{ - ndr_print_struct(ndr, name, "epm_LookupHandleFree"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_LookupHandleFree"); - ndr->depth++; - ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_LookupHandleFree"); - ndr->depth++; - ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle); - ndr->depth--; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_InqObject(struct ndr_push *ndr, int flags, const struct epm_InqObject *r) -{ - if (flags & NDR_IN) { - if (r->in.epm_object == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.epm_object)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_InqObject(struct ndr_pull *ndr, int flags, struct epm_InqObject *r) -{ - TALLOC_CTX *_mem_save_epm_object_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.epm_object); - } - _mem_save_epm_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.epm_object, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.epm_object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_epm_object_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_InqObject(struct ndr_print *ndr, const char *name, int flags, const struct epm_InqObject *r) -{ - ndr_print_struct(ndr, name, "epm_InqObject"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_InqObject"); - ndr->depth++; - ndr_print_ptr(ndr, "epm_object", r->in.epm_object); - ndr->depth++; - ndr_print_GUID(ndr, "epm_object", r->in.epm_object); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_InqObject"); - ndr->depth++; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_MgmtDelete(struct ndr_push *ndr, int flags, const struct epm_MgmtDelete *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.object_speced)); - NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object)); - if (r->in.object) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object)); - } - NDR_CHECK(ndr_push_full_ptr(ndr, r->in.tower)); - if (r->in.tower) { - NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->in.tower)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_MgmtDelete(struct ndr_pull *ndr, int flags, struct epm_MgmtDelete *r) -{ - uint32_t _ptr_object; - uint32_t _ptr_tower; - TALLOC_CTX *_mem_save_object_0; - TALLOC_CTX *_mem_save_tower_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.object_speced)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object)); - if (_ptr_object) { - NDR_PULL_ALLOC(ndr, r->in.object); - } else { - r->in.object = NULL; - } - if (r->in.object) { - _mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_tower)); - if (_ptr_tower) { - NDR_PULL_ALLOC(ndr, r->in.tower); - } else { - r->in.tower = NULL; - } - if (r->in.tower) { - _mem_save_tower_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.tower, 0); - NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->in.tower)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tower_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_MgmtDelete(struct ndr_print *ndr, const char *name, int flags, const struct epm_MgmtDelete *r) -{ - ndr_print_struct(ndr, name, "epm_MgmtDelete"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_MgmtDelete"); - ndr->depth++; - ndr_print_uint32(ndr, "object_speced", r->in.object_speced); - ndr_print_ptr(ndr, "object", r->in.object); - ndr->depth++; - if (r->in.object) { - ndr_print_GUID(ndr, "object", r->in.object); - } - ndr->depth--; - ndr_print_ptr(ndr, "tower", r->in.tower); - ndr->depth++; - if (r->in.tower) { - ndr_print_epm_twr_t(ndr, "tower", r->in.tower); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_MgmtDelete"); - ndr->depth++; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_epm_MapAuth(struct ndr_push *ndr, int flags, const struct epm_MapAuth *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_epm_MapAuth(struct ndr_pull *ndr, int flags, struct epm_MapAuth *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_epm_MapAuth(struct ndr_print *ndr, const char *name, int flags, const struct epm_MapAuth *r) -{ - ndr_print_struct(ndr, name, "epm_MapAuth"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "epm_MapAuth"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "epm_MapAuth"); - ndr->depth++; - ndr_print_uint32(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call epmapper_calls[] = { - { - "epm_Insert", - sizeof(struct epm_Insert), - (ndr_push_flags_fn_t) ndr_push_epm_Insert, - (ndr_pull_flags_fn_t) ndr_pull_epm_Insert, - (ndr_print_function_t) ndr_print_epm_Insert, - false, - }, - { - "epm_Delete", - sizeof(struct epm_Delete), - (ndr_push_flags_fn_t) ndr_push_epm_Delete, - (ndr_pull_flags_fn_t) ndr_pull_epm_Delete, - (ndr_print_function_t) ndr_print_epm_Delete, - false, - }, - { - "epm_Lookup", - sizeof(struct epm_Lookup), - (ndr_push_flags_fn_t) ndr_push_epm_Lookup, - (ndr_pull_flags_fn_t) ndr_pull_epm_Lookup, - (ndr_print_function_t) ndr_print_epm_Lookup, - false, - }, - { - "epm_Map", - sizeof(struct epm_Map), - (ndr_push_flags_fn_t) ndr_push_epm_Map, - (ndr_pull_flags_fn_t) ndr_pull_epm_Map, - (ndr_print_function_t) ndr_print_epm_Map, - false, - }, - { - "epm_LookupHandleFree", - sizeof(struct epm_LookupHandleFree), - (ndr_push_flags_fn_t) ndr_push_epm_LookupHandleFree, - (ndr_pull_flags_fn_t) ndr_pull_epm_LookupHandleFree, - (ndr_print_function_t) ndr_print_epm_LookupHandleFree, - false, - }, - { - "epm_InqObject", - sizeof(struct epm_InqObject), - (ndr_push_flags_fn_t) ndr_push_epm_InqObject, - (ndr_pull_flags_fn_t) ndr_pull_epm_InqObject, - (ndr_print_function_t) ndr_print_epm_InqObject, - false, - }, - { - "epm_MgmtDelete", - sizeof(struct epm_MgmtDelete), - (ndr_push_flags_fn_t) ndr_push_epm_MgmtDelete, - (ndr_pull_flags_fn_t) ndr_pull_epm_MgmtDelete, - (ndr_print_function_t) ndr_print_epm_MgmtDelete, - false, - }, - { - "epm_MapAuth", - sizeof(struct epm_MapAuth), - (ndr_push_flags_fn_t) ndr_push_epm_MapAuth, - (ndr_pull_flags_fn_t) ndr_pull_epm_MapAuth, - (ndr_print_function_t) ndr_print_epm_MapAuth, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const epmapper_endpoint_strings[] = { - "ncacn_np:[\\pipe\\epmapper]", - "ncacn_ip_tcp:[135]", - "ncalrpc:[EPMAPPER]", -}; - -static const struct ndr_interface_string_array epmapper_endpoints = { - .count = 3, - .names = epmapper_endpoint_strings -}; - -static const char * const epmapper_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array epmapper_authservices = { - .count = 1, - .names = epmapper_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_epmapper = { - .name = "epmapper", - .syntax_id = { - {0xe1af8308,0x5d1f,0x11c9,{0x91,0xa4},{0x08,0x00,0x2b,0x14,0xa0,0xfa}}, - NDR_EPMAPPER_VERSION - }, - .helpstring = NDR_EPMAPPER_HELPSTRING, - .num_calls = 8, - .calls = epmapper_calls, - .endpoints = &epmapper_endpoints, - .authservices = &epmapper_authservices -}; - diff --git a/librpc/gen_ndr/ndr_epmapper.h b/librpc/gen_ndr/ndr_epmapper.h deleted file mode 100644 index 8053d078384..00000000000 --- a/librpc/gen_ndr/ndr_epmapper.h +++ /dev/null @@ -1,76 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/epmapper.h" - -#ifndef _HEADER_NDR_epmapper -#define _HEADER_NDR_epmapper - -#define NDR_EPMAPPER_UUID "e1af8308-5d1f-11c9-91a4-08002b14a0fa" -#define NDR_EPMAPPER_VERSION 3.0 -#define NDR_EPMAPPER_NAME "epmapper" -#define NDR_EPMAPPER_HELPSTRING "EndPoint Mapper" -extern const struct ndr_interface_table ndr_table_epmapper; -#define NDR_EPM_INSERT (0x00) - -#define NDR_EPM_DELETE (0x01) - -#define NDR_EPM_LOOKUP (0x02) - -#define NDR_EPM_MAP (0x03) - -#define NDR_EPM_LOOKUPHANDLEFREE (0x04) - -#define NDR_EPM_INQOBJECT (0x05) - -#define NDR_EPM_MGMTDELETE (0x06) - -#define NDR_EPM_MAPAUTH (0x07) - -#define NDR_EPMAPPER_CALL_COUNT (8) -void ndr_print_epm_protocol(struct ndr_print *ndr, const char *name, enum epm_protocol r); -void ndr_print_epm_rhs_dnet_nsp(struct ndr_print *ndr, const char *name, const struct epm_rhs_dnet_nsp *r); -void ndr_print_epm_rhs_osi_tp4(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_tp4 *r); -void ndr_print_epm_rhs_osi_clns(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_clns *r); -void ndr_print_epm_rhs_udp(struct ndr_print *ndr, const char *name, const struct epm_rhs_udp *r); -void ndr_print_epm_rhs_tcp(struct ndr_print *ndr, const char *name, const struct epm_rhs_tcp *r); -void ndr_print_epm_rhs_ip(struct ndr_print *ndr, const char *name, const struct epm_rhs_ip *r); -void ndr_print_epm_rhs_ncadg(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncadg *r); -void ndr_print_epm_rhs_ncacn(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncacn *r); -void ndr_print_epm_rhs_uuid(struct ndr_print *ndr, const char *name, const struct epm_rhs_uuid *r); -void ndr_print_epm_rhs_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_ipx *r); -void ndr_print_epm_rhs_smb(struct ndr_print *ndr, const char *name, const struct epm_rhs_smb *r); -void ndr_print_epm_rhs_named_pipe(struct ndr_print *ndr, const char *name, const struct epm_rhs_named_pipe *r); -void ndr_print_epm_rhs_netbios(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbios *r); -void ndr_print_epm_rhs_netbeui(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbeui *r); -void ndr_print_epm_rhs_spx(struct ndr_print *ndr, const char *name, const struct epm_rhs_spx *r); -void ndr_print_epm_rhs_nb_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_nb_ipx *r); -void ndr_print_epm_rhs_http(struct ndr_print *ndr, const char *name, const struct epm_rhs_http *r); -void ndr_print_epm_rhs_unix_ds(struct ndr_print *ndr, const char *name, const struct epm_rhs_unix_ds *r); -void ndr_print_epm_rhs_null(struct ndr_print *ndr, const char *name, const struct epm_rhs_null *r); -void ndr_print_epm_rhs_ncalrpc(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncalrpc *r); -void ndr_print_epm_rhs_appletalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_appletalk *r); -void ndr_print_epm_rhs_atalk_stream(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_stream *r); -void ndr_print_epm_rhs_atalk_datagram(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_datagram *r); -void ndr_print_epm_rhs_vines_spp(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_spp *r); -void ndr_print_epm_rhs_vines_ipc(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_ipc *r); -void ndr_print_epm_rhs_streettalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_streettalk *r); -void ndr_print_epm_rhs(struct ndr_print *ndr, const char *name, const union epm_rhs *r); -void ndr_print_epm_lhs(struct ndr_print *ndr, const char *name, const struct epm_lhs *r); -void ndr_print_epm_floor(struct ndr_print *ndr, const char *name, const struct epm_floor *r); -void ndr_print_epm_tower(struct ndr_print *ndr, const char *name, const struct epm_tower *r); -void ndr_print_epm_twr_t(struct ndr_print *ndr, const char *name, const struct epm_twr_t *r); -void ndr_print_epm_entry_t(struct ndr_print *ndr, const char *name, const struct epm_entry_t *r); -void ndr_print_rpc_if_id_t(struct ndr_print *ndr, const char *name, const struct rpc_if_id_t *r); -void ndr_print_epm_twr_p_t(struct ndr_print *ndr, const char *name, const struct epm_twr_p_t *r); -void ndr_print_epm_Insert(struct ndr_print *ndr, const char *name, int flags, const struct epm_Insert *r); -void ndr_print_epm_Delete(struct ndr_print *ndr, const char *name, int flags, const struct epm_Delete *r); -void ndr_print_epm_Lookup(struct ndr_print *ndr, const char *name, int flags, const struct epm_Lookup *r); -enum ndr_err_code ndr_push_epm_Map(struct ndr_push *ndr, int flags, const struct epm_Map *r); -enum ndr_err_code ndr_pull_epm_Map(struct ndr_pull *ndr, int flags, struct epm_Map *r); -void ndr_print_epm_Map(struct ndr_print *ndr, const char *name, int flags, const struct epm_Map *r); -void ndr_print_epm_LookupHandleFree(struct ndr_print *ndr, const char *name, int flags, const struct epm_LookupHandleFree *r); -void ndr_print_epm_InqObject(struct ndr_print *ndr, const char *name, int flags, const struct epm_InqObject *r); -void ndr_print_epm_MgmtDelete(struct ndr_print *ndr, const char *name, int flags, const struct epm_MgmtDelete *r); -void ndr_print_epm_MapAuth(struct ndr_print *ndr, const char *name, int flags, const struct epm_MapAuth *r); -#endif /* _HEADER_NDR_epmapper */ diff --git a/librpc/gen_ndr/ndr_eventlog.c b/librpc/gen_ndr/ndr_eventlog.c deleted file mode 100644 index a7e502c105b..00000000000 --- a/librpc/gen_ndr/ndr_eventlog.c +++ /dev/null @@ -1,3176 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_eventlog.h" - -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_security.h" -static enum ndr_err_code ndr_push_eventlogReadFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlogReadFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlogReadFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "EVENTLOG_SEQUENTIAL_READ", EVENTLOG_SEQUENTIAL_READ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "EVENTLOG_SEEK_READ", EVENTLOG_SEEK_READ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "EVENTLOG_FORWARDS_READ", EVENTLOG_FORWARDS_READ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "EVENTLOG_BACKWARDS_READ", EVENTLOG_BACKWARDS_READ, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_eventlogEventTypes(struct ndr_push *ndr, int ndr_flags, enum eventlogEventTypes r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_eventlogEventTypes(struct ndr_pull *ndr, int ndr_flags, enum eventlogEventTypes *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlogEventTypes(struct ndr_print *ndr, const char *name, enum eventlogEventTypes r) -{ - const char *val = NULL; - - switch (r) { - case EVENTLOG_SUCCESS: val = "EVENTLOG_SUCCESS"; break; - case EVENTLOG_ERROR_TYPE: val = "EVENTLOG_ERROR_TYPE"; break; - case EVENTLOG_WARNING_TYPE: val = "EVENTLOG_WARNING_TYPE"; break; - case EVENTLOG_INFORMATION_TYPE: val = "EVENTLOG_INFORMATION_TYPE"; break; - case EVENTLOG_AUDIT_SUCCESS: val = "EVENTLOG_AUDIT_SUCCESS"; break; - case EVENTLOG_AUDIT_FAILURE: val = "EVENTLOG_AUDIT_FAILURE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_eventlog_OpenUnknown0(struct ndr_push *ndr, int ndr_flags, const struct eventlog_OpenUnknown0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown0)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_OpenUnknown0(struct ndr_pull *ndr, int ndr_flags, struct eventlog_OpenUnknown0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown0)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_OpenUnknown0(struct ndr_print *ndr, const char *name, const struct eventlog_OpenUnknown0 *r) -{ - ndr_print_struct(ndr, name, "eventlog_OpenUnknown0"); - ndr->depth++; - ndr_print_uint16(ndr, "unknown0", r->unknown0); - ndr_print_uint16(ndr, "unknown1", r->unknown1); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_eventlog_Record_tdb(struct ndr_push *ndr, int ndr_flags, const struct eventlog_Record_tdb *r) -{ - uint32_t cntr_strings_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "eLfL", 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->record_number)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->time_generated)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->time_written)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->event_id)); - NDR_CHECK(ndr_push_eventlogEventTypes(ndr, NDR_SCALARS, r->event_type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_of_strings)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->event_category)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->closing_record_number)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->stringoffset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid.length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_offset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data.length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data_offset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->source_name))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->computer_name))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->computer_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_padding)); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->sid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * ndr_size_string_array(r->strings, r->num_of_strings, LIBNDR_FLAG_STR_NULLTERM))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - for (cntr_strings_0 = 0; cntr_strings_0 < r->num_of_strings; cntr_strings_0++) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->strings[cntr_strings_0])); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->padding)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_eventlog_Record_tdb(struct ndr_pull *ndr, int ndr_flags, struct eventlog_Record_tdb *r) -{ - uint32_t cntr_strings_0; - TALLOC_CTX *_mem_save_strings_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->reserved, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->record_number)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->time_generated)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->time_written)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->event_id)); - NDR_CHECK(ndr_pull_eventlogEventTypes(ndr, NDR_SCALARS, &r->event_type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_of_strings)); - if (r->num_of_strings > 256) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->event_category)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->closing_record_number)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->stringoffset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->source_name_len)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->computer_name_len)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->computer_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_padding)); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->sid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->strings_len)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_PULL_ALLOC_N(ndr, r->strings, r->num_of_strings); - _mem_save_strings_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->strings, 0); - for (cntr_strings_0 = 0; cntr_strings_0 < r->num_of_strings; cntr_strings_0++) { - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->strings[cntr_strings_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_0, 0); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->padding)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_Record_tdb(struct ndr_print *ndr, const char *name, const struct eventlog_Record_tdb *r) -{ - uint32_t cntr_strings_0; - ndr_print_struct(ndr, name, "eventlog_Record_tdb"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_string(ndr, "reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"eLfL":r->reserved); - ndr_print_uint32(ndr, "record_number", r->record_number); - ndr_print_time_t(ndr, "time_generated", r->time_generated); - ndr_print_time_t(ndr, "time_written", r->time_written); - ndr_print_uint32(ndr, "event_id", r->event_id); - ndr_print_eventlogEventTypes(ndr, "event_type", r->event_type); - ndr_print_uint16(ndr, "num_of_strings", r->num_of_strings); - ndr_print_uint16(ndr, "event_category", r->event_category); - ndr_print_uint16(ndr, "reserved_flags", r->reserved_flags); - ndr_print_uint32(ndr, "closing_record_number", r->closing_record_number); - ndr_print_uint32(ndr, "stringoffset", r->stringoffset); - ndr_print_uint32(ndr, "sid_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->sid.length:r->sid_length); - ndr_print_uint32(ndr, "sid_offset", r->sid_offset); - ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data.length:r->data_length); - ndr_print_uint32(ndr, "data_offset", r->data_offset); - ndr_print_uint32(ndr, "source_name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->source_name):r->source_name_len); - ndr_print_string(ndr, "source_name", r->source_name); - ndr_print_uint32(ndr, "computer_name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->computer_name):r->computer_name_len); - ndr_print_string(ndr, "computer_name", r->computer_name); - ndr_print_uint32(ndr, "sid_padding", r->sid_padding); - ndr_print_DATA_BLOB(ndr, "sid", r->sid); - ndr_print_uint32(ndr, "strings_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * ndr_size_string_array(r->strings, r->num_of_strings, LIBNDR_FLAG_STR_NULLTERM):r->strings_len); - ndr->print(ndr, "%s: ARRAY(%d)", "strings", (int)r->num_of_strings); - ndr->depth++; - for (cntr_strings_0=0;cntr_strings_0num_of_strings;cntr_strings_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_strings_0) != -1) { - ndr_print_string(ndr, "strings", r->strings[cntr_strings_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_DATA_BLOB(ndr, "data", r->data); - ndr_print_uint32(ndr, "padding", r->padding); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_EVENTLOG_HEADER_FLAGS(struct ndr_push *ndr, int ndr_flags, enum EVENTLOG_HEADER_FLAGS r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_EVENTLOG_HEADER_FLAGS(struct ndr_pull *ndr, int ndr_flags, enum EVENTLOG_HEADER_FLAGS *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EVENTLOG_HEADER_FLAGS(struct ndr_print *ndr, const char *name, enum EVENTLOG_HEADER_FLAGS r) -{ - const char *val = NULL; - - switch (r) { - case ELF_LOGFILE_HEADER_DIRTY: val = "ELF_LOGFILE_HEADER_DIRTY"; break; - case ELF_LOGFILE_HEADER_WRAP: val = "ELF_LOGFILE_HEADER_WRAP"; break; - case ELF_LOGFILE_LOGFULL_WRITTEN: val = "ELF_LOGFILE_LOGFULL_WRITTEN"; break; - case ELF_LOGFILE_ARCHIVE_SET: val = "ELF_LOGFILE_ARCHIVE_SET"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_EVENTLOGHEADER(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOGHEADER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x30)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "LfLe", 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->StartOffset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->EndOffset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CurrentRecordNumber)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->OldestRecordNumber)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MaxSize)); - NDR_CHECK(ndr_push_EVENTLOG_HEADER_FLAGS(ndr, NDR_SCALARS, r->Flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Retention)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x30)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_EVENTLOGHEADER(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOGHEADER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->HeaderSize)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Signature, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->StartOffset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->EndOffset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CurrentRecordNumber)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OldestRecordNumber)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MaxSize)); - NDR_CHECK(ndr_pull_EVENTLOG_HEADER_FLAGS(ndr, NDR_SCALARS, &r->Flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Retention)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->EndHeaderSize)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EVENTLOGHEADER(struct ndr_print *ndr, const char *name, const struct EVENTLOGHEADER *r) -{ - ndr_print_struct(ndr, name, "EVENTLOGHEADER"); - ndr->depth++; - ndr_print_uint32(ndr, "HeaderSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x30:r->HeaderSize); - ndr_print_string(ndr, "Signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"LfLe":r->Signature); - ndr_print_uint32(ndr, "MajorVersion", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->MajorVersion); - ndr_print_uint32(ndr, "MinorVersion", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->MinorVersion); - ndr_print_uint32(ndr, "StartOffset", r->StartOffset); - ndr_print_uint32(ndr, "EndOffset", r->EndOffset); - ndr_print_uint32(ndr, "CurrentRecordNumber", r->CurrentRecordNumber); - ndr_print_uint32(ndr, "OldestRecordNumber", r->OldestRecordNumber); - ndr_print_uint32(ndr, "MaxSize", r->MaxSize); - ndr_print_EVENTLOG_HEADER_FLAGS(ndr, "Flags", r->Flags); - ndr_print_uint32(ndr, "Retention", r->Retention); - ndr_print_uint32(ndr, "EndHeaderSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x30:r->EndHeaderSize); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_EVENTLOGRECORD(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOGRECORD *r) -{ - uint32_t cntr_Strings_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Length)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "LfLe", 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->RecordNumber)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeGenerated)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeWritten)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->EventID)); - NDR_CHECK(ndr_push_eventlogEventTypes(ndr, NDR_SCALARS, r->EventType)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NumStrings)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->EventCategory)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ReservedFlags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ClosingRecordNumber)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 56 + 2 * (strlen_m_term(r->SourceName) + strlen_m_term(r->Computername)) + ndr_size_dom_sid0(&r->UserSid, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->UserSid, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 56 + 2 * (strlen_m_term(r->SourceName) + strlen_m_term(r->Computername)))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 56 + 2 * (strlen_m_term(r->SourceName) + strlen_m_term(r->Computername)) + ndr_size_dom_sid0(&r->UserSid, ndr->flags) + (2 * ndr_size_string_array(r->Strings, r->NumStrings, LIBNDR_FLAG_STR_NULLTERM)))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->SourceName)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Computername)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_dom_sid0 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - { - struct ndr_push *_ndr_UserSid; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_UserSid, 0, ndr_size_dom_sid0(&r->UserSid, ndr->flags))); - NDR_CHECK(ndr_push_dom_sid0(_ndr_UserSid, NDR_SCALARS|NDR_BUFFERS, &r->UserSid)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_UserSid, 0, ndr_size_dom_sid0(&r->UserSid, ndr->flags))); - } - ndr->flags = _flags_save_dom_sid0; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - for (cntr_Strings_0 = 0; cntr_Strings_0 < r->NumStrings; cntr_Strings_0++) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Strings[cntr_Strings_0])); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Data, r->DataLength)); - ndr->flags = _flags_save_uint8; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Pad)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_dom_sid0 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - ndr->flags = _flags_save_dom_sid0; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_EVENTLOGRECORD(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOGRECORD *r) -{ - uint32_t cntr_Strings_0; - TALLOC_CTX *_mem_save_Strings_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Length)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Reserved, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->RecordNumber)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeGenerated)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeWritten)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->EventID)); - NDR_CHECK(ndr_pull_eventlogEventTypes(ndr, NDR_SCALARS, &r->EventType)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NumStrings)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->EventCategory)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ReservedFlags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ClosingRecordNumber)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->StringOffset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->UserSidLength)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->UserSidOffset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataOffset)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->SourceName)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Computername)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_dom_sid0 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - { - struct ndr_pull *_ndr_UserSid; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_UserSid, 0, r->UserSidLength)); - NDR_CHECK(ndr_pull_dom_sid0(_ndr_UserSid, NDR_SCALARS|NDR_BUFFERS, &r->UserSid)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_UserSid, 0, r->UserSidLength)); - } - ndr->flags = _flags_save_dom_sid0; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_PULL_ALLOC_N(ndr, r->Strings, r->NumStrings); - _mem_save_Strings_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->Strings, 0); - for (cntr_Strings_0 = 0; cntr_Strings_0 < r->NumStrings; cntr_Strings_0++) { - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Strings[cntr_Strings_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Strings_0, 0); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_PULL_ALLOC_N(ndr, r->Data, r->DataLength); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Data, r->DataLength)); - ndr->flags = _flags_save_uint8; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Pad)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Length2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_dom_sid0 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - ndr->flags = _flags_save_dom_sid0; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EVENTLOGRECORD(struct ndr_print *ndr, const char *name, const struct EVENTLOGRECORD *r) -{ - uint32_t cntr_Strings_0; - ndr_print_struct(ndr, name, "EVENTLOGRECORD"); - ndr->depth++; - ndr_print_uint32(ndr, "Length", r->Length); - ndr_print_string(ndr, "Reserved", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"LfLe":r->Reserved); - ndr_print_uint32(ndr, "RecordNumber", r->RecordNumber); - ndr_print_time_t(ndr, "TimeGenerated", r->TimeGenerated); - ndr_print_time_t(ndr, "TimeWritten", r->TimeWritten); - ndr_print_uint32(ndr, "EventID", r->EventID); - ndr_print_eventlogEventTypes(ndr, "EventType", r->EventType); - ndr_print_uint16(ndr, "NumStrings", r->NumStrings); - ndr_print_uint16(ndr, "EventCategory", r->EventCategory); - ndr_print_uint16(ndr, "ReservedFlags", r->ReservedFlags); - ndr_print_uint32(ndr, "ClosingRecordNumber", r->ClosingRecordNumber); - ndr_print_uint32(ndr, "StringOffset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?56 + 2 * (strlen_m_term(r->SourceName) + strlen_m_term(r->Computername)) + r->UserSidLength:r->StringOffset); - ndr_print_uint32(ndr, "UserSidLength", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->UserSid, ndr->flags):r->UserSidLength); - ndr_print_uint32(ndr, "UserSidOffset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?56 + 2 * (strlen_m_term(r->SourceName) + strlen_m_term(r->Computername)):r->UserSidOffset); - ndr_print_uint32(ndr, "DataLength", r->DataLength); - ndr_print_uint32(ndr, "DataOffset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?56 + 2 * (strlen_m_term(r->SourceName) + strlen_m_term(r->Computername)) + r->UserSidLength + (2 * ndr_size_string_array(r->Strings, r->NumStrings, LIBNDR_FLAG_STR_NULLTERM)):r->DataOffset); - ndr_print_string(ndr, "SourceName", r->SourceName); - ndr_print_string(ndr, "Computername", r->Computername); - ndr_print_dom_sid0(ndr, "UserSid", &r->UserSid); - ndr->print(ndr, "%s: ARRAY(%d)", "Strings", (int)r->NumStrings); - ndr->depth++; - for (cntr_Strings_0=0;cntr_Strings_0NumStrings;cntr_Strings_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_Strings_0) != -1) { - ndr_print_string(ndr, "Strings", r->Strings[cntr_Strings_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_array_uint8(ndr, "Data", r->Data, r->DataLength); - ndr_print_string(ndr, "Pad", r->Pad); - ndr_print_uint32(ndr, "Length2", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->Length:r->Length2); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_EVENTLOGRECORD(const struct EVENTLOGRECORD *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_EVENTLOGRECORD, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_EVENTLOGEOF(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOGEOF *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x28)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x11111111)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x22222222)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x33333333)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x44444444)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BeginRecord)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->EndRecord)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CurrentRecordNumber)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->OldestRecordNumber)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x28)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_EVENTLOGEOF(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOGEOF *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->RecordSizeBeginning)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->One)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Two)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Three)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Four)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BeginRecord)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->EndRecord)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CurrentRecordNumber)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OldestRecordNumber)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->RecordSizeEnd)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EVENTLOGEOF(struct ndr_print *ndr, const char *name, const struct EVENTLOGEOF *r) -{ - ndr_print_struct(ndr, name, "EVENTLOGEOF"); - ndr->depth++; - ndr_print_uint32(ndr, "RecordSizeBeginning", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x28:r->RecordSizeBeginning); - ndr_print_uint32(ndr, "One", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x11111111:r->One); - ndr_print_uint32(ndr, "Two", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x22222222:r->Two); - ndr_print_uint32(ndr, "Three", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x33333333:r->Three); - ndr_print_uint32(ndr, "Four", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x44444444:r->Four); - ndr_print_uint32(ndr, "BeginRecord", r->BeginRecord); - ndr_print_uint32(ndr, "EndRecord", r->EndRecord); - ndr_print_uint32(ndr, "CurrentRecordNumber", r->CurrentRecordNumber); - ndr_print_uint32(ndr, "OldestRecordNumber", r->OldestRecordNumber); - ndr_print_uint32(ndr, "RecordSizeEnd", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x28:r->RecordSizeEnd); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_EVENTLOG_EVT_FILE(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOG_EVT_FILE *r) -{ - uint32_t cntr_records_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_EVENTLOGHEADER(ndr, NDR_SCALARS, &r->hdr)); - for (cntr_records_0 = 0; cntr_records_0 < r->hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber; cntr_records_0++) { - NDR_CHECK(ndr_push_EVENTLOGRECORD(ndr, NDR_SCALARS, &r->records[cntr_records_0])); - } - NDR_CHECK(ndr_push_EVENTLOGEOF(ndr, NDR_SCALARS, &r->eof)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_records_0 = 0; cntr_records_0 < r->hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber; cntr_records_0++) { - NDR_CHECK(ndr_push_EVENTLOGRECORD(ndr, NDR_BUFFERS, &r->records[cntr_records_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_EVENTLOG_EVT_FILE(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOG_EVT_FILE *r) -{ - uint32_t cntr_records_0; - TALLOC_CTX *_mem_save_records_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_EVENTLOGHEADER(ndr, NDR_SCALARS, &r->hdr)); - NDR_PULL_ALLOC_N(ndr, r->records, r->hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber); - _mem_save_records_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->records, 0); - for (cntr_records_0 = 0; cntr_records_0 < r->hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber; cntr_records_0++) { - NDR_CHECK(ndr_pull_EVENTLOGRECORD(ndr, NDR_SCALARS, &r->records[cntr_records_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_records_0, 0); - NDR_CHECK(ndr_pull_EVENTLOGEOF(ndr, NDR_SCALARS, &r->eof)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_records_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->records, 0); - for (cntr_records_0 = 0; cntr_records_0 < r->hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber; cntr_records_0++) { - NDR_CHECK(ndr_pull_EVENTLOGRECORD(ndr, NDR_BUFFERS, &r->records[cntr_records_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_records_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EVENTLOG_EVT_FILE(struct ndr_print *ndr, const char *name, const struct EVENTLOG_EVT_FILE *r) -{ - uint32_t cntr_records_0; - ndr_print_struct(ndr, name, "EVENTLOG_EVT_FILE"); - ndr->depth++; - ndr_print_EVENTLOGHEADER(ndr, "hdr", &r->hdr); - ndr->print(ndr, "%s: ARRAY(%d)", "records", (int)r->hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber); - ndr->depth++; - for (cntr_records_0=0;cntr_records_0hdr.CurrentRecordNumber - r->hdr.OldestRecordNumber;cntr_records_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_records_0) != -1) { - ndr_print_EVENTLOGRECORD(ndr, "records", &r->records[cntr_records_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_EVENTLOGEOF(ndr, "eof", &r->eof); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_EVENTLOG_FULL_INFORMATION(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOG_FULL_INFORMATION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->full)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_EVENTLOG_FULL_INFORMATION(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOG_FULL_INFORMATION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->full)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EVENTLOG_FULL_INFORMATION(struct ndr_print *ndr, const char *name, const struct EVENTLOG_FULL_INFORMATION *r) -{ - ndr_print_struct(ndr, name, "EVENTLOG_FULL_INFORMATION"); - ndr->depth++; - ndr_print_uint32(ndr, "full", r->full); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ClearEventLogW(struct ndr_push *ndr, int flags, const struct eventlog_ClearEventLogW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.backupfile)); - if (r->in.backupfile) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.backupfile)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ClearEventLogW(struct ndr_pull *ndr, int flags, struct eventlog_ClearEventLogW *r) -{ - uint32_t _ptr_backupfile; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_backupfile_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_backupfile)); - if (_ptr_backupfile) { - NDR_PULL_ALLOC(ndr, r->in.backupfile); - } else { - r->in.backupfile = NULL; - } - if (r->in.backupfile) { - _mem_save_backupfile_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.backupfile, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.backupfile)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_backupfile_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ClearEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ClearEventLogW *r) -{ - ndr_print_struct(ndr, name, "eventlog_ClearEventLogW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ClearEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "backupfile", r->in.backupfile); - ndr->depth++; - if (r->in.backupfile) { - ndr_print_lsa_String(ndr, "backupfile", r->in.backupfile); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ClearEventLogW"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_BackupEventLogW(struct ndr_push *ndr, int flags, const struct eventlog_BackupEventLogW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.backup_filename == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.backup_filename)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_BackupEventLogW(struct ndr_pull *ndr, int flags, struct eventlog_BackupEventLogW *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_backup_filename_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.backup_filename); - } - _mem_save_backup_filename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.backup_filename, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.backup_filename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_backup_filename_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_BackupEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_BackupEventLogW *r) -{ - ndr_print_struct(ndr, name, "eventlog_BackupEventLogW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_BackupEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "backup_filename", r->in.backup_filename); - ndr->depth++; - ndr_print_lsa_String(ndr, "backup_filename", r->in.backup_filename); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_BackupEventLogW"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_CloseEventLog(struct ndr_push *ndr, int flags, const struct eventlog_CloseEventLog *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_CloseEventLog(struct ndr_pull *ndr, int flags, struct eventlog_CloseEventLog *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_CloseEventLog(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_CloseEventLog *r) -{ - ndr_print_struct(ndr, name, "eventlog_CloseEventLog"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_CloseEventLog"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_CloseEventLog"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_DeregisterEventSource(struct ndr_push *ndr, int flags, const struct eventlog_DeregisterEventSource *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_DeregisterEventSource(struct ndr_pull *ndr, int flags, struct eventlog_DeregisterEventSource *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_DeregisterEventSource(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_DeregisterEventSource *r) -{ - ndr_print_struct(ndr, name, "eventlog_DeregisterEventSource"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_DeregisterEventSource"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_DeregisterEventSource"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_GetNumRecords(struct ndr_push *ndr, int flags, const struct eventlog_GetNumRecords *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.number == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.number)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_GetNumRecords(struct ndr_pull *ndr, int flags, struct eventlog_GetNumRecords *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_number_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.number); - ZERO_STRUCTP(r->out.number); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.number); - } - _mem_save_number_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.number, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.number)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_number_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_GetNumRecords(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetNumRecords *r) -{ - ndr_print_struct(ndr, name, "eventlog_GetNumRecords"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_GetNumRecords"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_GetNumRecords"); - ndr->depth++; - ndr_print_ptr(ndr, "number", r->out.number); - ndr->depth++; - ndr_print_uint32(ndr, "number", *r->out.number); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_GetOldestRecord(struct ndr_push *ndr, int flags, const struct eventlog_GetOldestRecord *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.oldest_entry == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.oldest_entry)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_GetOldestRecord(struct ndr_pull *ndr, int flags, struct eventlog_GetOldestRecord *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_oldest_entry_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.oldest_entry); - ZERO_STRUCTP(r->out.oldest_entry); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.oldest_entry); - } - _mem_save_oldest_entry_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.oldest_entry, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.oldest_entry)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_oldest_entry_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_GetOldestRecord(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetOldestRecord *r) -{ - ndr_print_struct(ndr, name, "eventlog_GetOldestRecord"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_GetOldestRecord"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_GetOldestRecord"); - ndr->depth++; - ndr_print_ptr(ndr, "oldest_entry", r->out.oldest_entry); - ndr->depth++; - ndr_print_uint32(ndr, "oldest_entry", *r->out.oldest_entry); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ChangeNotify(struct ndr_push *ndr, int flags, const struct eventlog_ChangeNotify *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ChangeNotify(struct ndr_pull *ndr, int flags, struct eventlog_ChangeNotify *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ChangeNotify *r) -{ - ndr_print_struct(ndr, name, "eventlog_ChangeNotify"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ChangeNotify"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ChangeNotify"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_OpenEventLogW(struct ndr_push *ndr, int flags, const struct eventlog_OpenEventLogW *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown0)); - if (r->in.unknown0) { - NDR_CHECK(ndr_push_eventlog_OpenUnknown0(ndr, NDR_SCALARS, r->in.unknown0)); - } - if (r->in.logname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logname)); - if (r->in.servername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.servername)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.major_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.minor_version)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_OpenEventLogW(struct ndr_pull *ndr, int flags, struct eventlog_OpenEventLogW *r) -{ - uint32_t _ptr_unknown0; - TALLOC_CTX *_mem_save_unknown0_0; - TALLOC_CTX *_mem_save_logname_0; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown0)); - if (_ptr_unknown0) { - NDR_PULL_ALLOC(ndr, r->in.unknown0); - } else { - r->in.unknown0 = NULL; - } - if (r->in.unknown0) { - _mem_save_unknown0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown0, 0); - NDR_CHECK(ndr_pull_eventlog_OpenUnknown0(ndr, NDR_SCALARS, r->in.unknown0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown0_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.logname); - } - _mem_save_logname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logname_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.servername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.major_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.minor_version)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_OpenEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenEventLogW *r) -{ - ndr_print_struct(ndr, name, "eventlog_OpenEventLogW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_OpenEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown0", r->in.unknown0); - ndr->depth++; - if (r->in.unknown0) { - ndr_print_eventlog_OpenUnknown0(ndr, "unknown0", r->in.unknown0); - } - ndr->depth--; - ndr_print_ptr(ndr, "logname", r->in.logname); - ndr->depth++; - ndr_print_lsa_String(ndr, "logname", r->in.logname); - ndr->depth--; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - ndr_print_lsa_String(ndr, "servername", r->in.servername); - ndr->depth--; - ndr_print_uint32(ndr, "major_version", r->in.major_version); - ndr_print_uint32(ndr, "minor_version", r->in.minor_version); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_OpenEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_RegisterEventSourceW(struct ndr_push *ndr, int flags, const struct eventlog_RegisterEventSourceW *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown0)); - if (r->in.unknown0) { - NDR_CHECK(ndr_push_eventlog_OpenUnknown0(ndr, NDR_SCALARS, r->in.unknown0)); - } - if (r->in.module_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.module_name)); - if (r->in.reg_module_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.reg_module_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.major_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.minor_version)); - } - if (flags & NDR_OUT) { - if (r->out.log_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.log_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_RegisterEventSourceW(struct ndr_pull *ndr, int flags, struct eventlog_RegisterEventSourceW *r) -{ - uint32_t _ptr_unknown0; - TALLOC_CTX *_mem_save_unknown0_0; - TALLOC_CTX *_mem_save_module_name_0; - TALLOC_CTX *_mem_save_reg_module_name_0; - TALLOC_CTX *_mem_save_log_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown0)); - if (_ptr_unknown0) { - NDR_PULL_ALLOC(ndr, r->in.unknown0); - } else { - r->in.unknown0 = NULL; - } - if (r->in.unknown0) { - _mem_save_unknown0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown0, 0); - NDR_CHECK(ndr_pull_eventlog_OpenUnknown0(ndr, NDR_SCALARS, r->in.unknown0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown0_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.module_name); - } - _mem_save_module_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.module_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.module_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_module_name_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.reg_module_name); - } - _mem_save_reg_module_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.reg_module_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.reg_module_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reg_module_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.major_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.minor_version)); - NDR_PULL_ALLOC(ndr, r->out.log_handle); - ZERO_STRUCTP(r->out.log_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.log_handle); - } - _mem_save_log_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.log_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.log_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_log_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_RegisterEventSourceW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_RegisterEventSourceW *r) -{ - ndr_print_struct(ndr, name, "eventlog_RegisterEventSourceW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_RegisterEventSourceW"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown0", r->in.unknown0); - ndr->depth++; - if (r->in.unknown0) { - ndr_print_eventlog_OpenUnknown0(ndr, "unknown0", r->in.unknown0); - } - ndr->depth--; - ndr_print_ptr(ndr, "module_name", r->in.module_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "module_name", r->in.module_name); - ndr->depth--; - ndr_print_ptr(ndr, "reg_module_name", r->in.reg_module_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "reg_module_name", r->in.reg_module_name); - ndr->depth--; - ndr_print_uint32(ndr, "major_version", r->in.major_version); - ndr_print_uint32(ndr, "minor_version", r->in.minor_version); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_RegisterEventSourceW"); - ndr->depth++; - ndr_print_ptr(ndr, "log_handle", r->out.log_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "log_handle", r->out.log_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_OpenBackupEventLogW(struct ndr_push *ndr, int flags, const struct eventlog_OpenBackupEventLogW *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown0)); - if (r->in.unknown0) { - NDR_CHECK(ndr_push_eventlog_OpenUnknown0(ndr, NDR_SCALARS, r->in.unknown0)); - } - if (r->in.backup_logname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.backup_logname)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.major_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.minor_version)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_OpenBackupEventLogW(struct ndr_pull *ndr, int flags, struct eventlog_OpenBackupEventLogW *r) -{ - uint32_t _ptr_unknown0; - TALLOC_CTX *_mem_save_unknown0_0; - TALLOC_CTX *_mem_save_backup_logname_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown0)); - if (_ptr_unknown0) { - NDR_PULL_ALLOC(ndr, r->in.unknown0); - } else { - r->in.unknown0 = NULL; - } - if (r->in.unknown0) { - _mem_save_unknown0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown0, 0); - NDR_CHECK(ndr_pull_eventlog_OpenUnknown0(ndr, NDR_SCALARS, r->in.unknown0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown0_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.backup_logname); - } - _mem_save_backup_logname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.backup_logname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.backup_logname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_backup_logname_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.major_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.minor_version)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_OpenBackupEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenBackupEventLogW *r) -{ - ndr_print_struct(ndr, name, "eventlog_OpenBackupEventLogW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_OpenBackupEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown0", r->in.unknown0); - ndr->depth++; - if (r->in.unknown0) { - ndr_print_eventlog_OpenUnknown0(ndr, "unknown0", r->in.unknown0); - } - ndr->depth--; - ndr_print_ptr(ndr, "backup_logname", r->in.backup_logname); - ndr->depth++; - ndr_print_lsa_String(ndr, "backup_logname", r->in.backup_logname); - ndr->depth--; - ndr_print_uint32(ndr, "major_version", r->in.major_version); - ndr_print_uint32(ndr, "minor_version", r->in.minor_version); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_OpenBackupEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ReadEventLogW(struct ndr_push *ndr, int flags, const struct eventlog_ReadEventLogW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_eventlogReadFlags(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.number_of_bytes)); - } - if (flags & NDR_OUT) { - if (r->out.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.number_of_bytes)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.number_of_bytes)); - if (r->out.sent_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sent_size)); - if (r->out.real_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.real_size)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ReadEventLogW(struct ndr_pull *ndr, int flags, struct eventlog_ReadEventLogW *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sent_size_0; - TALLOC_CTX *_mem_save_real_size_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_eventlogReadFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.number_of_bytes)); - if (r->in.number_of_bytes > 0x7FFFF) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.number_of_bytes); - memset(r->out.data, 0, (r->in.number_of_bytes) * sizeof(*r->out.data)); - NDR_PULL_ALLOC(ndr, r->out.sent_size); - ZERO_STRUCTP(r->out.sent_size); - NDR_PULL_ALLOC(ndr, r->out.real_size); - ZERO_STRUCTP(r->out.real_size); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sent_size); - } - _mem_save_sent_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sent_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sent_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sent_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.real_size); - } - _mem_save_real_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.real_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.real_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_real_size_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.number_of_bytes)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ReadEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReadEventLogW *r) -{ - ndr_print_struct(ndr, name, "eventlog_ReadEventLogW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ReadEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_eventlogReadFlags(ndr, "flags", r->in.flags); - ndr_print_uint32(ndr, "offset", r->in.offset); - ndr_print_uint32(ndr, "number_of_bytes", r->in.number_of_bytes); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ReadEventLogW"); - ndr->depth++; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->out.data, r->in.number_of_bytes); - ndr->depth--; - ndr_print_ptr(ndr, "sent_size", r->out.sent_size); - ndr->depth++; - ndr_print_uint32(ndr, "sent_size", *r->out.sent_size); - ndr->depth--; - ndr_print_ptr(ndr, "real_size", r->out.real_size); - ndr->depth++; - ndr_print_uint32(ndr, "real_size", *r->out.real_size); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ReportEventW(struct ndr_push *ndr, int flags, const struct eventlog_ReportEventW *r) -{ - uint32_t cntr_strings_1; - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->in.timestamp)); - NDR_CHECK(ndr_push_eventlogEventTypes(ndr, NDR_SCALARS, r->in.event_type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.event_category)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.event_id)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.num_of_strings)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size)); - if (r->in.servername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.servername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.user_sid)); - if (r->in.user_sid) { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.user_sid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.strings)); - if (r->in.strings) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_of_strings)); - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - } - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.strings[cntr_strings_1])); - if (r->in.strings[cntr_strings_1]) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.strings[cntr_strings_1])); - } - } - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data)); - if (r->in.data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.data_size)); - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.record_number)); - if (r->in.record_number) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.record_number)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.time_written)); - if (r->in.time_written) { - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, *r->in.time_written)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.record_number)); - if (r->out.record_number) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.record_number)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.time_written)); - if (r->out.time_written) { - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, *r->out.time_written)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ReportEventW(struct ndr_pull *ndr, int flags, struct eventlog_ReportEventW *r) -{ - uint32_t _ptr_user_sid; - uint32_t _ptr_strings; - uint32_t cntr_strings_1; - uint32_t _ptr_data; - uint32_t _ptr_record_number; - uint32_t _ptr_time_written; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_user_sid_0; - TALLOC_CTX *_mem_save_strings_0; - TALLOC_CTX *_mem_save_strings_1; - TALLOC_CTX *_mem_save_strings_2; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_record_number_0; - TALLOC_CTX *_mem_save_time_written_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->in.timestamp)); - NDR_CHECK(ndr_pull_eventlogEventTypes(ndr, NDR_SCALARS, &r->in.event_type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.event_category)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.event_id)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.num_of_strings)); - if (r->in.num_of_strings > 256) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size)); - if (r->in.data_size > 0x3FFFF) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.servername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_sid)); - if (_ptr_user_sid) { - NDR_PULL_ALLOC(ndr, r->in.user_sid); - } else { - r->in.user_sid = NULL; - } - if (r->in.user_sid) { - _mem_save_user_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.user_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_sid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_strings)); - if (_ptr_strings) { - NDR_PULL_ALLOC(ndr, r->in.strings); - } else { - r->in.strings = NULL; - } - if (r->in.strings) { - _mem_save_strings_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.strings, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.strings)); - NDR_PULL_ALLOC_N(ndr, r->in.strings, ndr_get_array_size(ndr, &r->in.strings)); - _mem_save_strings_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.strings, 0); - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - } - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_strings)); - if (_ptr_strings) { - NDR_PULL_ALLOC(ndr, r->in.strings[cntr_strings_1]); - } else { - r->in.strings[cntr_strings_1] = NULL; - } - if (r->in.strings[cntr_strings_1]) { - _mem_save_strings_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.strings[cntr_strings_1], 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.strings[cntr_strings_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->in.data); - } else { - r->in.data = NULL; - } - if (r->in.data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_record_number)); - if (_ptr_record_number) { - NDR_PULL_ALLOC(ndr, r->in.record_number); - } else { - r->in.record_number = NULL; - } - if (r->in.record_number) { - _mem_save_record_number_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.record_number, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.record_number)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_record_number_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time_written)); - if (_ptr_time_written) { - NDR_PULL_ALLOC(ndr, r->in.time_written); - } else { - r->in.time_written = NULL; - } - if (r->in.time_written) { - _mem_save_time_written_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.time_written, 0); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, r->in.time_written)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_written_0, 0); - } - if (r->in.strings) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.strings, r->in.num_of_strings)); - } - if (r->in.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.data_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_record_number)); - if (_ptr_record_number) { - NDR_PULL_ALLOC(ndr, r->out.record_number); - } else { - r->out.record_number = NULL; - } - if (r->out.record_number) { - _mem_save_record_number_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.record_number, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.record_number)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_record_number_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time_written)); - if (_ptr_time_written) { - NDR_PULL_ALLOC(ndr, r->out.time_written); - } else { - r->out.time_written = NULL; - } - if (r->out.time_written) { - _mem_save_time_written_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.time_written, 0); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, r->out.time_written)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_written_0, 0); - } - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ReportEventW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventW *r) -{ - uint32_t cntr_strings_1; - ndr_print_struct(ndr, name, "eventlog_ReportEventW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ReportEventW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_time_t(ndr, "timestamp", r->in.timestamp); - ndr_print_eventlogEventTypes(ndr, "event_type", r->in.event_type); - ndr_print_uint16(ndr, "event_category", r->in.event_category); - ndr_print_uint32(ndr, "event_id", r->in.event_id); - ndr_print_uint16(ndr, "num_of_strings", r->in.num_of_strings); - ndr_print_uint32(ndr, "data_size", r->in.data_size); - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - ndr_print_lsa_String(ndr, "servername", r->in.servername); - ndr->depth--; - ndr_print_ptr(ndr, "user_sid", r->in.user_sid); - ndr->depth++; - if (r->in.user_sid) { - ndr_print_dom_sid(ndr, "user_sid", r->in.user_sid); - } - ndr->depth--; - ndr_print_ptr(ndr, "strings", r->in.strings); - ndr->depth++; - if (r->in.strings) { - ndr->print(ndr, "%s: ARRAY(%d)", "strings", (int)r->in.num_of_strings); - ndr->depth++; - for (cntr_strings_1=0;cntr_strings_1in.num_of_strings;cntr_strings_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_strings_1) != -1) { - ndr_print_ptr(ndr, "strings", r->in.strings[cntr_strings_1]); - ndr->depth++; - if (r->in.strings[cntr_strings_1]) { - ndr_print_lsa_String(ndr, "strings", r->in.strings[cntr_strings_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - if (r->in.data) { - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.data_size); - } - ndr->depth--; - ndr_print_uint16(ndr, "flags", r->in.flags); - ndr_print_ptr(ndr, "record_number", r->in.record_number); - ndr->depth++; - if (r->in.record_number) { - ndr_print_uint32(ndr, "record_number", *r->in.record_number); - } - ndr->depth--; - ndr_print_ptr(ndr, "time_written", r->in.time_written); - ndr->depth++; - if (r->in.time_written) { - ndr_print_time_t(ndr, "time_written", *r->in.time_written); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ReportEventW"); - ndr->depth++; - ndr_print_ptr(ndr, "record_number", r->out.record_number); - ndr->depth++; - if (r->out.record_number) { - ndr_print_uint32(ndr, "record_number", *r->out.record_number); - } - ndr->depth--; - ndr_print_ptr(ndr, "time_written", r->out.time_written); - ndr->depth++; - if (r->out.time_written) { - ndr_print_time_t(ndr, "time_written", *r->out.time_written); - } - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ClearEventLogA(struct ndr_push *ndr, int flags, const struct eventlog_ClearEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ClearEventLogA(struct ndr_pull *ndr, int flags, struct eventlog_ClearEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ClearEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ClearEventLogA *r) -{ - ndr_print_struct(ndr, name, "eventlog_ClearEventLogA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ClearEventLogA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ClearEventLogA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_BackupEventLogA(struct ndr_push *ndr, int flags, const struct eventlog_BackupEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_BackupEventLogA(struct ndr_pull *ndr, int flags, struct eventlog_BackupEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_BackupEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_BackupEventLogA *r) -{ - ndr_print_struct(ndr, name, "eventlog_BackupEventLogA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_BackupEventLogA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_BackupEventLogA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_OpenEventLogA(struct ndr_push *ndr, int flags, const struct eventlog_OpenEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_OpenEventLogA(struct ndr_pull *ndr, int flags, struct eventlog_OpenEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_OpenEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenEventLogA *r) -{ - ndr_print_struct(ndr, name, "eventlog_OpenEventLogA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_OpenEventLogA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_OpenEventLogA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_RegisterEventSourceA(struct ndr_push *ndr, int flags, const struct eventlog_RegisterEventSourceA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_RegisterEventSourceA(struct ndr_pull *ndr, int flags, struct eventlog_RegisterEventSourceA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_RegisterEventSourceA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_RegisterEventSourceA *r) -{ - ndr_print_struct(ndr, name, "eventlog_RegisterEventSourceA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_RegisterEventSourceA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_RegisterEventSourceA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_OpenBackupEventLogA(struct ndr_push *ndr, int flags, const struct eventlog_OpenBackupEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_OpenBackupEventLogA(struct ndr_pull *ndr, int flags, struct eventlog_OpenBackupEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_OpenBackupEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenBackupEventLogA *r) -{ - ndr_print_struct(ndr, name, "eventlog_OpenBackupEventLogA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_OpenBackupEventLogA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_OpenBackupEventLogA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ReadEventLogA(struct ndr_push *ndr, int flags, const struct eventlog_ReadEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ReadEventLogA(struct ndr_pull *ndr, int flags, struct eventlog_ReadEventLogA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ReadEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReadEventLogA *r) -{ - ndr_print_struct(ndr, name, "eventlog_ReadEventLogA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ReadEventLogA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ReadEventLogA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ReportEventA(struct ndr_push *ndr, int flags, const struct eventlog_ReportEventA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ReportEventA(struct ndr_pull *ndr, int flags, struct eventlog_ReportEventA *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ReportEventA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventA *r) -{ - ndr_print_struct(ndr, name, "eventlog_ReportEventA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ReportEventA"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ReportEventA"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_RegisterClusterSvc(struct ndr_push *ndr, int flags, const struct eventlog_RegisterClusterSvc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_RegisterClusterSvc(struct ndr_pull *ndr, int flags, struct eventlog_RegisterClusterSvc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_RegisterClusterSvc(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_RegisterClusterSvc *r) -{ - ndr_print_struct(ndr, name, "eventlog_RegisterClusterSvc"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_RegisterClusterSvc"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_RegisterClusterSvc"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_DeregisterClusterSvc(struct ndr_push *ndr, int flags, const struct eventlog_DeregisterClusterSvc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_DeregisterClusterSvc(struct ndr_pull *ndr, int flags, struct eventlog_DeregisterClusterSvc *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_DeregisterClusterSvc(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_DeregisterClusterSvc *r) -{ - ndr_print_struct(ndr, name, "eventlog_DeregisterClusterSvc"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_DeregisterClusterSvc"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_DeregisterClusterSvc"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_WriteClusterEvents(struct ndr_push *ndr, int flags, const struct eventlog_WriteClusterEvents *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_WriteClusterEvents(struct ndr_pull *ndr, int flags, struct eventlog_WriteClusterEvents *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_WriteClusterEvents(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_WriteClusterEvents *r) -{ - ndr_print_struct(ndr, name, "eventlog_WriteClusterEvents"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_WriteClusterEvents"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_WriteClusterEvents"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_GetLogInformation(struct ndr_push *ndr, int flags, const struct eventlog_GetLogInformation *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size)); - } - if (flags & NDR_OUT) { - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.buf_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.buf_size)); - if (r->out.bytes_needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.bytes_needed)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_GetLogInformation(struct ndr_pull *ndr, int flags, struct eventlog_GetLogInformation *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_bytes_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size)); - if (r->in.buf_size > 1024) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.buf_size); - memset(r->out.buffer, 0, (r->in.buf_size) * sizeof(*r->out.buffer)); - NDR_PULL_ALLOC(ndr, r->out.bytes_needed); - ZERO_STRUCTP(r->out.bytes_needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.bytes_needed); - } - _mem_save_bytes_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.bytes_needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.bytes_needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bytes_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.buf_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_GetLogInformation(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetLogInformation *r) -{ - ndr_print_struct(ndr, name, "eventlog_GetLogInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_GetLogInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "buf_size", r->in.buf_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_GetLogInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.buf_size); - ndr->depth--; - ndr_print_ptr(ndr, "bytes_needed", r->out.bytes_needed); - ndr->depth++; - ndr_print_uint32(ndr, "bytes_needed", *r->out.bytes_needed); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_FlushEventLog(struct ndr_push *ndr, int flags, const struct eventlog_FlushEventLog *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_FlushEventLog(struct ndr_pull *ndr, int flags, struct eventlog_FlushEventLog *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_FlushEventLog(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_FlushEventLog *r) -{ - ndr_print_struct(ndr, name, "eventlog_FlushEventLog"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_FlushEventLog"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_FlushEventLog"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_eventlog_ReportEventAndSourceW(struct ndr_push *ndr, int flags, const struct eventlog_ReportEventAndSourceW *r) -{ - uint32_t cntr_strings_1; - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->in.timestamp)); - NDR_CHECK(ndr_push_eventlogEventTypes(ndr, NDR_SCALARS, r->in.event_type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.event_category)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.event_id)); - if (r->in.sourcename == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sourcename)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.num_of_strings)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size)); - if (r->in.servername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.servername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.user_sid)); - if (r->in.user_sid) { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.user_sid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.strings)); - if (r->in.strings) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_of_strings)); - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - } - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.strings[cntr_strings_1])); - if (r->in.strings[cntr_strings_1]) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.strings[cntr_strings_1])); - } - } - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data)); - if (r->in.data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.data_size)); - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.record_number)); - if (r->in.record_number) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.record_number)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.time_written)); - if (r->in.time_written) { - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, *r->in.time_written)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.record_number)); - if (r->out.record_number) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.record_number)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.time_written)); - if (r->out.time_written) { - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, *r->out.time_written)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_eventlog_ReportEventAndSourceW(struct ndr_pull *ndr, int flags, struct eventlog_ReportEventAndSourceW *r) -{ - uint32_t _ptr_user_sid; - uint32_t _ptr_strings; - uint32_t cntr_strings_1; - uint32_t _ptr_data; - uint32_t _ptr_record_number; - uint32_t _ptr_time_written; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sourcename_0; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_user_sid_0; - TALLOC_CTX *_mem_save_strings_0; - TALLOC_CTX *_mem_save_strings_1; - TALLOC_CTX *_mem_save_strings_2; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_record_number_0; - TALLOC_CTX *_mem_save_time_written_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->in.timestamp)); - NDR_CHECK(ndr_pull_eventlogEventTypes(ndr, NDR_SCALARS, &r->in.event_type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.event_category)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.event_id)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sourcename); - } - _mem_save_sourcename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sourcename, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sourcename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sourcename_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.num_of_strings)); - if (r->in.num_of_strings > 256) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size)); - if (r->in.data_size > 0x3FFFF) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.servername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_sid)); - if (_ptr_user_sid) { - NDR_PULL_ALLOC(ndr, r->in.user_sid); - } else { - r->in.user_sid = NULL; - } - if (r->in.user_sid) { - _mem_save_user_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.user_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_sid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_strings)); - if (_ptr_strings) { - NDR_PULL_ALLOC(ndr, r->in.strings); - } else { - r->in.strings = NULL; - } - if (r->in.strings) { - _mem_save_strings_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.strings, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.strings)); - NDR_PULL_ALLOC_N(ndr, r->in.strings, ndr_get_array_size(ndr, &r->in.strings)); - _mem_save_strings_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.strings, 0); - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - } - for (cntr_strings_1 = 0; cntr_strings_1 < r->in.num_of_strings; cntr_strings_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_strings)); - if (_ptr_strings) { - NDR_PULL_ALLOC(ndr, r->in.strings[cntr_strings_1]); - } else { - r->in.strings[cntr_strings_1] = NULL; - } - if (r->in.strings[cntr_strings_1]) { - _mem_save_strings_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.strings[cntr_strings_1], 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.strings[cntr_strings_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_strings_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->in.data); - } else { - r->in.data = NULL; - } - if (r->in.data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_record_number)); - if (_ptr_record_number) { - NDR_PULL_ALLOC(ndr, r->in.record_number); - } else { - r->in.record_number = NULL; - } - if (r->in.record_number) { - _mem_save_record_number_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.record_number, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.record_number)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_record_number_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time_written)); - if (_ptr_time_written) { - NDR_PULL_ALLOC(ndr, r->in.time_written); - } else { - r->in.time_written = NULL; - } - if (r->in.time_written) { - _mem_save_time_written_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.time_written, 0); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, r->in.time_written)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_written_0, 0); - } - if (r->in.strings) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.strings, r->in.num_of_strings)); - } - if (r->in.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.data_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_record_number)); - if (_ptr_record_number) { - NDR_PULL_ALLOC(ndr, r->out.record_number); - } else { - r->out.record_number = NULL; - } - if (r->out.record_number) { - _mem_save_record_number_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.record_number, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.record_number)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_record_number_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time_written)); - if (_ptr_time_written) { - NDR_PULL_ALLOC(ndr, r->out.time_written); - } else { - r->out.time_written = NULL; - } - if (r->out.time_written) { - _mem_save_time_written_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.time_written, 0); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, r->out.time_written)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_written_0, 0); - } - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_eventlog_ReportEventAndSourceW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventAndSourceW *r) -{ - uint32_t cntr_strings_1; - ndr_print_struct(ndr, name, "eventlog_ReportEventAndSourceW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "eventlog_ReportEventAndSourceW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_time_t(ndr, "timestamp", r->in.timestamp); - ndr_print_eventlogEventTypes(ndr, "event_type", r->in.event_type); - ndr_print_uint16(ndr, "event_category", r->in.event_category); - ndr_print_uint32(ndr, "event_id", r->in.event_id); - ndr_print_ptr(ndr, "sourcename", r->in.sourcename); - ndr->depth++; - ndr_print_lsa_String(ndr, "sourcename", r->in.sourcename); - ndr->depth--; - ndr_print_uint16(ndr, "num_of_strings", r->in.num_of_strings); - ndr_print_uint32(ndr, "data_size", r->in.data_size); - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - ndr_print_lsa_String(ndr, "servername", r->in.servername); - ndr->depth--; - ndr_print_ptr(ndr, "user_sid", r->in.user_sid); - ndr->depth++; - if (r->in.user_sid) { - ndr_print_dom_sid(ndr, "user_sid", r->in.user_sid); - } - ndr->depth--; - ndr_print_ptr(ndr, "strings", r->in.strings); - ndr->depth++; - if (r->in.strings) { - ndr->print(ndr, "%s: ARRAY(%d)", "strings", (int)r->in.num_of_strings); - ndr->depth++; - for (cntr_strings_1=0;cntr_strings_1in.num_of_strings;cntr_strings_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_strings_1) != -1) { - ndr_print_ptr(ndr, "strings", r->in.strings[cntr_strings_1]); - ndr->depth++; - if (r->in.strings[cntr_strings_1]) { - ndr_print_lsa_String(ndr, "strings", r->in.strings[cntr_strings_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - if (r->in.data) { - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.data_size); - } - ndr->depth--; - ndr_print_uint16(ndr, "flags", r->in.flags); - ndr_print_ptr(ndr, "record_number", r->in.record_number); - ndr->depth++; - if (r->in.record_number) { - ndr_print_uint32(ndr, "record_number", *r->in.record_number); - } - ndr->depth--; - ndr_print_ptr(ndr, "time_written", r->in.time_written); - ndr->depth++; - if (r->in.time_written) { - ndr_print_time_t(ndr, "time_written", *r->in.time_written); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "eventlog_ReportEventAndSourceW"); - ndr->depth++; - ndr_print_ptr(ndr, "record_number", r->out.record_number); - ndr->depth++; - if (r->out.record_number) { - ndr_print_uint32(ndr, "record_number", *r->out.record_number); - } - ndr->depth--; - ndr_print_ptr(ndr, "time_written", r->out.time_written); - ndr->depth++; - if (r->out.time_written) { - ndr_print_time_t(ndr, "time_written", *r->out.time_written); - } - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call eventlog_calls[] = { - { - "eventlog_ClearEventLogW", - sizeof(struct eventlog_ClearEventLogW), - (ndr_push_flags_fn_t) ndr_push_eventlog_ClearEventLogW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ClearEventLogW, - (ndr_print_function_t) ndr_print_eventlog_ClearEventLogW, - false, - }, - { - "eventlog_BackupEventLogW", - sizeof(struct eventlog_BackupEventLogW), - (ndr_push_flags_fn_t) ndr_push_eventlog_BackupEventLogW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_BackupEventLogW, - (ndr_print_function_t) ndr_print_eventlog_BackupEventLogW, - false, - }, - { - "eventlog_CloseEventLog", - sizeof(struct eventlog_CloseEventLog), - (ndr_push_flags_fn_t) ndr_push_eventlog_CloseEventLog, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_CloseEventLog, - (ndr_print_function_t) ndr_print_eventlog_CloseEventLog, - false, - }, - { - "eventlog_DeregisterEventSource", - sizeof(struct eventlog_DeregisterEventSource), - (ndr_push_flags_fn_t) ndr_push_eventlog_DeregisterEventSource, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_DeregisterEventSource, - (ndr_print_function_t) ndr_print_eventlog_DeregisterEventSource, - false, - }, - { - "eventlog_GetNumRecords", - sizeof(struct eventlog_GetNumRecords), - (ndr_push_flags_fn_t) ndr_push_eventlog_GetNumRecords, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_GetNumRecords, - (ndr_print_function_t) ndr_print_eventlog_GetNumRecords, - false, - }, - { - "eventlog_GetOldestRecord", - sizeof(struct eventlog_GetOldestRecord), - (ndr_push_flags_fn_t) ndr_push_eventlog_GetOldestRecord, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_GetOldestRecord, - (ndr_print_function_t) ndr_print_eventlog_GetOldestRecord, - false, - }, - { - "eventlog_ChangeNotify", - sizeof(struct eventlog_ChangeNotify), - (ndr_push_flags_fn_t) ndr_push_eventlog_ChangeNotify, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ChangeNotify, - (ndr_print_function_t) ndr_print_eventlog_ChangeNotify, - false, - }, - { - "eventlog_OpenEventLogW", - sizeof(struct eventlog_OpenEventLogW), - (ndr_push_flags_fn_t) ndr_push_eventlog_OpenEventLogW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_OpenEventLogW, - (ndr_print_function_t) ndr_print_eventlog_OpenEventLogW, - false, - }, - { - "eventlog_RegisterEventSourceW", - sizeof(struct eventlog_RegisterEventSourceW), - (ndr_push_flags_fn_t) ndr_push_eventlog_RegisterEventSourceW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_RegisterEventSourceW, - (ndr_print_function_t) ndr_print_eventlog_RegisterEventSourceW, - false, - }, - { - "eventlog_OpenBackupEventLogW", - sizeof(struct eventlog_OpenBackupEventLogW), - (ndr_push_flags_fn_t) ndr_push_eventlog_OpenBackupEventLogW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_OpenBackupEventLogW, - (ndr_print_function_t) ndr_print_eventlog_OpenBackupEventLogW, - false, - }, - { - "eventlog_ReadEventLogW", - sizeof(struct eventlog_ReadEventLogW), - (ndr_push_flags_fn_t) ndr_push_eventlog_ReadEventLogW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ReadEventLogW, - (ndr_print_function_t) ndr_print_eventlog_ReadEventLogW, - false, - }, - { - "eventlog_ReportEventW", - sizeof(struct eventlog_ReportEventW), - (ndr_push_flags_fn_t) ndr_push_eventlog_ReportEventW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ReportEventW, - (ndr_print_function_t) ndr_print_eventlog_ReportEventW, - false, - }, - { - "eventlog_ClearEventLogA", - sizeof(struct eventlog_ClearEventLogA), - (ndr_push_flags_fn_t) ndr_push_eventlog_ClearEventLogA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ClearEventLogA, - (ndr_print_function_t) ndr_print_eventlog_ClearEventLogA, - false, - }, - { - "eventlog_BackupEventLogA", - sizeof(struct eventlog_BackupEventLogA), - (ndr_push_flags_fn_t) ndr_push_eventlog_BackupEventLogA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_BackupEventLogA, - (ndr_print_function_t) ndr_print_eventlog_BackupEventLogA, - false, - }, - { - "eventlog_OpenEventLogA", - sizeof(struct eventlog_OpenEventLogA), - (ndr_push_flags_fn_t) ndr_push_eventlog_OpenEventLogA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_OpenEventLogA, - (ndr_print_function_t) ndr_print_eventlog_OpenEventLogA, - false, - }, - { - "eventlog_RegisterEventSourceA", - sizeof(struct eventlog_RegisterEventSourceA), - (ndr_push_flags_fn_t) ndr_push_eventlog_RegisterEventSourceA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_RegisterEventSourceA, - (ndr_print_function_t) ndr_print_eventlog_RegisterEventSourceA, - false, - }, - { - "eventlog_OpenBackupEventLogA", - sizeof(struct eventlog_OpenBackupEventLogA), - (ndr_push_flags_fn_t) ndr_push_eventlog_OpenBackupEventLogA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_OpenBackupEventLogA, - (ndr_print_function_t) ndr_print_eventlog_OpenBackupEventLogA, - false, - }, - { - "eventlog_ReadEventLogA", - sizeof(struct eventlog_ReadEventLogA), - (ndr_push_flags_fn_t) ndr_push_eventlog_ReadEventLogA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ReadEventLogA, - (ndr_print_function_t) ndr_print_eventlog_ReadEventLogA, - false, - }, - { - "eventlog_ReportEventA", - sizeof(struct eventlog_ReportEventA), - (ndr_push_flags_fn_t) ndr_push_eventlog_ReportEventA, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ReportEventA, - (ndr_print_function_t) ndr_print_eventlog_ReportEventA, - false, - }, - { - "eventlog_RegisterClusterSvc", - sizeof(struct eventlog_RegisterClusterSvc), - (ndr_push_flags_fn_t) ndr_push_eventlog_RegisterClusterSvc, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_RegisterClusterSvc, - (ndr_print_function_t) ndr_print_eventlog_RegisterClusterSvc, - false, - }, - { - "eventlog_DeregisterClusterSvc", - sizeof(struct eventlog_DeregisterClusterSvc), - (ndr_push_flags_fn_t) ndr_push_eventlog_DeregisterClusterSvc, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_DeregisterClusterSvc, - (ndr_print_function_t) ndr_print_eventlog_DeregisterClusterSvc, - false, - }, - { - "eventlog_WriteClusterEvents", - sizeof(struct eventlog_WriteClusterEvents), - (ndr_push_flags_fn_t) ndr_push_eventlog_WriteClusterEvents, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_WriteClusterEvents, - (ndr_print_function_t) ndr_print_eventlog_WriteClusterEvents, - false, - }, - { - "eventlog_GetLogInformation", - sizeof(struct eventlog_GetLogInformation), - (ndr_push_flags_fn_t) ndr_push_eventlog_GetLogInformation, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_GetLogInformation, - (ndr_print_function_t) ndr_print_eventlog_GetLogInformation, - false, - }, - { - "eventlog_FlushEventLog", - sizeof(struct eventlog_FlushEventLog), - (ndr_push_flags_fn_t) ndr_push_eventlog_FlushEventLog, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_FlushEventLog, - (ndr_print_function_t) ndr_print_eventlog_FlushEventLog, - false, - }, - { - "eventlog_ReportEventAndSourceW", - sizeof(struct eventlog_ReportEventAndSourceW), - (ndr_push_flags_fn_t) ndr_push_eventlog_ReportEventAndSourceW, - (ndr_pull_flags_fn_t) ndr_pull_eventlog_ReportEventAndSourceW, - (ndr_print_function_t) ndr_print_eventlog_ReportEventAndSourceW, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const eventlog_endpoint_strings[] = { - "ncacn_np:[\\pipe\\eventlog]", -}; - -static const struct ndr_interface_string_array eventlog_endpoints = { - .count = 1, - .names = eventlog_endpoint_strings -}; - -static const char * const eventlog_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array eventlog_authservices = { - .count = 1, - .names = eventlog_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_eventlog = { - .name = "eventlog", - .syntax_id = { - {0x82273fdc,0xe32a,0x18c3,{0x3f,0x78},{0x82,0x79,0x29,0xdc,0x23,0xea}}, - NDR_EVENTLOG_VERSION - }, - .helpstring = NDR_EVENTLOG_HELPSTRING, - .num_calls = 25, - .calls = eventlog_calls, - .endpoints = &eventlog_endpoints, - .authservices = &eventlog_authservices -}; - diff --git a/librpc/gen_ndr/ndr_eventlog.h b/librpc/gen_ndr/ndr_eventlog.h deleted file mode 100644 index 6f0d2e0149f..00000000000 --- a/librpc/gen_ndr/ndr_eventlog.h +++ /dev/null @@ -1,115 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/eventlog.h" - -#ifndef _HEADER_NDR_eventlog -#define _HEADER_NDR_eventlog - -#define NDR_EVENTLOG_UUID "82273fdc-e32a-18c3-3f78-827929dc23ea" -#define NDR_EVENTLOG_VERSION 0.0 -#define NDR_EVENTLOG_NAME "eventlog" -#define NDR_EVENTLOG_HELPSTRING "Event Logger" -extern const struct ndr_interface_table ndr_table_eventlog; -#define NDR_EVENTLOG_CLEAREVENTLOGW (0x00) - -#define NDR_EVENTLOG_BACKUPEVENTLOGW (0x01) - -#define NDR_EVENTLOG_CLOSEEVENTLOG (0x02) - -#define NDR_EVENTLOG_DEREGISTEREVENTSOURCE (0x03) - -#define NDR_EVENTLOG_GETNUMRECORDS (0x04) - -#define NDR_EVENTLOG_GETOLDESTRECORD (0x05) - -#define NDR_EVENTLOG_CHANGENOTIFY (0x06) - -#define NDR_EVENTLOG_OPENEVENTLOGW (0x07) - -#define NDR_EVENTLOG_REGISTEREVENTSOURCEW (0x08) - -#define NDR_EVENTLOG_OPENBACKUPEVENTLOGW (0x09) - -#define NDR_EVENTLOG_READEVENTLOGW (0x0a) - -#define NDR_EVENTLOG_REPORTEVENTW (0x0b) - -#define NDR_EVENTLOG_CLEAREVENTLOGA (0x0c) - -#define NDR_EVENTLOG_BACKUPEVENTLOGA (0x0d) - -#define NDR_EVENTLOG_OPENEVENTLOGA (0x0e) - -#define NDR_EVENTLOG_REGISTEREVENTSOURCEA (0x0f) - -#define NDR_EVENTLOG_OPENBACKUPEVENTLOGA (0x10) - -#define NDR_EVENTLOG_READEVENTLOGA (0x11) - -#define NDR_EVENTLOG_REPORTEVENTA (0x12) - -#define NDR_EVENTLOG_REGISTERCLUSTERSVC (0x13) - -#define NDR_EVENTLOG_DEREGISTERCLUSTERSVC (0x14) - -#define NDR_EVENTLOG_WRITECLUSTEREVENTS (0x15) - -#define NDR_EVENTLOG_GETLOGINFORMATION (0x16) - -#define NDR_EVENTLOG_FLUSHEVENTLOG (0x17) - -#define NDR_EVENTLOG_REPORTEVENTANDSOURCEW (0x18) - -#define NDR_EVENTLOG_CALL_COUNT (25) -void ndr_print_eventlogReadFlags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_eventlogEventTypes(struct ndr_push *ndr, int ndr_flags, enum eventlogEventTypes r); -enum ndr_err_code ndr_pull_eventlogEventTypes(struct ndr_pull *ndr, int ndr_flags, enum eventlogEventTypes *r); -void ndr_print_eventlogEventTypes(struct ndr_print *ndr, const char *name, enum eventlogEventTypes r); -void ndr_print_eventlog_OpenUnknown0(struct ndr_print *ndr, const char *name, const struct eventlog_OpenUnknown0 *r); -enum ndr_err_code ndr_push_eventlog_Record_tdb(struct ndr_push *ndr, int ndr_flags, const struct eventlog_Record_tdb *r); -enum ndr_err_code ndr_pull_eventlog_Record_tdb(struct ndr_pull *ndr, int ndr_flags, struct eventlog_Record_tdb *r); -void ndr_print_eventlog_Record_tdb(struct ndr_print *ndr, const char *name, const struct eventlog_Record_tdb *r); -void ndr_print_EVENTLOG_HEADER_FLAGS(struct ndr_print *ndr, const char *name, enum EVENTLOG_HEADER_FLAGS r); -enum ndr_err_code ndr_push_EVENTLOGHEADER(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOGHEADER *r); -enum ndr_err_code ndr_pull_EVENTLOGHEADER(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOGHEADER *r); -void ndr_print_EVENTLOGHEADER(struct ndr_print *ndr, const char *name, const struct EVENTLOGHEADER *r); -enum ndr_err_code ndr_push_EVENTLOGRECORD(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOGRECORD *r); -enum ndr_err_code ndr_pull_EVENTLOGRECORD(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOGRECORD *r); -void ndr_print_EVENTLOGRECORD(struct ndr_print *ndr, const char *name, const struct EVENTLOGRECORD *r); -size_t ndr_size_EVENTLOGRECORD(const struct EVENTLOGRECORD *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_EVENTLOGEOF(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOGEOF *r); -enum ndr_err_code ndr_pull_EVENTLOGEOF(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOGEOF *r); -void ndr_print_EVENTLOGEOF(struct ndr_print *ndr, const char *name, const struct EVENTLOGEOF *r); -enum ndr_err_code ndr_push_EVENTLOG_EVT_FILE(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOG_EVT_FILE *r); -enum ndr_err_code ndr_pull_EVENTLOG_EVT_FILE(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOG_EVT_FILE *r); -void ndr_print_EVENTLOG_EVT_FILE(struct ndr_print *ndr, const char *name, const struct EVENTLOG_EVT_FILE *r); -enum ndr_err_code ndr_push_EVENTLOG_FULL_INFORMATION(struct ndr_push *ndr, int ndr_flags, const struct EVENTLOG_FULL_INFORMATION *r); -enum ndr_err_code ndr_pull_EVENTLOG_FULL_INFORMATION(struct ndr_pull *ndr, int ndr_flags, struct EVENTLOG_FULL_INFORMATION *r); -void ndr_print_EVENTLOG_FULL_INFORMATION(struct ndr_print *ndr, const char *name, const struct EVENTLOG_FULL_INFORMATION *r); -void ndr_print_eventlog_ClearEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ClearEventLogW *r); -void ndr_print_eventlog_BackupEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_BackupEventLogW *r); -void ndr_print_eventlog_CloseEventLog(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_CloseEventLog *r); -void ndr_print_eventlog_DeregisterEventSource(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_DeregisterEventSource *r); -void ndr_print_eventlog_GetNumRecords(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetNumRecords *r); -void ndr_print_eventlog_GetOldestRecord(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetOldestRecord *r); -void ndr_print_eventlog_ChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ChangeNotify *r); -void ndr_print_eventlog_OpenEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenEventLogW *r); -void ndr_print_eventlog_RegisterEventSourceW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_RegisterEventSourceW *r); -void ndr_print_eventlog_OpenBackupEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenBackupEventLogW *r); -void ndr_print_eventlog_ReadEventLogW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReadEventLogW *r); -void ndr_print_eventlog_ReportEventW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventW *r); -void ndr_print_eventlog_ClearEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ClearEventLogA *r); -void ndr_print_eventlog_BackupEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_BackupEventLogA *r); -void ndr_print_eventlog_OpenEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenEventLogA *r); -void ndr_print_eventlog_RegisterEventSourceA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_RegisterEventSourceA *r); -void ndr_print_eventlog_OpenBackupEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_OpenBackupEventLogA *r); -void ndr_print_eventlog_ReadEventLogA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReadEventLogA *r); -void ndr_print_eventlog_ReportEventA(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventA *r); -void ndr_print_eventlog_RegisterClusterSvc(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_RegisterClusterSvc *r); -void ndr_print_eventlog_DeregisterClusterSvc(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_DeregisterClusterSvc *r); -void ndr_print_eventlog_WriteClusterEvents(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_WriteClusterEvents *r); -void ndr_print_eventlog_GetLogInformation(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetLogInformation *r); -void ndr_print_eventlog_FlushEventLog(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_FlushEventLog *r); -void ndr_print_eventlog_ReportEventAndSourceW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventAndSourceW *r); -#endif /* _HEADER_NDR_eventlog */ diff --git a/librpc/gen_ndr/ndr_initshutdown.c b/librpc/gen_ndr/ndr_initshutdown.c deleted file mode 100644 index 718f79cf6a6..00000000000 --- a/librpc/gen_ndr/ndr_initshutdown.c +++ /dev/null @@ -1,330 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_initshutdown.h" - -#include "librpc/gen_ndr/ndr_lsa.h" -static enum ndr_err_code ndr_push_initshutdown_Init(struct ndr_push *ndr, int flags, const struct initshutdown_Init *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname)); - if (r->in.hostname) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message)); - if (r->in.message) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_initshutdown_Init(struct ndr_pull *ndr, int flags, struct initshutdown_Init *r) -{ - uint32_t _ptr_hostname; - uint32_t _ptr_message; - TALLOC_CTX *_mem_save_hostname_0; - TALLOC_CTX *_mem_save_message_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname)); - if (_ptr_hostname) { - NDR_PULL_ALLOC(ndr, r->in.hostname); - } else { - r->in.hostname = NULL; - } - if (r->in.hostname) { - _mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message)); - if (_ptr_message) { - NDR_PULL_ALLOC(ndr, r->in.message); - } else { - r->in.message = NULL; - } - if (r->in.message) { - _mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_initshutdown_Init(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_Init *r) -{ - ndr_print_struct(ndr, name, "initshutdown_Init"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "initshutdown_Init"); - ndr->depth++; - ndr_print_ptr(ndr, "hostname", r->in.hostname); - ndr->depth++; - if (r->in.hostname) { - ndr_print_uint16(ndr, "hostname", *r->in.hostname); - } - ndr->depth--; - ndr_print_ptr(ndr, "message", r->in.message); - ndr->depth++; - if (r->in.message) { - ndr_print_lsa_StringLarge(ndr, "message", r->in.message); - } - ndr->depth--; - ndr_print_uint32(ndr, "timeout", r->in.timeout); - ndr_print_uint8(ndr, "force_apps", r->in.force_apps); - ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "initshutdown_Init"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_initshutdown_Abort(struct ndr_push *ndr, int flags, const struct initshutdown_Abort *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.server)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_initshutdown_Abort(struct ndr_pull *ndr, int flags, struct initshutdown_Abort *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.server)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_initshutdown_Abort(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_Abort *r) -{ - ndr_print_struct(ndr, name, "initshutdown_Abort"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "initshutdown_Abort"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_uint16(ndr, "server", *r->in.server); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "initshutdown_Abort"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_initshutdown_InitEx(struct ndr_push *ndr, int flags, const struct initshutdown_InitEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname)); - if (r->in.hostname) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message)); - if (r->in.message) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reason)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_initshutdown_InitEx(struct ndr_pull *ndr, int flags, struct initshutdown_InitEx *r) -{ - uint32_t _ptr_hostname; - uint32_t _ptr_message; - TALLOC_CTX *_mem_save_hostname_0; - TALLOC_CTX *_mem_save_message_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname)); - if (_ptr_hostname) { - NDR_PULL_ALLOC(ndr, r->in.hostname); - } else { - r->in.hostname = NULL; - } - if (r->in.hostname) { - _mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message)); - if (_ptr_message) { - NDR_PULL_ALLOC(ndr, r->in.message); - } else { - r->in.message = NULL; - } - if (r->in.message) { - _mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reason)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_initshutdown_InitEx(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_InitEx *r) -{ - ndr_print_struct(ndr, name, "initshutdown_InitEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "initshutdown_InitEx"); - ndr->depth++; - ndr_print_ptr(ndr, "hostname", r->in.hostname); - ndr->depth++; - if (r->in.hostname) { - ndr_print_uint16(ndr, "hostname", *r->in.hostname); - } - ndr->depth--; - ndr_print_ptr(ndr, "message", r->in.message); - ndr->depth++; - if (r->in.message) { - ndr_print_lsa_StringLarge(ndr, "message", r->in.message); - } - ndr->depth--; - ndr_print_uint32(ndr, "timeout", r->in.timeout); - ndr_print_uint8(ndr, "force_apps", r->in.force_apps); - ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot); - ndr_print_uint32(ndr, "reason", r->in.reason); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "initshutdown_InitEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call initshutdown_calls[] = { - { - "initshutdown_Init", - sizeof(struct initshutdown_Init), - (ndr_push_flags_fn_t) ndr_push_initshutdown_Init, - (ndr_pull_flags_fn_t) ndr_pull_initshutdown_Init, - (ndr_print_function_t) ndr_print_initshutdown_Init, - false, - }, - { - "initshutdown_Abort", - sizeof(struct initshutdown_Abort), - (ndr_push_flags_fn_t) ndr_push_initshutdown_Abort, - (ndr_pull_flags_fn_t) ndr_pull_initshutdown_Abort, - (ndr_print_function_t) ndr_print_initshutdown_Abort, - false, - }, - { - "initshutdown_InitEx", - sizeof(struct initshutdown_InitEx), - (ndr_push_flags_fn_t) ndr_push_initshutdown_InitEx, - (ndr_pull_flags_fn_t) ndr_pull_initshutdown_InitEx, - (ndr_print_function_t) ndr_print_initshutdown_InitEx, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const initshutdown_endpoint_strings[] = { - "ncacn_np:[\\pipe\\InitShutdown]", -}; - -static const struct ndr_interface_string_array initshutdown_endpoints = { - .count = 1, - .names = initshutdown_endpoint_strings -}; - -static const char * const initshutdown_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array initshutdown_authservices = { - .count = 1, - .names = initshutdown_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_initshutdown = { - .name = "initshutdown", - .syntax_id = { - {0x894de0c0,0x0d55,0x11d3,{0xa3,0x22},{0x00,0xc0,0x4f,0xa3,0x21,0xa1}}, - NDR_INITSHUTDOWN_VERSION - }, - .helpstring = NDR_INITSHUTDOWN_HELPSTRING, - .num_calls = 3, - .calls = initshutdown_calls, - .endpoints = &initshutdown_endpoints, - .authservices = &initshutdown_authservices -}; - diff --git a/librpc/gen_ndr/ndr_initshutdown.h b/librpc/gen_ndr/ndr_initshutdown.h deleted file mode 100644 index c3f2f702800..00000000000 --- a/librpc/gen_ndr/ndr_initshutdown.h +++ /dev/null @@ -1,24 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/initshutdown.h" - -#ifndef _HEADER_NDR_initshutdown -#define _HEADER_NDR_initshutdown - -#define NDR_INITSHUTDOWN_UUID "894de0c0-0d55-11d3-a322-00c04fa321a1" -#define NDR_INITSHUTDOWN_VERSION 1.0 -#define NDR_INITSHUTDOWN_NAME "initshutdown" -#define NDR_INITSHUTDOWN_HELPSTRING "Init shutdown service" -extern const struct ndr_interface_table ndr_table_initshutdown; -#define NDR_INITSHUTDOWN_INIT (0x00) - -#define NDR_INITSHUTDOWN_ABORT (0x01) - -#define NDR_INITSHUTDOWN_INITEX (0x02) - -#define NDR_INITSHUTDOWN_CALL_COUNT (3) -void ndr_print_initshutdown_Init(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_Init *r); -void ndr_print_initshutdown_Abort(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_Abort *r); -void ndr_print_initshutdown_InitEx(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_InitEx *r); -#endif /* _HEADER_NDR_initshutdown */ diff --git a/librpc/gen_ndr/ndr_krb5pac.c b/librpc/gen_ndr/ndr_krb5pac.c deleted file mode 100644 index 399106485b6..00000000000 --- a/librpc/gen_ndr/ndr_krb5pac.c +++ /dev/null @@ -1,1010 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_krb5pac.h" - -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_netlogon.h" -#include "librpc/gen_ndr/ndr_samr.h" -static enum ndr_err_code ndr_push_PAC_LOGON_NAME(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_NAME *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->account_name))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, 2 * strlen_m(r->account_name), sizeof(uint8_t), CH_UTF16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PAC_LOGON_NAME(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_NAME *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, r->size, sizeof(uint8_t), CH_UTF16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r) -{ - ndr_print_struct(ndr, name, "PAC_LOGON_NAME"); - ndr->depth++; - ndr_print_NTTIME(ndr, "logon_time", r->logon_time); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->account_name):r->size); - ndr_print_string(ndr, "account_name", r->account_name); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_SIGNATURE_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_SIGNATURE_DATA *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signature)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_SIGNATURE_DATA *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signature)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, const struct PAC_SIGNATURE_DATA *r) -{ - ndr_print_struct(ndr, name, "PAC_SIGNATURE_DATA"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "type", r->type); - ndr_print_DATA_BLOB(ndr, "signature", r->signature); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_PAC_LOGON_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_INFO *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->res_group_dom_sid)); - NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->res_groups)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3)); - if (r->res_group_dom_sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->res_group_dom_sid)); - } - NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->res_groups)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PAC_LOGON_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO *r) -{ - uint32_t _ptr_res_group_dom_sid; - TALLOC_CTX *_mem_save_res_group_dom_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_res_group_dom_sid)); - if (_ptr_res_group_dom_sid) { - NDR_PULL_ALLOC(ndr, r->res_group_dom_sid); - } else { - r->res_group_dom_sid = NULL; - } - NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->res_groups)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3)); - if (r->res_group_dom_sid) { - _mem_save_res_group_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->res_group_dom_sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->res_group_dom_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_group_dom_sid_0, 0); - } - NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->res_groups)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_LOGON_INFO(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO *r) -{ - ndr_print_struct(ndr, name, "PAC_LOGON_INFO"); - ndr->depth++; - ndr_print_netr_SamInfo3(ndr, "info3", &r->info3); - ndr_print_ptr(ndr, "res_group_dom_sid", r->res_group_dom_sid); - ndr->depth++; - if (r->res_group_dom_sid) { - ndr_print_dom_sid2(ndr, "res_group_dom_sid", r->res_group_dom_sid); - } - ndr->depth--; - ndr_print_samr_RidWithAttributeArray(ndr, "res_groups", &r->res_groups); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_LOGON_INFO_CTR(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_INFO_CTR *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_LOGON_INFO_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO_CTR *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_info_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->info); - } else { - r->info = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO_CTR *r) -{ - ndr_print_struct(ndr, name, "PAC_LOGON_INFO_CTR"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->info); - ndr->depth++; - if (r->info) { - ndr_print_PAC_LOGON_INFO(ndr, "info", r->info); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, int ndr_flags, enum PAC_TYPE r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, int ndr_flags, enum PAC_TYPE *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r) -{ - const char *val = NULL; - - switch (r) { - case PAC_TYPE_LOGON_INFO: val = "PAC_TYPE_LOGON_INFO"; break; - case PAC_TYPE_SRV_CHECKSUM: val = "PAC_TYPE_SRV_CHECKSUM"; break; - case PAC_TYPE_KDC_CHECKSUM: val = "PAC_TYPE_KDC_CHECKSUM"; break; - case PAC_TYPE_LOGON_NAME: val = "PAC_TYPE_LOGON_NAME"; break; - case PAC_TYPE_CONSTRAINED_DELEGATION: val = "PAC_TYPE_CONSTRAINED_DELEGATION"; break; - case PAC_TYPE_UNKNOWN_12: val = "PAC_TYPE_UNKNOWN_12"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_DATA_BLOB_REM(struct ndr_push *ndr, int ndr_flags, const struct DATA_BLOB_REM *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DATA_BLOB_REM(struct ndr_pull *ndr, int ndr_flags, struct DATA_BLOB_REM *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r) -{ - ndr_print_struct(ndr, name, "DATA_BLOB_REM"); - ndr->depth++; - ndr_print_DATA_BLOB(ndr, "remaining", r->remaining); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, int ndr_flags, const union PAC_INFO *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case PAC_TYPE_LOGON_INFO: { - { - struct ndr_push *_ndr_logon_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1)); - } - break; } - - case PAC_TYPE_SRV_CHECKSUM: { - NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum)); - break; } - - case PAC_TYPE_KDC_CHECKSUM: { - NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum)); - break; } - - case PAC_TYPE_LOGON_NAME: { - NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name)); - break; } - - default: { - { - struct ndr_push *_ndr_unknown; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_unknown, 0, -1)); - NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_unknown, 0, -1)); - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case PAC_TYPE_LOGON_INFO: - break; - - case PAC_TYPE_SRV_CHECKSUM: - break; - - case PAC_TYPE_KDC_CHECKSUM: - break; - - case PAC_TYPE_LOGON_NAME: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, int ndr_flags, union PAC_INFO *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case PAC_TYPE_LOGON_INFO: { - { - struct ndr_pull *_ndr_logon_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1)); - NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1)); - } - break; } - - case PAC_TYPE_SRV_CHECKSUM: { - NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum)); - break; } - - case PAC_TYPE_KDC_CHECKSUM: { - NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum)); - break; } - - case PAC_TYPE_LOGON_NAME: { - NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name)); - break; } - - default: { - { - struct ndr_pull *_ndr_unknown; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_unknown, 0, -1)); - NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_unknown, 0, -1)); - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case PAC_TYPE_LOGON_INFO: - break; - - case PAC_TYPE_SRV_CHECKSUM: - break; - - case PAC_TYPE_KDC_CHECKSUM: - break; - - case PAC_TYPE_LOGON_NAME: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "PAC_INFO"); - switch (level) { - case PAC_TYPE_LOGON_INFO: - ndr_print_PAC_LOGON_INFO_CTR(ndr, "logon_info", &r->logon_info); - break; - - case PAC_TYPE_SRV_CHECKSUM: - ndr_print_PAC_SIGNATURE_DATA(ndr, "srv_cksum", &r->srv_cksum); - break; - - case PAC_TYPE_KDC_CHECKSUM: - ndr_print_PAC_SIGNATURE_DATA(ndr, "kdc_cksum", &r->kdc_cksum); - break; - - case PAC_TYPE_LOGON_NAME: - ndr_print_PAC_LOGON_NAME(ndr, "logon_name", &r->logon_name); - break; - - default: - ndr_print_DATA_BLOB_REM(ndr, "unknown", &r->unknown); - break; - - } -} - -_PUBLIC_ size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_PAC_INFO, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA *r) -{ - uint32_t cntr_buffers_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r) -{ - uint32_t cntr_buffers_0; - TALLOC_CTX *_mem_save_buffers_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_PULL_ALLOC_N(ndr, r->buffers, r->num_buffers); - _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0); - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0); - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r) -{ - uint32_t cntr_buffers_0; - ndr_print_struct(ndr, name, "PAC_DATA"); - ndr->depth++; - ndr_print_uint32(ndr, "num_buffers", r->num_buffers); - ndr_print_uint32(ndr, "version", r->version); - ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers); - ndr->depth++; - for (cntr_buffers_0=0;cntr_buffers_0num_buffers;cntr_buffers_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_buffers_0) != -1) { - ndr_print_PAC_BUFFER(ndr, "buffers", &r->buffers[cntr_buffers_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER_RAW *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ndr_size)); - { - uint32_t _flags_save_DATA_BLOB_REM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->info)); - ndr->flags = _flags_save_DATA_BLOB_REM; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_DATA_BLOB_REM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - if (r->info) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info)); - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8))); - NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info)); - } - ndr->flags = _flags_save_DATA_BLOB_REM; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER_RAW *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_info_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_PAC_TYPE(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ndr_size)); - { - uint32_t _flags_save_DATA_BLOB_REM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->info); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->info, _ptr_info)); - } else { - r->info = NULL; - } - ndr->flags = _flags_save_DATA_BLOB_REM; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_DATA_BLOB_REM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); - if (r->info) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->info)); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8))); - NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8))); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_DATA_BLOB_REM; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r) -{ - ndr_print_struct(ndr, name, "PAC_BUFFER_RAW"); - ndr->depth++; - ndr_print_PAC_TYPE(ndr, "type", r->type); - ndr_print_uint32(ndr, "ndr_size", r->ndr_size); - ndr_print_ptr(ndr, "info", r->info); - ndr->depth++; - if (r->info) { - ndr_print_DATA_BLOB_REM(ndr, "info", r->info); - } - ndr->depth--; - ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA_RAW *r) -{ - uint32_t cntr_buffers_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r) -{ - uint32_t cntr_buffers_0; - TALLOC_CTX *_mem_save_buffers_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_PULL_ALLOC_N(ndr, r->buffers, r->num_buffers); - _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0); - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0); - for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) { - NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r) -{ - uint32_t cntr_buffers_0; - ndr_print_struct(ndr, name, "PAC_DATA_RAW"); - ndr->depth++; - ndr_print_uint32(ndr, "num_buffers", r->num_buffers); - ndr_print_uint32(ndr, "version", r->version); - ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers); - ndr->depth++; - for (cntr_buffers_0=0;cntr_buffers_0num_buffers;cntr_buffers_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_buffers_0) != -1) { - ndr_print_PAC_BUFFER_RAW(ndr, "buffers", &r->buffers[cntr_buffers_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, int ndr_flags, const struct PAC_Validate *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NETLOGON_GENERIC_KRB5_PAC_VALIDATE)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChecksumLength)); - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->SignatureType)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SignatureLength)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ChecksumAndSignature)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, int ndr_flags, struct PAC_Validate *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MessageType)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChecksumLength)); - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->SignatureType)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SignatureLength)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ChecksumAndSignature)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r) -{ - ndr_print_struct(ndr, name, "PAC_Validate"); - ndr->depth++; - ndr_print_uint32(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE:r->MessageType); - ndr_print_uint32(ndr, "ChecksumLength", r->ChecksumLength); - ndr_print_int32(ndr, "SignatureType", r->SignatureType); - ndr_print_uint32(ndr, "SignatureLength", r->SignatureLength); - ndr_print_DATA_BLOB(ndr, "ChecksumAndSignature", r->ChecksumAndSignature); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, int ndr_flags, const struct netsamlogoncache_entry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp)); - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, int ndr_flags, struct netsamlogoncache_entry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp)); - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r) -{ - ndr_print_struct(ndr, name, "netsamlogoncache_entry"); - ndr->depth++; - ndr_print_time_t(ndr, "timestamp", r->timestamp); - ndr_print_netr_SamInfo3(ndr, "info3", &r->info3); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_pac(struct ndr_push *ndr, int flags, const struct decode_pac *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_PAC_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_pac(struct ndr_pull *ndr, int flags, struct decode_pac *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_PAC_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_pac(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac *r) -{ - ndr_print_struct(ndr, name, "decode_pac"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_pac"); - ndr->depth++; - ndr_print_PAC_DATA(ndr, "pac", &r->in.pac); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_pac"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_pac_raw(struct ndr_push *ndr, int flags, const struct decode_pac_raw *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_PAC_DATA_RAW(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_pac_raw(struct ndr_pull *ndr, int flags, struct decode_pac_raw *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_PAC_DATA_RAW(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_pac_raw(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac_raw *r) -{ - ndr_print_struct(ndr, name, "decode_pac_raw"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_pac_raw"); - ndr->depth++; - ndr_print_PAC_DATA_RAW(ndr, "pac", &r->in.pac); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_pac_raw"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_login_info(struct ndr_push *ndr, int flags, const struct decode_login_info *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon_info)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_login_info(struct ndr_pull *ndr, int flags, struct decode_login_info *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon_info)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_login_info(struct ndr_print *ndr, const char *name, int flags, const struct decode_login_info *r) -{ - ndr_print_struct(ndr, name, "decode_login_info"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_login_info"); - ndr->depth++; - ndr_print_PAC_LOGON_INFO(ndr, "logon_info", &r->in.logon_info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_login_info"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_pac_validate(struct ndr_push *ndr, int flags, const struct decode_pac_validate *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_PAC_Validate(ndr, NDR_SCALARS, &r->in.pac_validate)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_pac_validate(struct ndr_pull *ndr, int flags, struct decode_pac_validate *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_PAC_Validate(ndr, NDR_SCALARS, &r->in.pac_validate)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_pac_validate(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac_validate *r) -{ - ndr_print_struct(ndr, name, "decode_pac_validate"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_pac_validate"); - ndr->depth++; - ndr_print_PAC_Validate(ndr, "pac_validate", &r->in.pac_validate); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_pac_validate"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call krb5pac_calls[] = { - { - "decode_pac", - sizeof(struct decode_pac), - (ndr_push_flags_fn_t) ndr_push_decode_pac, - (ndr_pull_flags_fn_t) ndr_pull_decode_pac, - (ndr_print_function_t) ndr_print_decode_pac, - false, - }, - { - "decode_pac_raw", - sizeof(struct decode_pac_raw), - (ndr_push_flags_fn_t) ndr_push_decode_pac_raw, - (ndr_pull_flags_fn_t) ndr_pull_decode_pac_raw, - (ndr_print_function_t) ndr_print_decode_pac_raw, - false, - }, - { - "decode_login_info", - sizeof(struct decode_login_info), - (ndr_push_flags_fn_t) ndr_push_decode_login_info, - (ndr_pull_flags_fn_t) ndr_pull_decode_login_info, - (ndr_print_function_t) ndr_print_decode_login_info, - false, - }, - { - "decode_pac_validate", - sizeof(struct decode_pac_validate), - (ndr_push_flags_fn_t) ndr_push_decode_pac_validate, - (ndr_pull_flags_fn_t) ndr_pull_decode_pac_validate, - (ndr_print_function_t) ndr_print_decode_pac_validate, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const krb5pac_endpoint_strings[] = { - "ncacn_np:[\\pipe\\krb5pac]", -}; - -static const struct ndr_interface_string_array krb5pac_endpoints = { - .count = 1, - .names = krb5pac_endpoint_strings -}; - -static const char * const krb5pac_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array krb5pac_authservices = { - .count = 1, - .names = krb5pac_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_krb5pac = { - .name = "krb5pac", - .syntax_id = { - {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}}, - NDR_KRB5PAC_VERSION - }, - .helpstring = NDR_KRB5PAC_HELPSTRING, - .num_calls = 4, - .calls = krb5pac_calls, - .endpoints = &krb5pac_endpoints, - .authservices = &krb5pac_authservices -}; - diff --git a/librpc/gen_ndr/ndr_krb5pac.h b/librpc/gen_ndr/ndr_krb5pac.h deleted file mode 100644 index 072468ba5de..00000000000 --- a/librpc/gen_ndr/ndr_krb5pac.h +++ /dev/null @@ -1,61 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/krb5pac.h" - -#ifndef _HEADER_NDR_krb5pac -#define _HEADER_NDR_krb5pac - -#define NDR_KRB5PAC_UUID "12345778-1234-abcd-0000-00000000" -#define NDR_KRB5PAC_VERSION 0.0 -#define NDR_KRB5PAC_NAME "krb5pac" -#define NDR_KRB5PAC_HELPSTRING "Active Directory KRB5 PAC" -extern const struct ndr_interface_table ndr_table_krb5pac; -#define NDR_DECODE_PAC (0x00) - -#define NDR_DECODE_PAC_RAW (0x01) - -#define NDR_DECODE_LOGIN_INFO (0x02) - -#define NDR_DECODE_PAC_VALIDATE (0x03) - -#define NDR_KRB5PAC_CALL_COUNT (4) -void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r); -enum ndr_err_code ndr_push_PAC_SIGNATURE_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_SIGNATURE_DATA *r); -enum ndr_err_code ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_SIGNATURE_DATA *r); -void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, const struct PAC_SIGNATURE_DATA *r); -void ndr_print_PAC_LOGON_INFO(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO *r); -enum ndr_err_code ndr_push_PAC_LOGON_INFO_CTR(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_INFO_CTR *r); -enum ndr_err_code ndr_pull_PAC_LOGON_INFO_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO_CTR *r); -void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO_CTR *r); -enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, int ndr_flags, enum PAC_TYPE r); -enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, int ndr_flags, enum PAC_TYPE *r); -void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r); -void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r); -enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, int ndr_flags, const union PAC_INFO *r); -enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, int ndr_flags, union PAC_INFO *r); -void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r); -size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_PAC_BUFFER(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER *r); -enum ndr_err_code ndr_pull_PAC_BUFFER(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER *r); -void ndr_print_PAC_BUFFER(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER *r); -enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA *r); -enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r); -void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r); -enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER_RAW *r); -enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER_RAW *r); -void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r); -enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA_RAW *r); -enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r); -void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r); -enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, int ndr_flags, const struct PAC_Validate *r); -enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, int ndr_flags, struct PAC_Validate *r); -void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r); -enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, int ndr_flags, const struct netsamlogoncache_entry *r); -enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, int ndr_flags, struct netsamlogoncache_entry *r); -void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r); -void ndr_print_decode_pac(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac *r); -void ndr_print_decode_pac_raw(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac_raw *r); -void ndr_print_decode_login_info(struct ndr_print *ndr, const char *name, int flags, const struct decode_login_info *r); -void ndr_print_decode_pac_validate(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac_validate *r); -#endif /* _HEADER_NDR_krb5pac */ diff --git a/librpc/gen_ndr/ndr_lsa.c b/librpc/gen_ndr/ndr_lsa.c deleted file mode 100644 index 5ed3e2d082e..00000000000 --- a/librpc/gen_ndr/ndr_lsa.c +++ /dev/null @@ -1,14082 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_lsa.h" - -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_security.h" -_PUBLIC_ enum ndr_err_code ndr_push_lsa_String(struct ndr_push *ndr, int ndr_flags, const struct lsa_String *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_flags, struct lsa_String *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->string)); - if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string)); - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2)); - } - if (r->string) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length / 2)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_String(struct ndr_print *ndr, const char *name, const struct lsa_String *r) -{ - ndr_print_struct(ndr, name, "lsa_String"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_StringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_StringLarge *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string) / 2)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_StringLarge *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->string)); - if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string)); - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2)); - } - if (r->string) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length / 2)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_StringLarge(struct ndr_print *ndr, const char *name, const struct lsa_StringLarge *r) -{ - ndr_print_struct(ndr, name, "lsa_StringLarge"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->string):r->size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_Strings(struct ndr_push *ndr, int ndr_flags, const struct lsa_Strings *r) -{ - uint32_t cntr_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_flags, struct lsa_Strings *r) -{ - uint32_t _ptr_names; - uint32_t cntr_names_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names)); - if (_ptr_names) { - NDR_PULL_ALLOC(ndr, r->names); - } else { - r->names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->names)); - NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names)); - _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - } - if (r->names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_Strings(struct ndr_print *ndr, const char *name, const struct lsa_Strings *r) -{ - uint32_t cntr_names_1; - ndr_print_struct(ndr, name, "lsa_Strings"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "names", r->names); - ndr->depth++; - if (r->names) { - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count); - ndr->depth++; - for (cntr_names_1=0;cntr_names_1count;cntr_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) { - ndr_print_lsa_String(ndr, "names", &r->names[cntr_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiString(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiString *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->string)); - if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string)); - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size)); - } - if (r->string) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AsciiString(struct ndr_print *ndr, const char *name, const struct lsa_AsciiString *r) -{ - ndr_print_struct(ndr, name, "lsa_AsciiString"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiStringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiStringLarge *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->string))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term(r->string))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiStringLarge *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->string)); - if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string)); - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size)); - } - if (r->string) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AsciiStringLarge(struct ndr_print *ndr, const char *name, const struct lsa_AsciiStringLarge *r) -{ - ndr_print_struct(ndr, name, "lsa_AsciiStringLarge"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->string):r->size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct lsa_BinaryString *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length / 2)); - for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct lsa_BinaryString *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->array)); - if (ndr_get_array_length(ndr, &r->array) > ndr_get_array_size(ndr, &r->array)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->array), ndr_get_array_length(ndr, &r->array)); - } - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < ndr_get_array_length(ndr, &r->array); cntr_array_1++) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->size / 2)); - } - if (r->array) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->array, r->length / 2)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_BinaryString(struct ndr_print *ndr, const char *name, const struct lsa_BinaryString *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "lsa_BinaryString"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_uint16(ndr, "size", r->size); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->length / 2); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1length / 2;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_uint16(ndr, "array", r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LUID(struct ndr_push *ndr, int ndr_flags, const struct lsa_LUID *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->low)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LUID(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUID *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->low)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, const struct lsa_LUID *r) -{ - ndr_print_struct(ndr, name, "lsa_LUID"); - ndr->depth++; - ndr_print_uint32(ndr, "low", r->low); - ndr_print_uint32(ndr, "high", r->high); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_PrivEntry(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivEntry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PrivEntry(struct ndr_print *ndr, const char *name, const struct lsa_PrivEntry *r) -{ - ndr_print_struct(ndr, name, "lsa_PrivEntry"); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "name", &r->name); - ndr_print_lsa_LUID(ndr, "luid", &r->luid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_PrivArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivArray *r) -{ - uint32_t cntr_privs_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->privs)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->privs) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) { - NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1])); - } - for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) { - NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r) -{ - uint32_t _ptr_privs; - uint32_t cntr_privs_1; - TALLOC_CTX *_mem_save_privs_0; - TALLOC_CTX *_mem_save_privs_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs)); - if (_ptr_privs) { - NDR_PULL_ALLOC(ndr, r->privs); - } else { - r->privs = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->privs) { - _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->privs)); - NDR_PULL_ALLOC_N(ndr, r->privs, ndr_get_array_size(ndr, &r->privs)); - _mem_save_privs_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0); - for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) { - NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1])); - } - for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) { - NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, 0); - } - if (r->privs) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privs, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, const struct lsa_PrivArray *r) -{ - uint32_t cntr_privs_1; - ndr_print_struct(ndr, name, "lsa_PrivArray"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "privs", r->privs); - ndr->depth++; - if (r->privs) { - ndr->print(ndr, "%s: ARRAY(%d)", "privs", (int)r->count); - ndr->depth++; - for (cntr_privs_1=0;cntr_privs_1count;cntr_privs_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_privs_1) != -1) { - ndr_print_lsa_PrivEntry(ndr, "privs", &r->privs[cntr_privs_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_QosInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->impersonation_level)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->context_mode)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->effective_only)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QosInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_QosInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->len)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->impersonation_level)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->context_mode)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->effective_only)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, const struct lsa_QosInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_QosInfo"); - ndr->depth++; - ndr_print_uint3264(ndr, "len", r->len); - ndr_print_uint16(ndr, "impersonation_level", r->impersonation_level); - ndr_print_uint8(ndr, "context_mode", r->context_mode); - ndr_print_uint8(ndr, "effective_only", r->effective_only); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_ObjectAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->root_dir)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_desc)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_qos)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->root_dir) { - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->root_dir)); - } - if (r->object_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_name, ndr_charset_length(r->object_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->sec_desc) { - NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sec_desc)); - } - if (r->sec_qos) { - NDR_CHECK(ndr_push_lsa_QosInfo(ndr, NDR_SCALARS, r->sec_qos)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_ObjectAttribute *r) -{ - uint32_t _ptr_root_dir; - TALLOC_CTX *_mem_save_root_dir_0; - uint32_t _ptr_object_name; - TALLOC_CTX *_mem_save_object_name_0; - uint32_t _ptr_sec_desc; - TALLOC_CTX *_mem_save_sec_desc_0; - uint32_t _ptr_sec_qos; - TALLOC_CTX *_mem_save_sec_qos_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->len)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_root_dir)); - if (_ptr_root_dir) { - NDR_PULL_ALLOC(ndr, r->root_dir); - } else { - r->root_dir = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_name)); - if (_ptr_object_name) { - NDR_PULL_ALLOC(ndr, r->object_name); - } else { - r->object_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_desc)); - if (_ptr_sec_desc) { - NDR_PULL_ALLOC(ndr, r->sec_desc); - } else { - r->sec_desc = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_qos)); - if (_ptr_sec_qos) { - NDR_PULL_ALLOC(ndr, r->sec_qos); - } else { - r->sec_qos = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->root_dir) { - _mem_save_root_dir_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->root_dir, 0); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->root_dir)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_root_dir_0, 0); - } - if (r->object_name) { - _mem_save_object_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->object_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->object_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->object_name)); - if (ndr_get_array_length(ndr, &r->object_name) > ndr_get_array_size(ndr, &r->object_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_name), ndr_get_array_length(ndr, &r->object_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_name, ndr_get_array_length(ndr, &r->object_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_name_0, 0); - } - if (r->sec_desc) { - _mem_save_sec_desc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sec_desc, 0); - NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sec_desc)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_desc_0, 0); - } - if (r->sec_qos) { - _mem_save_sec_qos_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sec_qos, 0); - NDR_CHECK(ndr_pull_lsa_QosInfo(ndr, NDR_SCALARS, r->sec_qos)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_qos_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *name, const struct lsa_ObjectAttribute *r) -{ - ndr_print_struct(ndr, name, "lsa_ObjectAttribute"); - ndr->depth++; - ndr_print_uint3264(ndr, "len", r->len); - ndr_print_ptr(ndr, "root_dir", r->root_dir); - ndr->depth++; - if (r->root_dir) { - ndr_print_uint8(ndr, "root_dir", *r->root_dir); - } - ndr->depth--; - ndr_print_ptr(ndr, "object_name", r->object_name); - ndr->depth++; - if (r->object_name) { - ndr_print_string(ndr, "object_name", r->object_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "attributes", r->attributes); - ndr_print_ptr(ndr, "sec_desc", r->sec_desc); - ndr->depth++; - if (r->sec_desc) { - ndr_print_security_descriptor(ndr, "sec_desc", r->sec_desc); - } - ndr->depth--; - ndr_print_ptr(ndr, "sec_qos", r->sec_qos); - ndr->depth++; - if (r->sec_qos) { - ndr_print_lsa_QosInfo(ndr, "sec_qos", r->sec_qos); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_PolicyAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_PolicyAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PolicyAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_VIEW_LOCAL_INFORMATION", LSA_POLICY_VIEW_LOCAL_INFORMATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_VIEW_AUDIT_INFORMATION", LSA_POLICY_VIEW_AUDIT_INFORMATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_GET_PRIVATE_INFORMATION", LSA_POLICY_GET_PRIVATE_INFORMATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_TRUST_ADMIN", LSA_POLICY_TRUST_ADMIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_ACCOUNT", LSA_POLICY_CREATE_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_SECRET", LSA_POLICY_CREATE_SECRET, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_PRIVILEGE", LSA_POLICY_CREATE_PRIVILEGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SET_AUDIT_REQUIREMENTS", LSA_POLICY_SET_AUDIT_REQUIREMENTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_AUDIT_LOG_ADMIN", LSA_POLICY_AUDIT_LOG_ADMIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SERVER_ADMIN", LSA_POLICY_SERVER_ADMIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_LOOKUP_NAMES", LSA_POLICY_LOOKUP_NAMES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_NOTIFICATION", LSA_POLICY_NOTIFICATION, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_AccountAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_AccountAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AccountAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_VIEW", LSA_ACCOUNT_VIEW, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_PRIVILEGES", LSA_ACCOUNT_ADJUST_PRIVILEGES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_QUOTAS", LSA_ACCOUNT_ADJUST_QUOTAS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS", LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_SecretAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_SecretAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SecretAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_SECRET_SET_VALUE", LSA_SECRET_SET_VALUE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_SECRET_QUERY_VALUE", LSA_SECRET_QUERY_VALUE, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustedAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustedAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustedAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_DOMAIN_NAME", LSA_TRUSTED_QUERY_DOMAIN_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_CONTROLLERS", LSA_TRUSTED_QUERY_CONTROLLERS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_SET_CONTROLLERS", LSA_TRUSTED_SET_CONTROLLERS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_POSIX", LSA_TRUSTED_QUERY_POSIX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_SET_POSIX", LSA_TRUSTED_SET_POSIX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_SET_AUTH", LSA_TRUSTED_SET_AUTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_AUTH", LSA_TRUSTED_QUERY_AUTH, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_AuditLogInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditLogInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->percent_full)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_log_size)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->retention_time)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_in_progress)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->time_to_shutdown)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_audit_record)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_AuditLogInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditLogInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->percent_full)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_log_size)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->retention_time)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_in_progress)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->time_to_shutdown)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_audit_record)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditLogInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_AuditLogInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "percent_full", r->percent_full); - ndr_print_uint32(ndr, "maximum_log_size", r->maximum_log_size); - ndr_print_hyper(ndr, "retention_time", r->retention_time); - ndr_print_uint8(ndr, "shutdown_in_progress", r->shutdown_in_progress); - ndr_print_hyper(ndr, "time_to_shutdown", r->time_to_shutdown); - ndr_print_uint32(ndr, "next_audit_record", r->next_audit_record); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_PolicyAuditPolicy(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print *ndr, const char *name, enum lsa_PolicyAuditPolicy r) -{ - const char *val = NULL; - - switch (r) { - case LSA_AUDIT_POLICY_NONE: val = "LSA_AUDIT_POLICY_NONE"; break; - case LSA_AUDIT_POLICY_SUCCESS: val = "LSA_AUDIT_POLICY_SUCCESS"; break; - case LSA_AUDIT_POLICY_FAILURE: val = "LSA_AUDIT_POLICY_FAILURE"; break; - case LSA_AUDIT_POLICY_ALL: val = "LSA_AUDIT_POLICY_ALL"; break; - case LSA_AUDIT_POLICY_CLEAR: val = "LSA_AUDIT_POLICY_CLEAR"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditEventsInfo *r) -{ - uint32_t cntr_settings_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auditing_mode)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->settings)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->settings) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) { - NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, r->settings[cntr_settings_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditEventsInfo *r) -{ - uint32_t _ptr_settings; - uint32_t cntr_settings_1; - TALLOC_CTX *_mem_save_settings_0; - TALLOC_CTX *_mem_save_settings_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auditing_mode)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_settings)); - if (_ptr_settings) { - NDR_PULL_ALLOC(ndr, r->settings); - } else { - r->settings = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->settings) { - _mem_save_settings_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->settings)); - NDR_PULL_ALLOC_N(ndr, r->settings, ndr_get_array_size(ndr, &r->settings)); - _mem_save_settings_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0); - for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) { - NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, &r->settings[cntr_settings_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_0, 0); - } - if (r->settings) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->settings, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditEventsInfo *r) -{ - uint32_t cntr_settings_1; - ndr_print_struct(ndr, name, "lsa_AuditEventsInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "auditing_mode", r->auditing_mode); - ndr_print_ptr(ndr, "settings", r->settings); - ndr->depth++; - if (r->settings) { - ndr->print(ndr, "%s: ARRAY(%d)", "settings", (int)r->count); - ndr->depth++; - for (cntr_settings_1=0;cntr_settings_1count;cntr_settings_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_settings_1) != -1) { - ndr_print_lsa_PolicyAuditPolicy(ndr, "settings", r->settings[cntr_settings_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "count", r->count); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name)); - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfo *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name)); - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_DomainInfo"); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "name", &r->name); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_PDAccountInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_PDAccountInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PDAccountInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_PDAccountInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PDAccountInfo(struct ndr_print *ndr, const char *name, const struct lsa_PDAccountInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_PDAccountInfo"); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", &r->name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_Role(struct ndr_push *ndr, int ndr_flags, enum lsa_Role r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_Role(struct ndr_pull *ndr, int ndr_flags, enum lsa_Role *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_Role(struct ndr_print *ndr, const char *name, enum lsa_Role r) -{ - const char *val = NULL; - - switch (r) { - case LSA_ROLE_BACKUP: val = "LSA_ROLE_BACKUP"; break; - case LSA_ROLE_PRIMARY: val = "LSA_ROLE_PRIMARY"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_ServerRole(struct ndr_push *ndr, int ndr_flags, const struct lsa_ServerRole *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_lsa_Role(ndr, NDR_SCALARS, r->role)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ServerRole(struct ndr_pull *ndr, int ndr_flags, struct lsa_ServerRole *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_lsa_Role(ndr, NDR_SCALARS, &r->role)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ServerRole(struct ndr_print *ndr, const char *name, const struct lsa_ServerRole *r) -{ - ndr_print_struct(ndr, name, "lsa_ServerRole"); - ndr->depth++; - ndr_print_lsa_Role(ndr, "role", r->role); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ReplicaSourceInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ReplicaSourceInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->source)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->source)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ReplicaSourceInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->source)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->source)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print *ndr, const char *name, const struct lsa_ReplicaSourceInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_ReplicaSourceInfo"); - ndr->depth++; - ndr_print_lsa_String(ndr, "source", &r->source); - ndr_print_lsa_String(ndr, "account", &r->account); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DefaultQuotaInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DefaultQuotaInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->paged_pool)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->non_paged_pool)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->min_wss)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_wss)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefile)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DefaultQuotaInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->paged_pool)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->non_paged_pool)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->min_wss)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_wss)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefile)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print *ndr, const char *name, const struct lsa_DefaultQuotaInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_DefaultQuotaInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "paged_pool", r->paged_pool); - ndr_print_uint32(ndr, "non_paged_pool", r->non_paged_pool); - ndr_print_uint32(ndr, "min_wss", r->min_wss); - ndr_print_uint32(ndr, "max_wss", r->max_wss); - ndr_print_uint32(ndr, "pagefile", r->pagefile); - ndr_print_hyper(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ModificationInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ModificationInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_id)); - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->db_create_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ModificationInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ModificationInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_id)); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->db_create_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ModificationInfo(struct ndr_print *ndr, const char *name, const struct lsa_ModificationInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_ModificationInfo"); - ndr->depth++; - ndr_print_hyper(ndr, "modified_id", r->modified_id); - ndr_print_NTTIME_hyper(ndr, "db_create_time", r->db_create_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_AuditFullSetInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditFullSetInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditFullSetInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AuditFullSetInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullSetInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_AuditFullSetInfo"); - ndr->depth++; - ndr_print_uint8(ndr, "shutdown_on_full", r->shutdown_on_full); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_AuditFullQueryInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditFullQueryInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->log_is_full)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditFullQueryInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->log_is_full)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullQueryInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_AuditFullQueryInfo"); - ndr->depth++; - ndr_print_uint8(ndr, "shutdown_on_full", r->shutdown_on_full); - ndr_print_uint8(ndr, "log_is_full", r->log_is_full); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DnsDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DnsDomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forest)); - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DnsDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DnsDomainInfo *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forest)); - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DnsDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DnsDomainInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_DnsDomainInfo"); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "name", &r->name); - ndr_print_lsa_StringLarge(ndr, "dns_domain", &r->dns_domain); - ndr_print_lsa_StringLarge(ndr, "dns_forest", &r->dns_forest); - ndr_print_GUID(ndr, "domain_guid", &r->domain_guid); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_PolicyInfo(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyInfo r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PolicyInfo(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyInfo *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PolicyInfo(struct ndr_print *ndr, const char *name, enum lsa_PolicyInfo r) -{ - const char *val = NULL; - - switch (r) { - case LSA_POLICY_INFO_AUDIT_LOG: val = "LSA_POLICY_INFO_AUDIT_LOG"; break; - case LSA_POLICY_INFO_AUDIT_EVENTS: val = "LSA_POLICY_INFO_AUDIT_EVENTS"; break; - case LSA_POLICY_INFO_DOMAIN: val = "LSA_POLICY_INFO_DOMAIN"; break; - case LSA_POLICY_INFO_PD: val = "LSA_POLICY_INFO_PD"; break; - case LSA_POLICY_INFO_ACCOUNT_DOMAIN: val = "LSA_POLICY_INFO_ACCOUNT_DOMAIN"; break; - case LSA_POLICY_INFO_ROLE: val = "LSA_POLICY_INFO_ROLE"; break; - case LSA_POLICY_INFO_REPLICA: val = "LSA_POLICY_INFO_REPLICA"; break; - case LSA_POLICY_INFO_QUOTA: val = "LSA_POLICY_INFO_QUOTA"; break; - case LSA_POLICY_INFO_MOD: val = "LSA_POLICY_INFO_MOD"; break; - case LSA_POLICY_INFO_AUDIT_FULL_SET: val = "LSA_POLICY_INFO_AUDIT_FULL_SET"; break; - case LSA_POLICY_INFO_AUDIT_FULL_QUERY: val = "LSA_POLICY_INFO_AUDIT_FULL_QUERY"; break; - case LSA_POLICY_INFO_DNS: val = "LSA_POLICY_INFO_DNS"; break; - case LSA_POLICY_INFO_DNS_INT: val = "LSA_POLICY_INFO_DNS_INT"; break; - case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: val = "LSA_POLICY_INFO_L_ACCOUNT_DOMAIN"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_PolicyInformation(struct ndr_push *ndr, int ndr_flags, const union lsa_PolicyInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case LSA_POLICY_INFO_AUDIT_LOG: { - NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log)); - break; } - - case LSA_POLICY_INFO_AUDIT_EVENTS: { - NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events)); - break; } - - case LSA_POLICY_INFO_DOMAIN: { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domain)); - break; } - - case LSA_POLICY_INFO_PD: { - NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr, NDR_SCALARS, &r->pd)); - break; } - - case LSA_POLICY_INFO_ACCOUNT_DOMAIN: { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->account_domain)); - break; } - - case LSA_POLICY_INFO_ROLE: { - NDR_CHECK(ndr_push_lsa_ServerRole(ndr, NDR_SCALARS, &r->role)); - break; } - - case LSA_POLICY_INFO_REPLICA: { - NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr, NDR_SCALARS, &r->replica)); - break; } - - case LSA_POLICY_INFO_QUOTA: { - NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr, NDR_SCALARS, &r->quota)); - break; } - - case LSA_POLICY_INFO_MOD: { - NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr, NDR_SCALARS, &r->mod)); - break; } - - case LSA_POLICY_INFO_AUDIT_FULL_SET: { - NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr, NDR_SCALARS, &r->auditfullset)); - break; } - - case LSA_POLICY_INFO_AUDIT_FULL_QUERY: { - NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr, NDR_SCALARS, &r->auditfullquery)); - break; } - - case LSA_POLICY_INFO_DNS: { - NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns)); - break; } - - case LSA_POLICY_INFO_DNS_INT: { - NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns)); - break; } - - case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->l_account_domain)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case LSA_POLICY_INFO_AUDIT_LOG: - break; - - case LSA_POLICY_INFO_AUDIT_EVENTS: - NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events)); - break; - - case LSA_POLICY_INFO_DOMAIN: - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domain)); - break; - - case LSA_POLICY_INFO_PD: - NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr, NDR_BUFFERS, &r->pd)); - break; - - case LSA_POLICY_INFO_ACCOUNT_DOMAIN: - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->account_domain)); - break; - - case LSA_POLICY_INFO_ROLE: - break; - - case LSA_POLICY_INFO_REPLICA: - NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr, NDR_BUFFERS, &r->replica)); - break; - - case LSA_POLICY_INFO_QUOTA: - break; - - case LSA_POLICY_INFO_MOD: - break; - - case LSA_POLICY_INFO_AUDIT_FULL_SET: - break; - - case LSA_POLICY_INFO_AUDIT_FULL_QUERY: - break; - - case LSA_POLICY_INFO_DNS: - NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns)); - break; - - case LSA_POLICY_INFO_DNS_INT: - NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns)); - break; - - case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->l_account_domain)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, int ndr_flags, union lsa_PolicyInformation *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case LSA_POLICY_INFO_AUDIT_LOG: { - NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log)); - break; } - - case LSA_POLICY_INFO_AUDIT_EVENTS: { - NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events)); - break; } - - case LSA_POLICY_INFO_DOMAIN: { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domain)); - break; } - - case LSA_POLICY_INFO_PD: { - NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr, NDR_SCALARS, &r->pd)); - break; } - - case LSA_POLICY_INFO_ACCOUNT_DOMAIN: { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->account_domain)); - break; } - - case LSA_POLICY_INFO_ROLE: { - NDR_CHECK(ndr_pull_lsa_ServerRole(ndr, NDR_SCALARS, &r->role)); - break; } - - case LSA_POLICY_INFO_REPLICA: { - NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr, NDR_SCALARS, &r->replica)); - break; } - - case LSA_POLICY_INFO_QUOTA: { - NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr, NDR_SCALARS, &r->quota)); - break; } - - case LSA_POLICY_INFO_MOD: { - NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr, NDR_SCALARS, &r->mod)); - break; } - - case LSA_POLICY_INFO_AUDIT_FULL_SET: { - NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr, NDR_SCALARS, &r->auditfullset)); - break; } - - case LSA_POLICY_INFO_AUDIT_FULL_QUERY: { - NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr, NDR_SCALARS, &r->auditfullquery)); - break; } - - case LSA_POLICY_INFO_DNS: { - NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns)); - break; } - - case LSA_POLICY_INFO_DNS_INT: { - NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns)); - break; } - - case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->l_account_domain)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case LSA_POLICY_INFO_AUDIT_LOG: - break; - - case LSA_POLICY_INFO_AUDIT_EVENTS: - NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events)); - break; - - case LSA_POLICY_INFO_DOMAIN: - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domain)); - break; - - case LSA_POLICY_INFO_PD: - NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr, NDR_BUFFERS, &r->pd)); - break; - - case LSA_POLICY_INFO_ACCOUNT_DOMAIN: - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->account_domain)); - break; - - case LSA_POLICY_INFO_ROLE: - break; - - case LSA_POLICY_INFO_REPLICA: - NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr, NDR_BUFFERS, &r->replica)); - break; - - case LSA_POLICY_INFO_QUOTA: - break; - - case LSA_POLICY_INFO_MOD: - break; - - case LSA_POLICY_INFO_AUDIT_FULL_SET: - break; - - case LSA_POLICY_INFO_AUDIT_FULL_QUERY: - break; - - case LSA_POLICY_INFO_DNS: - NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns)); - break; - - case LSA_POLICY_INFO_DNS_INT: - NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns)); - break; - - case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->l_account_domain)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char *name, const union lsa_PolicyInformation *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "lsa_PolicyInformation"); - switch (level) { - case LSA_POLICY_INFO_AUDIT_LOG: - ndr_print_lsa_AuditLogInfo(ndr, "audit_log", &r->audit_log); - break; - - case LSA_POLICY_INFO_AUDIT_EVENTS: - ndr_print_lsa_AuditEventsInfo(ndr, "audit_events", &r->audit_events); - break; - - case LSA_POLICY_INFO_DOMAIN: - ndr_print_lsa_DomainInfo(ndr, "domain", &r->domain); - break; - - case LSA_POLICY_INFO_PD: - ndr_print_lsa_PDAccountInfo(ndr, "pd", &r->pd); - break; - - case LSA_POLICY_INFO_ACCOUNT_DOMAIN: - ndr_print_lsa_DomainInfo(ndr, "account_domain", &r->account_domain); - break; - - case LSA_POLICY_INFO_ROLE: - ndr_print_lsa_ServerRole(ndr, "role", &r->role); - break; - - case LSA_POLICY_INFO_REPLICA: - ndr_print_lsa_ReplicaSourceInfo(ndr, "replica", &r->replica); - break; - - case LSA_POLICY_INFO_QUOTA: - ndr_print_lsa_DefaultQuotaInfo(ndr, "quota", &r->quota); - break; - - case LSA_POLICY_INFO_MOD: - ndr_print_lsa_ModificationInfo(ndr, "mod", &r->mod); - break; - - case LSA_POLICY_INFO_AUDIT_FULL_SET: - ndr_print_lsa_AuditFullSetInfo(ndr, "auditfullset", &r->auditfullset); - break; - - case LSA_POLICY_INFO_AUDIT_FULL_QUERY: - ndr_print_lsa_AuditFullQueryInfo(ndr, "auditfullquery", &r->auditfullquery); - break; - - case LSA_POLICY_INFO_DNS: - ndr_print_lsa_DnsDomainInfo(ndr, "dns", &r->dns); - break; - - case LSA_POLICY_INFO_DNS_INT: - ndr_print_lsa_DnsDomainInfo(ndr, "dns", &r->dns); - break; - - case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: - ndr_print_lsa_DomainInfo(ndr, "l_account_domain", &r->l_account_domain); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidPtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidPtr *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SidPtr(struct ndr_print *ndr, const char *name, const struct lsa_SidPtr *r) -{ - ndr_print_struct(ndr, name, "lsa_SidPtr"); - ndr->depth++; - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidArray *r) -{ - uint32_t cntr_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r) -{ - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids)); - if (r->num_sids > 20480) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) { - NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SidArray(struct ndr_print *ndr, const char *name, const struct lsa_SidArray *r) -{ - uint32_t cntr_sids_1; - ndr_print_struct(ndr, name, "lsa_SidArray"); - ndr->depth++; - ndr_print_uint32(ndr, "num_sids", r->num_sids); - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1num_sids;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_lsa_SidPtr(ndr, "sids", &r->sids[cntr_sids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DomainList(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainList *r) -{ - uint32_t cntr_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domains) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1])); - } - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainList *r) -{ - uint32_t _ptr_domains; - uint32_t cntr_domains_1; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, r->domains); - } else { - r->domains = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domains) { - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domains)); - NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains)); - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0); - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1])); - } - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0); - } - if (r->domains) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name, const struct lsa_DomainList *r) -{ - uint32_t cntr_domains_1; - ndr_print_struct(ndr, name, "lsa_DomainList"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "domains", r->domains); - ndr->depth++; - if (r->domains) { - ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count); - ndr->depth++; - for (cntr_domains_1=0;cntr_domains_1count;cntr_domains_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) { - ndr_print_lsa_DomainInfo(ndr, "domains", &r->domains[cntr_domains_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_SidType(struct ndr_push *ndr, int ndr_flags, enum lsa_SidType r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidType(struct ndr_pull *ndr, int ndr_flags, enum lsa_SidType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SidType(struct ndr_print *ndr, const char *name, enum lsa_SidType r) -{ - const char *val = NULL; - - switch (r) { - case SID_NAME_USE_NONE: val = "SID_NAME_USE_NONE"; break; - case SID_NAME_USER: val = "SID_NAME_USER"; break; - case SID_NAME_DOM_GRP: val = "SID_NAME_DOM_GRP"; break; - case SID_NAME_DOMAIN: val = "SID_NAME_DOMAIN"; break; - case SID_NAME_ALIAS: val = "SID_NAME_ALIAS"; break; - case SID_NAME_WKN_GRP: val = "SID_NAME_WKN_GRP"; break; - case SID_NAME_DELETED: val = "SID_NAME_DELETED"; break; - case SID_NAME_INVALID: val = "SID_NAME_INVALID"; break; - case SID_NAME_UNKNOWN: val = "SID_NAME_UNKNOWN"; break; - case SID_NAME_COMPUTER: val = "SID_NAME_COMPUTER"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TranslatedSid(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid *r) -{ - ndr_print_struct(ndr, name, "lsa_TranslatedSid"); - ndr->depth++; - ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "sid_index", r->sid_index); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray *r) -{ - uint32_t cntr_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r) -{ - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TransSidArray(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray *r) -{ - uint32_t cntr_sids_1; - ndr_print_struct(ndr, name, "lsa_TransSidArray"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1count;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_lsa_TranslatedSid(ndr, "sids", &r->sids[cntr_sids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_RefDomainList(struct ndr_push *ndr, int ndr_flags, const struct lsa_RefDomainList *r) -{ - uint32_t cntr_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domains) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1])); - } - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r) -{ - uint32_t _ptr_domains; - uint32_t cntr_domains_1; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, r->domains); - } else { - r->domains = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domains) { - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domains)); - NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains)); - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0); - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1])); - } - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0); - } - if (r->domains) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *name, const struct lsa_RefDomainList *r) -{ - uint32_t cntr_domains_1; - ndr_print_struct(ndr, name, "lsa_RefDomainList"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "domains", r->domains); - ndr->depth++; - if (r->domains) { - ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count); - ndr->depth++; - for (cntr_domains_1=0;cntr_domains_1count;cntr_domains_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) { - ndr_print_lsa_DomainInfo(ndr, "domains", &r->domains[cntr_domains_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "max_size", r->max_size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LookupNamesLevel(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupNamesLevel r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LookupNamesLevel(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupNamesLevel *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupNamesLevel(struct ndr_print *ndr, const char *name, enum lsa_LookupNamesLevel r) -{ - const char *val = NULL; - - switch (r) { - case LSA_LOOKUP_NAMES_ALL: val = "LSA_LOOKUP_NAMES_ALL"; break; - case LSA_LOOKUP_NAMES_DOMAINS_ONLY: val = "LSA_LOOKUP_NAMES_DOMAINS_ONLY"; break; - case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY: val = "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY"; break; - case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY: val = "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY"; break; - case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY: val = "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY"; break; - case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2: val = "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2"; break; - case LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC: val = "LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TranslatedName(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName *r) -{ - ndr_print_struct(ndr, name, "lsa_TranslatedName"); - ndr->depth++; - ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type); - ndr_print_lsa_String(ndr, "name", &r->name); - ndr_print_uint32(ndr, "sid_index", r->sid_index); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransNameArray *r) -{ - uint32_t cntr_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r) -{ - uint32_t _ptr_names; - uint32_t cntr_names_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 20480) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names)); - if (_ptr_names) { - NDR_PULL_ALLOC(ndr, r->names); - } else { - r->names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->names)); - NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names)); - _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - } - if (r->names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TransNameArray(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray *r) -{ - uint32_t cntr_names_1; - ndr_print_struct(ndr, name, "lsa_TransNameArray"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "names", r->names); - ndr->depth++; - if (r->names) { - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count); - ndr->depth++; - for (cntr_names_1=0;cntr_names_1count;cntr_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) { - ndr_print_lsa_TranslatedName(ndr, "names", &r->names[cntr_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LUIDAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_LUIDAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribute)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LUIDAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUIDAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribute)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LUIDAttribute(struct ndr_print *ndr, const char *name, const struct lsa_LUIDAttribute *r) -{ - ndr_print_struct(ndr, name, "lsa_LUIDAttribute"); - ndr->depth++; - ndr_print_lsa_LUID(ndr, "luid", &r->luid); - ndr_print_uint32(ndr, "attribute", r->attribute); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_PrivilegeSet(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivilegeSet *r) -{ - uint32_t cntr_set_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown)); - for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) { - NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivilegeSet *r) -{ - uint32_t cntr_set_0; - TALLOC_CTX *_mem_save_set_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->set)); - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown)); - NDR_PULL_ALLOC_N(ndr, r->set, ndr_get_array_size(ndr, &r->set)); - _mem_save_set_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->set, 0); - for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) { - NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_set_0, 0); - if (r->set) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->set, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, const struct lsa_PrivilegeSet *r) -{ - uint32_t cntr_set_0; - ndr_print_struct(ndr, name, "lsa_PrivilegeSet"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_uint32(ndr, "unknown", r->unknown); - ndr->print(ndr, "%s: ARRAY(%d)", "set", (int)r->count); - ndr->depth++; - for (cntr_set_0=0;cntr_set_0count;cntr_set_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_set_0) != -1) { - ndr_print_lsa_LUIDAttribute(ndr, "set", &r->set[cntr_set_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DATA_BUF(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DATA_BUF(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data)); - if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data)); - } - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size)); - } - if (r->data) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF *r) -{ - ndr_print_struct(ndr, name, "lsa_DATA_BUF"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint3264(ndr, "length", r->length); - ndr_print_uint3264(ndr, "size", r->size); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_lsa_DATA_BUF2(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF2 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF2 *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - if (r->size > 65536) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF2 *r) -{ - ndr_print_struct(ndr, name, "lsa_DATA_BUF2"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->size); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_lsa_TrustDomInfoEnum(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *name, enum lsa_TrustDomInfoEnum r) -{ - const char *val = NULL; - - switch (r) { - case LSA_TRUSTED_DOMAIN_INFO_NAME: val = "LSA_TRUSTED_DOMAIN_INFO_NAME"; break; - case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: val = "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS"; break; - case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: val = "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET"; break; - case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: val = "LSA_TRUSTED_DOMAIN_INFO_PASSWORD"; break; - case LSA_TRUSTED_DOMAIN_INFO_BASIC: val = "LSA_TRUSTED_DOMAIN_INFO_BASIC"; break; - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX"; break; - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: val = "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO"; break; - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO"; break; - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL"; break; - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break; - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break; - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break; - case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: val = "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustDirection(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustDirection(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_DIRECTION_INBOUND", LSA_TRUST_DIRECTION_INBOUND, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_DIRECTION_OUTBOUND", LSA_TRUST_DIRECTION_OUTBOUND, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustType(struct ndr_print *ndr, const char *name, enum lsa_TrustType r) -{ - const char *val = NULL; - - switch (r) { - case LSA_TRUST_TYPE_DOWNLEVEL: val = "LSA_TRUST_TYPE_DOWNLEVEL"; break; - case LSA_TRUST_TYPE_UPLEVEL: val = "LSA_TRUST_TYPE_UPLEVEL"; break; - case LSA_TRUST_TYPE_MIT: val = "LSA_TRUST_TYPE_MIT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE", LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY", LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST", LSA_TRUST_ATTRIBUTE_WITHIN_FOREST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION", LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoName *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoName *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoName(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoName *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoName"); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "netbios_name", &r->netbios_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoControllers(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoControllers *r) -{ - uint32_t cntr_netbios_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries)); - for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1])); - } - for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_names[cntr_netbios_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoControllers *r) -{ - uint32_t _ptr_netbios_names; - uint32_t cntr_netbios_names_1; - TALLOC_CTX *_mem_save_netbios_names_0; - TALLOC_CTX *_mem_save_netbios_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_names)); - if (_ptr_netbios_names) { - NDR_PULL_ALLOC(ndr, r->netbios_names); - } else { - r->netbios_names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_names) { - _mem_save_netbios_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->netbios_names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_names)); - NDR_PULL_ALLOC_N(ndr, r->netbios_names, ndr_get_array_size(ndr, &r->netbios_names)); - _mem_save_netbios_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->netbios_names, 0); - for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1])); - } - for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_names[cntr_netbios_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_names_0, 0); - } - if (r->netbios_names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->netbios_names, r->entries)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoControllers *r) -{ - uint32_t cntr_netbios_names_1; - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoControllers"); - ndr->depth++; - ndr_print_uint32(ndr, "entries", r->entries); - ndr_print_ptr(ndr, "netbios_names", r->netbios_names); - ndr->depth++; - if (r->netbios_names) { - ndr->print(ndr, "%s: ARRAY(%d)", "netbios_names", (int)r->entries); - ndr->depth++; - for (cntr_netbios_names_1=0;cntr_netbios_names_1entries;cntr_netbios_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_netbios_names_1) != -1) { - ndr_print_lsa_StringLarge(ndr, "netbios_names", &r->netbios_names[cntr_netbios_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPosixOffset *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoPosixOffset *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPosixOffset *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoPosixOffset"); - ndr->depth++; - ndr_print_uint32(ndr, "posix_offset", r->posix_offset); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPassword *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->old_password)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->password) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - } - if (r->old_password) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->old_password)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoPassword *r) -{ - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_password_0; - uint32_t _ptr_old_password; - TALLOC_CTX *_mem_save_old_password_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_password)); - if (_ptr_old_password) { - NDR_PULL_ALLOC(ndr, r->old_password); - } else { - r->old_password = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - if (r->old_password) { - _mem_save_old_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->old_password, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->old_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_password_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPassword *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoPassword"); - ndr->depth++; - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_lsa_DATA_BUF(ndr, "password", r->password); - } - ndr->depth--; - ndr_print_ptr(ndr, "old_password", r->old_password); - ndr->depth++; - if (r->old_password) { - ndr_print_lsa_DATA_BUF(ndr, "old_password", r->old_password); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoBasic *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name)); - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoBasic *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name)); - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBasic *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoBasic"); - ndr->depth++; - ndr_print_lsa_String(ndr, "netbios_name", &r->netbios_name); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_lsa_TrustDirection(ndr, NDR_SCALARS, r->trust_direction)); - NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type)); - NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name)); - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoInfoEx *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_lsa_TrustDirection(ndr, NDR_SCALARS, &r->trust_direction)); - NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type)); - NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name)); - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoInfoEx"); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "domain_name", &r->domain_name); - ndr_print_lsa_StringLarge(ndr, "netbios_name", &r->netbios_name); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr_print_lsa_TrustDirection(ndr, "trust_direction", r->trust_direction); - ndr_print_lsa_TrustType(ndr, "trust_type", r->trust_type); - ndr_print_lsa_TrustAttributes(ndr, "trust_attributes", r->trust_attributes); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAuthType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustAuthType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAuthType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustAuthType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustAuthType(struct ndr_print *ndr, const char *name, enum lsa_TrustAuthType r) -{ - const char *val = NULL; - - switch (r) { - case TRUST_AUTH_TYPE_NONE: val = "TRUST_AUTH_TYPE_NONE"; break; - case TRUST_AUTH_TYPE_NT4OWF: val = "TRUST_AUTH_TYPE_NT4OWF"; break; - case TRUST_AUTH_TYPE_CLEAR: val = "TRUST_AUTH_TYPE_CLEAR"; break; - case TRUST_AUTH_TYPE_VERSION: val = "TRUST_AUTH_TYPE_VERSION"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBuffer(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoBuffer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_update_time)); - NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType)); - NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBuffer(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoBuffer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_update_time)); - NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType)); - NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->data)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBuffer *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoBuffer"); - ndr->depth++; - ndr_print_NTTIME_hyper(ndr, "last_update_time", r->last_update_time); - ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType); - ndr_print_lsa_DATA_BUF2(ndr, "data", &r->data); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->incoming_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->incoming_current_auth_info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->incoming_previous_auth_info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->outgoing_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->outgoing_current_auth_info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->outgoing_previous_auth_info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->incoming_current_auth_info) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_current_auth_info)); - } - if (r->incoming_previous_auth_info) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_previous_auth_info)); - } - if (r->outgoing_current_auth_info) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_current_auth_info)); - } - if (r->outgoing_previous_auth_info) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_previous_auth_info)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoAuthInfo *r) -{ - uint32_t _ptr_incoming_current_auth_info; - TALLOC_CTX *_mem_save_incoming_current_auth_info_0; - uint32_t _ptr_incoming_previous_auth_info; - TALLOC_CTX *_mem_save_incoming_previous_auth_info_0; - uint32_t _ptr_outgoing_current_auth_info; - TALLOC_CTX *_mem_save_outgoing_current_auth_info_0; - uint32_t _ptr_outgoing_previous_auth_info; - TALLOC_CTX *_mem_save_outgoing_previous_auth_info_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->incoming_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_incoming_current_auth_info)); - if (_ptr_incoming_current_auth_info) { - NDR_PULL_ALLOC(ndr, r->incoming_current_auth_info); - } else { - r->incoming_current_auth_info = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_incoming_previous_auth_info)); - if (_ptr_incoming_previous_auth_info) { - NDR_PULL_ALLOC(ndr, r->incoming_previous_auth_info); - } else { - r->incoming_previous_auth_info = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->outgoing_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_outgoing_current_auth_info)); - if (_ptr_outgoing_current_auth_info) { - NDR_PULL_ALLOC(ndr, r->outgoing_current_auth_info); - } else { - r->outgoing_current_auth_info = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_outgoing_previous_auth_info)); - if (_ptr_outgoing_previous_auth_info) { - NDR_PULL_ALLOC(ndr, r->outgoing_previous_auth_info); - } else { - r->outgoing_previous_auth_info = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->incoming_current_auth_info) { - _mem_save_incoming_current_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->incoming_current_auth_info, 0); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_current_auth_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_incoming_current_auth_info_0, 0); - } - if (r->incoming_previous_auth_info) { - _mem_save_incoming_previous_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->incoming_previous_auth_info, 0); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_previous_auth_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_incoming_previous_auth_info_0, 0); - } - if (r->outgoing_current_auth_info) { - _mem_save_outgoing_current_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->outgoing_current_auth_info, 0); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_current_auth_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_outgoing_current_auth_info_0, 0); - } - if (r->outgoing_previous_auth_info) { - _mem_save_outgoing_previous_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->outgoing_previous_auth_info, 0); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_previous_auth_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_outgoing_previous_auth_info_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoAuthInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "incoming_count", r->incoming_count); - ndr_print_ptr(ndr, "incoming_current_auth_info", r->incoming_current_auth_info); - ndr->depth++; - if (r->incoming_current_auth_info) { - ndr_print_lsa_TrustDomainInfoBuffer(ndr, "incoming_current_auth_info", r->incoming_current_auth_info); - } - ndr->depth--; - ndr_print_ptr(ndr, "incoming_previous_auth_info", r->incoming_previous_auth_info); - ndr->depth++; - if (r->incoming_previous_auth_info) { - ndr_print_lsa_TrustDomainInfoBuffer(ndr, "incoming_previous_auth_info", r->incoming_previous_auth_info); - } - ndr->depth--; - ndr_print_uint32(ndr, "outgoing_count", r->outgoing_count); - ndr_print_ptr(ndr, "outgoing_current_auth_info", r->outgoing_current_auth_info); - ndr->depth++; - if (r->outgoing_current_auth_info) { - ndr_print_lsa_TrustDomainInfoBuffer(ndr, "outgoing_current_auth_info", r->outgoing_current_auth_info); - } - ndr->depth--; - ndr_print_ptr(ndr, "outgoing_previous_auth_info", r->outgoing_previous_auth_info); - ndr->depth++; - if (r->outgoing_previous_auth_info) { - ndr_print_lsa_TrustDomainInfoBuffer(ndr, "outgoing_previous_auth_info", r->outgoing_previous_auth_info); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoFullInfo"); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex); - ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset); - ndr_print_lsa_TrustDomainInfoAuthInfo(ndr, "auth_info", &r->auth_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfoInternal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->auth_blob)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->auth_blob)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoAuthInfoInternal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->auth_blob)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->auth_blob)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfoInternal *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoAuthInfoInternal"); - ndr->depth++; - ndr_print_lsa_DATA_BUF2(ndr, "auth_blob", &r->auth_blob); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfoInternal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfoInternal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfoInternal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfoInternal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfoInternal *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoFullInfoInternal"); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex); - ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset); - ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info", &r->auth_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx2Internal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->forest_trust_length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_trust_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - if (r->forest_trust_data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->forest_trust_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->forest_trust_data, r->forest_trust_length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoInfoEx2Internal *r) -{ - uint32_t _ptr_forest_trust_data; - TALLOC_CTX *_mem_save_forest_trust_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->forest_trust_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_data)); - if (_ptr_forest_trust_data) { - NDR_PULL_ALLOC(ndr, r->forest_trust_data); - } else { - r->forest_trust_data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - if (r->forest_trust_data) { - _mem_save_forest_trust_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->forest_trust_data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_trust_data)); - NDR_PULL_ALLOC_N(ndr, r->forest_trust_data, ndr_get_array_size(ndr, &r->forest_trust_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->forest_trust_data, ndr_get_array_size(ndr, &r->forest_trust_data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_data_0, 0); - } - if (r->forest_trust_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->forest_trust_data, r->forest_trust_length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx2Internal *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoInfoEx2Internal"); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex); - ndr_print_uint32(ndr, "forest_trust_length", r->forest_trust_length); - ndr_print_ptr(ndr, "forest_trust_data", r->forest_trust_data); - ndr->depth++; - if (r->forest_trust_data) { - ndr_print_array_uint8(ndr, "forest_trust_data", r->forest_trust_data, r->forest_trust_length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfo2Internal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info)); - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfo2Internal *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info)); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo2Internal *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoFullInfo2Internal"); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr, "info", &r->info); - ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset); - ndr_print_lsa_TrustDomainInfoAuthInfo(ndr, "auth_info", &r->auth_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoSupportedEncTypes *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->enc_types)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoSupportedEncTypes *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->enc_types)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoSupportedEncTypes *r) -{ - ndr_print_struct(ndr, name, "lsa_TrustDomainInfoSupportedEncTypes"); - ndr->depth++; - ndr_print_kerb_EncTypes(ndr, "enc_types", r->enc_types); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, int ndr_flags, const union lsa_TrustedDomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case LSA_TRUSTED_DOMAIN_INFO_NAME: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr, NDR_SCALARS, &r->name)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr, NDR_SCALARS, &r->controllers)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr, NDR_SCALARS, &r->password)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_BASIC: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr, NDR_SCALARS, &r->info_basic)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr, NDR_SCALARS, &r->full_info)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_SCALARS, &r->full_info_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info_ex2_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, &r->full_info2_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, &r->enc_types)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case LSA_TRUSTED_DOMAIN_INFO_NAME: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr, NDR_BUFFERS, &r->name)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr, NDR_BUFFERS, &r->controllers)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: - break; - - case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr, NDR_BUFFERS, &r->password)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_BASIC: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr, NDR_BUFFERS, &r->info_basic)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr, NDR_BUFFERS, &r->full_info)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info_internal)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_BUFFERS, &r->full_info_internal)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info_ex2_internal)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: - NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, &r->full_info2_internal)); - break; - - case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, int ndr_flags, union lsa_TrustedDomainInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case LSA_TRUSTED_DOMAIN_INFO_NAME: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr, NDR_SCALARS, &r->name)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr, NDR_SCALARS, &r->controllers)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr, NDR_SCALARS, &r->password)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_BASIC: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr, NDR_SCALARS, &r->info_basic)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr, NDR_SCALARS, &r->full_info)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_SCALARS, &r->full_info_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info_ex2_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, &r->full_info2_internal)); - break; } - - case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, &r->enc_types)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case LSA_TRUSTED_DOMAIN_INFO_NAME: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr, NDR_BUFFERS, &r->name)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr, NDR_BUFFERS, &r->controllers)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: - break; - - case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr, NDR_BUFFERS, &r->password)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_BASIC: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr, NDR_BUFFERS, &r->info_basic)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr, NDR_BUFFERS, &r->full_info)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info_internal)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_BUFFERS, &r->full_info_internal)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info_ex2_internal)); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, &r->full_info2_internal)); - break; - - case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char *name, const union lsa_TrustedDomainInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "lsa_TrustedDomainInfo"); - switch (level) { - case LSA_TRUSTED_DOMAIN_INFO_NAME: - ndr_print_lsa_TrustDomainInfoName(ndr, "name", &r->name); - break; - - case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: - ndr_print_lsa_TrustDomainInfoControllers(ndr, "controllers", &r->controllers); - break; - - case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: - ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset); - break; - - case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: - ndr_print_lsa_TrustDomainInfoPassword(ndr, "password", &r->password); - break; - - case LSA_TRUSTED_DOMAIN_INFO_BASIC: - ndr_print_lsa_TrustDomainInfoBasic(ndr, "info_basic", &r->info_basic); - break; - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex); - break; - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: - ndr_print_lsa_TrustDomainInfoAuthInfo(ndr, "auth_info", &r->auth_info); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: - ndr_print_lsa_TrustDomainInfoFullInfo(ndr, "full_info", &r->full_info); - break; - - case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: - ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info_internal", &r->auth_info_internal); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: - ndr_print_lsa_TrustDomainInfoFullInfoInternal(ndr, "full_info_internal", &r->full_info_internal); - break; - - case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: - ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr, "info_ex2_internal", &r->info_ex2_internal); - break; - - case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: - ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr, "full_info2_internal", &r->full_info2_internal); - break; - - case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: - ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr, "enc_types", &r->enc_types); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_lsa_DATA_BUF_PTR(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF_PTR *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->buf)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buf) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->buf)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DATA_BUF_PTR(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF_PTR *r) -{ - uint32_t _ptr_buf; - TALLOC_CTX *_mem_save_buf_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buf)); - if (_ptr_buf) { - NDR_PULL_ALLOC(ndr, r->buf); - } else { - r->buf = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buf) { - _mem_save_buf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buf, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->buf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buf_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF_PTR *r) -{ - ndr_print_struct(ndr, name, "lsa_DATA_BUF_PTR"); - ndr->depth++; - ndr_print_ptr(ndr, "buf", r->buf); - ndr->depth++; - if (r->buf) { - ndr_print_lsa_DATA_BUF(ndr, "buf", r->buf); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_RightSet(struct ndr_push *ndr, int ndr_flags, const struct lsa_RightSet *r) -{ - uint32_t cntr_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_RightSet *r) -{ - uint32_t _ptr_names; - uint32_t cntr_names_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 256) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names)); - if (_ptr_names) { - NDR_PULL_ALLOC(ndr, r->names); - } else { - r->names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->names)); - NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names)); - _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - } - if (r->names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, const struct lsa_RightSet *r) -{ - uint32_t cntr_names_1; - ndr_print_struct(ndr, name, "lsa_RightSet"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "names", r->names); - ndr->depth++; - if (r->names) { - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count); - ndr->depth++; - for (cntr_names_1=0;cntr_names_1count;cntr_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) { - ndr_print_lsa_StringLarge(ndr, "names", &r->names[cntr_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DomainListEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainListEx *r) -{ - uint32_t cntr_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domains) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->domains[cntr_domains_1])); - } - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DomainListEx(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainListEx *r) -{ - uint32_t _ptr_domains; - uint32_t cntr_domains_1; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, r->domains); - } else { - r->domains = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domains) { - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domains)); - NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains)); - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0); - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->domains[cntr_domains_1])); - } - for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) { - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0); - } - if (r->domains) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DomainListEx(struct ndr_print *ndr, const char *name, const struct lsa_DomainListEx *r) -{ - uint32_t cntr_domains_1; - ndr_print_struct(ndr, name, "lsa_DomainListEx"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "domains", r->domains); - ndr->depth++; - if (r->domains) { - ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count); - ndr->depth++; - for (cntr_domains_1=0;cntr_domains_1count;cntr_domains_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) { - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "domains", &r->domains[cntr_domains_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DomainInfoKerberos(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfoKerberos *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enforce_restrictions)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->service_tkt_lifetime)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->user_tkt_lifetime)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->user_tkt_renewaltime)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->clock_skew)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DomainInfoKerberos(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfoKerberos *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enforce_restrictions)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->service_tkt_lifetime)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->user_tkt_lifetime)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->user_tkt_renewaltime)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->clock_skew)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DomainInfoKerberos(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoKerberos *r) -{ - ndr_print_struct(ndr, name, "lsa_DomainInfoKerberos"); - ndr->depth++; - ndr_print_uint32(ndr, "enforce_restrictions", r->enforce_restrictions); - ndr_print_hyper(ndr, "service_tkt_lifetime", r->service_tkt_lifetime); - ndr_print_hyper(ndr, "user_tkt_lifetime", r->user_tkt_lifetime); - ndr_print_hyper(ndr, "user_tkt_renewaltime", r->user_tkt_renewaltime); - ndr_print_hyper(ndr, "clock_skew", r->clock_skew); - ndr_print_hyper(ndr, "unknown6", r->unknown6); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DomainInfoEfs(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfoEfs *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->blob_size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->efs_blob)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->efs_blob) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->blob_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->efs_blob, r->blob_size)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DomainInfoEfs(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfoEfs *r) -{ - uint32_t _ptr_efs_blob; - TALLOC_CTX *_mem_save_efs_blob_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blob_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_efs_blob)); - if (_ptr_efs_blob) { - NDR_PULL_ALLOC(ndr, r->efs_blob); - } else { - r->efs_blob = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->efs_blob) { - _mem_save_efs_blob_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->efs_blob, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->efs_blob)); - NDR_PULL_ALLOC_N(ndr, r->efs_blob, ndr_get_array_size(ndr, &r->efs_blob)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->efs_blob, ndr_get_array_size(ndr, &r->efs_blob))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_efs_blob_0, 0); - } - if (r->efs_blob) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->efs_blob, r->blob_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DomainInfoEfs(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoEfs *r) -{ - ndr_print_struct(ndr, name, "lsa_DomainInfoEfs"); - ndr->depth++; - ndr_print_uint32(ndr, "blob_size", r->blob_size); - ndr_print_ptr(ndr, "efs_blob", r->efs_blob); - ndr->depth++; - if (r->efs_blob) { - ndr_print_array_uint8(ndr, "efs_blob", r->efs_blob, r->blob_size); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DomainInformationPolicy(struct ndr_push *ndr, int ndr_flags, const union lsa_DomainInformationPolicy *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case LSA_DOMAIN_INFO_POLICY_EFS: { - NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr, NDR_SCALARS, &r->efs_info)); - break; } - - case LSA_DOMAIN_INFO_POLICY_KERBEROS: { - NDR_CHECK(ndr_push_lsa_DomainInfoKerberos(ndr, NDR_SCALARS, &r->kerberos_info)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case LSA_DOMAIN_INFO_POLICY_EFS: - NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr, NDR_BUFFERS, &r->efs_info)); - break; - - case LSA_DOMAIN_INFO_POLICY_KERBEROS: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull *ndr, int ndr_flags, union lsa_DomainInformationPolicy *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case LSA_DOMAIN_INFO_POLICY_EFS: { - NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr, NDR_SCALARS, &r->efs_info)); - break; } - - case LSA_DOMAIN_INFO_POLICY_KERBEROS: { - NDR_CHECK(ndr_pull_lsa_DomainInfoKerberos(ndr, NDR_SCALARS, &r->kerberos_info)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case LSA_DOMAIN_INFO_POLICY_EFS: - NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr, NDR_BUFFERS, &r->efs_info)); - break; - - case LSA_DOMAIN_INFO_POLICY_KERBEROS: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DomainInformationPolicy(struct ndr_print *ndr, const char *name, const union lsa_DomainInformationPolicy *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "lsa_DomainInformationPolicy"); - switch (level) { - case LSA_DOMAIN_INFO_POLICY_EFS: - ndr_print_lsa_DomainInfoEfs(ndr, "efs_info", &r->efs_info); - break; - - case LSA_DOMAIN_INFO_POLICY_KERBEROS: - ndr_print_lsa_DomainInfoKerberos(ndr, "kerberos_info", &r->kerberos_info); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_lsa_TranslatedName2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TranslatedName2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TranslatedName2(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName2 *r) -{ - ndr_print_struct(ndr, name, "lsa_TranslatedName2"); - ndr->depth++; - ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type); - ndr_print_lsa_String(ndr, "name", &r->name); - ndr_print_uint32(ndr, "sid_index", r->sid_index); - ndr_print_uint32(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TransNameArray2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransNameArray2 *r) -{ - uint32_t cntr_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TransNameArray2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray2 *r) -{ - uint32_t _ptr_names; - uint32_t cntr_names_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names)); - if (_ptr_names) { - NDR_PULL_ALLOC(ndr, r->names); - } else { - r->names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->names) { - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->names)); - NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names)); - _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr, NDR_SCALARS, &r->names[cntr_names_1])); - } - for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr, NDR_BUFFERS, &r->names[cntr_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - } - if (r->names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TransNameArray2(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray2 *r) -{ - uint32_t cntr_names_1; - ndr_print_struct(ndr, name, "lsa_TransNameArray2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "names", r->names); - ndr->depth++; - if (r->names) { - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count); - ndr->depth++; - for (cntr_names_1=0;cntr_names_1count;cntr_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) { - ndr_print_lsa_TranslatedName2(ndr, "names", &r->names[cntr_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LookupOptions(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupOptions r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LookupOptions(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupOptions *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupOptions(struct ndr_print *ndr, const char *name, enum lsa_LookupOptions r) -{ - const char *val = NULL; - - switch (r) { - case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES: val = "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES"; break; - case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL: val = "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_ClientRevision(struct ndr_push *ndr, int ndr_flags, enum lsa_ClientRevision r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ClientRevision(struct ndr_pull *ndr, int ndr_flags, enum lsa_ClientRevision *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ClientRevision(struct ndr_print *ndr, const char *name, enum lsa_ClientRevision r) -{ - const char *val = NULL; - - switch (r) { - case LSA_CLIENT_REVISION_1: val = "LSA_CLIENT_REVISION_1"; break; - case LSA_CLIENT_REVISION_2: val = "LSA_CLIENT_REVISION_2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_TranslatedSid2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TranslatedSid2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TranslatedSid2(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid2 *r) -{ - ndr_print_struct(ndr, name, "lsa_TranslatedSid2"); - ndr->depth++; - ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "sid_index", r->sid_index); - ndr_print_uint32(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TransSidArray2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray2 *r) -{ - uint32_t cntr_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedSid2(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TransSidArray2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray2 *r) -{ - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedSid2(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TransSidArray2(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray2 *r) -{ - uint32_t cntr_sids_1; - ndr_print_struct(ndr, name, "lsa_TransSidArray2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1count;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_lsa_TranslatedSid2(ndr, "sids", &r->sids[cntr_sids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TranslatedSid3(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TranslatedSid3(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid3 *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TranslatedSid3(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid3 *r) -{ - ndr_print_struct(ndr, name, "lsa_TranslatedSid3"); - ndr->depth++; - ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr_print_uint32(ndr, "sid_index", r->sid_index); - ndr_print_uint32(ndr, "flags", r->flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TransSidArray3(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray3 *r) -{ - uint32_t cntr_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TransSidArray3(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray3 *r) -{ - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) { - NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TransSidArray3(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray3 *r) -{ - uint32_t cntr_sids_1; - ndr_print_struct(ndr, name, "lsa_TransSidArray3"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1count;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_lsa_TranslatedSid3(ndr, "sids", &r->sids[cntr_sids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustBinaryData(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustBinaryData *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustBinaryData *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->length)); - if (r->length > 131072) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustBinaryData *r) -{ - ndr_print_struct(ndr, name, "lsa_ForestTrustBinaryData"); - ndr->depth++; - ndr_print_uint3264(ndr, "length", r->length); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustDomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain_name)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_domain_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain_sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid)); - } - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain_name)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_domain_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustDomainInfo *r) -{ - uint32_t _ptr_domain_sid; - TALLOC_CTX *_mem_save_domain_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid)); - if (_ptr_domain_sid) { - NDR_PULL_ALLOC(ndr, r->domain_sid); - } else { - r->domain_sid = NULL; - } - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain_name)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_domain_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain_sid) { - _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0); - } - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain_name)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_domain_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustDomainInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_ForestTrustDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_sid", r->domain_sid); - ndr->depth++; - if (r->domain_sid) { - ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid); - } - ndr->depth--; - ndr_print_lsa_StringLarge(ndr, "dns_domain_name", &r->dns_domain_name); - ndr_print_lsa_StringLarge(ndr, "netbios_domain_name", &r->netbios_domain_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustData(struct ndr_push *ndr, int ndr_flags, const union lsa_ForestTrustData *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case LSA_FOREST_TRUST_TOP_LEVEL_NAME: { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->top_level_name)); - break; } - - case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->top_level_name_ex)); - break; } - - case LSA_FOREST_TRUST_DOMAIN_INFO: { - NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr, NDR_SCALARS, &r->domain_info)); - break; } - - default: { - NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr, NDR_SCALARS, &r->data)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case LSA_FOREST_TRUST_TOP_LEVEL_NAME: - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->top_level_name)); - break; - - case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->top_level_name_ex)); - break; - - case LSA_FOREST_TRUST_DOMAIN_INFO: - NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr, NDR_BUFFERS, &r->domain_info)); - break; - - default: - NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr, NDR_BUFFERS, &r->data)); - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustData(struct ndr_pull *ndr, int ndr_flags, union lsa_ForestTrustData *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case LSA_FOREST_TRUST_TOP_LEVEL_NAME: { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->top_level_name)); - break; } - - case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->top_level_name_ex)); - break; } - - case LSA_FOREST_TRUST_DOMAIN_INFO: { - NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr, NDR_SCALARS, &r->domain_info)); - break; } - - default: { - NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr, NDR_SCALARS, &r->data)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case LSA_FOREST_TRUST_TOP_LEVEL_NAME: - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->top_level_name)); - break; - - case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->top_level_name_ex)); - break; - - case LSA_FOREST_TRUST_DOMAIN_INFO: - NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr, NDR_BUFFERS, &r->domain_info)); - break; - - default: - NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr, NDR_BUFFERS, &r->data)); - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustData(struct ndr_print *ndr, const char *name, const union lsa_ForestTrustData *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "lsa_ForestTrustData"); - switch (level) { - case LSA_FOREST_TRUST_TOP_LEVEL_NAME: - ndr_print_lsa_StringLarge(ndr, "top_level_name", &r->top_level_name); - break; - - case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: - ndr_print_lsa_StringLarge(ndr, "top_level_name_ex", &r->top_level_name_ex); - break; - - case LSA_FOREST_TRUST_DOMAIN_INFO: - ndr_print_lsa_ForestTrustDomainInfo(ndr, "domain_info", &r->domain_info); - break; - - default: - ndr_print_lsa_ForestTrustBinaryData(ndr, "data", &r->data); - break; - - } -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustRecordType(struct ndr_push *ndr, int ndr_flags, enum lsa_ForestTrustRecordType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustRecordType(struct ndr_pull *ndr, int ndr_flags, enum lsa_ForestTrustRecordType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustRecordType(struct ndr_print *ndr, const char *name, enum lsa_ForestTrustRecordType r) -{ - const char *val = NULL; - - switch (r) { - case LSA_FOREST_TRUST_TOP_LEVEL_NAME: val = "LSA_FOREST_TRUST_TOP_LEVEL_NAME"; break; - case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: val = "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX"; break; - case LSA_FOREST_TRUST_DOMAIN_INFO: val = "LSA_FOREST_TRUST_DOMAIN_INFO"; break; - case LSA_FOREST_TRUST_RECORD_TYPE_LAST: val = "LSA_FOREST_TRUST_RECORD_TYPE_LAST"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustRecord(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustRecord *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_lsa_ForestTrustRecordType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->forest_trust_data, r->type)); - NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr, NDR_SCALARS, &r->forest_trust_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr, NDR_BUFFERS, &r->forest_trust_data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustRecord(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustRecord *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_lsa_ForestTrustRecordType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->forest_trust_data, r->type)); - NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr, NDR_SCALARS, &r->forest_trust_data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr, NDR_BUFFERS, &r->forest_trust_data)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustRecord(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustRecord *r) -{ - ndr_print_struct(ndr, name, "lsa_ForestTrustRecord"); - ndr->depth++; - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_lsa_ForestTrustRecordType(ndr, "type", r->type); - ndr_print_hyper(ndr, "time", r->time); - ndr_print_set_switch_value(ndr, &r->forest_trust_data, r->type); - ndr_print_lsa_ForestTrustData(ndr, "forest_trust_data", &r->forest_trust_data); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_ForestTrustInformation(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustInformation *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - if (r->entries[cntr_entries_1]) { - NDR_CHECK(ndr_push_lsa_ForestTrustRecord(ndr, NDR_SCALARS|NDR_BUFFERS, r->entries[cntr_entries_1])); - } - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustInformation *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - TALLOC_CTX *_mem_save_entries_2; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 4000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries[cntr_entries_1]); - } else { - r->entries[cntr_entries_1] = NULL; - } - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - if (r->entries[cntr_entries_1]) { - _mem_save_entries_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries[cntr_entries_1], 0); - NDR_CHECK(ndr_pull_lsa_ForestTrustRecord(ndr, NDR_SCALARS|NDR_BUFFERS, r->entries[cntr_entries_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustInformation(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustInformation *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "lsa_ForestTrustInformation"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_ptr(ndr, "entries", r->entries[cntr_entries_1]); - ndr->depth++; - if (r->entries[cntr_entries_1]) { - ndr_print_lsa_ForestTrustRecord(ndr, "entries", r->entries[cntr_entries_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustCollisionRecordType(struct ndr_push *ndr, int ndr_flags, enum lsa_ForestTrustCollisionRecordType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustCollisionRecordType(struct ndr_pull *ndr, int ndr_flags, enum lsa_ForestTrustCollisionRecordType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustCollisionRecordType(struct ndr_print *ndr, const char *name, enum lsa_ForestTrustCollisionRecordType r) -{ - const char *val = NULL; - - switch (r) { - case LSA_FOREST_TRUST_COLLISION_TDO: val = "LSA_FOREST_TRUST_COLLISION_TDO"; break; - case LSA_FOREST_TRUST_COLLISION_XREF: val = "LSA_FOREST_TRUST_COLLISION_XREF"; break; - case LSA_FOREST_TRUST_COLLISION_OTHER: val = "LSA_FOREST_TRUST_COLLISION_OTHER"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustCollisionTDOFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustCollisionTDOFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustCollisionTDOFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TLN_DISABLED_NEW", LSA_TLN_DISABLED_NEW, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TLN_DISABLED_ADMIN", LSA_TLN_DISABLED_ADMIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TLN_DISABLED_CONFLICT", LSA_TLN_DISABLED_CONFLICT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustCollisionXrefFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustCollisionXrefFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustCollisionXrefFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_SID_DISABLED_ADMIN", LSA_SID_DISABLED_ADMIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_SID_DISABLED_CONFLICT", LSA_SID_DISABLED_CONFLICT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_NB_DISABLED_ADMIN", LSA_NB_DISABLED_ADMIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_NB_DISABLED_CONFLICT", LSA_NB_DISABLED_CONFLICT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustCollisionFlags(struct ndr_push *ndr, int ndr_flags, const union lsa_ForestTrustCollisionFlags *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case LSA_FOREST_TRUST_COLLISION_TDO: { - NDR_CHECK(ndr_push_lsa_ForestTrustCollisionTDOFlags(ndr, NDR_SCALARS, r->flags)); - break; } - - case LSA_FOREST_TRUST_COLLISION_XREF: { - NDR_CHECK(ndr_push_lsa_ForestTrustCollisionXrefFlags(ndr, NDR_SCALARS, r->flags)); - break; } - - default: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case LSA_FOREST_TRUST_COLLISION_TDO: - break; - - case LSA_FOREST_TRUST_COLLISION_XREF: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustCollisionFlags(struct ndr_pull *ndr, int ndr_flags, union lsa_ForestTrustCollisionFlags *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case LSA_FOREST_TRUST_COLLISION_TDO: { - NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionTDOFlags(ndr, NDR_SCALARS, &r->flags)); - break; } - - case LSA_FOREST_TRUST_COLLISION_XREF: { - NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionXrefFlags(ndr, NDR_SCALARS, &r->flags)); - break; } - - default: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case LSA_FOREST_TRUST_COLLISION_TDO: - break; - - case LSA_FOREST_TRUST_COLLISION_XREF: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustCollisionFlags(struct ndr_print *ndr, const char *name, const union lsa_ForestTrustCollisionFlags *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "lsa_ForestTrustCollisionFlags"); - switch (level) { - case LSA_FOREST_TRUST_COLLISION_TDO: - ndr_print_lsa_ForestTrustCollisionTDOFlags(ndr, "flags", r->flags); - break; - - case LSA_FOREST_TRUST_COLLISION_XREF: - ndr_print_lsa_ForestTrustCollisionXrefFlags(ndr, "flags", r->flags); - break; - - default: - ndr_print_uint32(ndr, "flags", r->flags); - break; - - } -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustCollisionRecord(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustCollisionRecord *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->index)); - NDR_CHECK(ndr_push_lsa_ForestTrustCollisionRecordType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->flags, r->type)); - NDR_CHECK(ndr_push_lsa_ForestTrustCollisionFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustCollisionRecord(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustCollisionRecord *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->index)); - NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionRecordType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->flags, r->type)); - NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustCollisionRecord(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustCollisionRecord *r) -{ - ndr_print_struct(ndr, name, "lsa_ForestTrustCollisionRecord"); - ndr->depth++; - ndr_print_uint32(ndr, "index", r->index); - ndr_print_lsa_ForestTrustCollisionRecordType(ndr, "type", r->type); - ndr_print_set_switch_value(ndr, &r->flags, r->type); - ndr_print_lsa_ForestTrustCollisionFlags(ndr, "flags", &r->flags); - ndr_print_lsa_String(ndr, "name", &r->name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ForestTrustCollisionInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustCollisionInfo *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - if (r->entries[cntr_entries_1]) { - NDR_CHECK(ndr_push_lsa_ForestTrustCollisionRecord(ndr, NDR_SCALARS|NDR_BUFFERS, r->entries[cntr_entries_1])); - } - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ForestTrustCollisionInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustCollisionInfo *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - TALLOC_CTX *_mem_save_entries_2; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries[cntr_entries_1]); - } else { - r->entries[cntr_entries_1] = NULL; - } - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - if (r->entries[cntr_entries_1]) { - _mem_save_entries_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries[cntr_entries_1], 0); - NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionRecord(ndr, NDR_SCALARS|NDR_BUFFERS, r->entries[cntr_entries_1])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_2, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ForestTrustCollisionInfo(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustCollisionInfo *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "lsa_ForestTrustCollisionInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_ptr(ndr, "entries", r->entries[cntr_entries_1]); - ndr->depth++; - if (r->entries[cntr_entries_1]) { - ndr_print_lsa_ForestTrustCollisionRecord(ndr, "entries", r->entries[cntr_entries_1]); - } - ndr->depth--; - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_Close(struct ndr_push *ndr, int flags, const struct lsa_Close *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_Close(struct ndr_pull *ndr, int flags, struct lsa_Close *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_Close(struct ndr_print *ndr, const char *name, int flags, const struct lsa_Close *r) -{ - ndr_print_struct(ndr, name, "lsa_Close"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_Close"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_Close"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_Delete(struct ndr_push *ndr, int flags, const struct lsa_Delete *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_Delete(struct ndr_pull *ndr, int flags, struct lsa_Delete *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_Delete(struct ndr_print *ndr, const char *name, int flags, const struct lsa_Delete *r) -{ - ndr_print_struct(ndr, name, "lsa_Delete"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_Delete"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_Delete"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_EnumPrivs(struct ndr_push *ndr, int flags, const struct lsa_EnumPrivs *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_count)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.privs == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_PrivArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_EnumPrivs(struct ndr_pull *ndr, int flags, struct lsa_EnumPrivs *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_privs_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_count)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.privs); - ZERO_STRUCTP(r->out.privs); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.privs); - } - _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.privs, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PrivArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumPrivs(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumPrivs *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumPrivs"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumPrivs"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_count", r->in.max_count); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumPrivs"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "privs", r->out.privs); - ndr->depth++; - ndr_print_lsa_PrivArray(ndr, "privs", r->out.privs); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QuerySecurity(struct ndr_push *ndr, int flags, const struct lsa_QuerySecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info)); - } - if (flags & NDR_OUT) { - if (r->out.sdbuf == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf)); - if (*r->out.sdbuf) { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QuerySecurity(struct ndr_pull *ndr, int flags, struct lsa_QuerySecurity *r) -{ - uint32_t _ptr_sdbuf; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sdbuf_0; - TALLOC_CTX *_mem_save_sdbuf_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info)); - NDR_PULL_ALLOC(ndr, r->out.sdbuf); - ZERO_STRUCTP(r->out.sdbuf); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sdbuf); - } - _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf)); - if (_ptr_sdbuf) { - NDR_PULL_ALLOC(ndr, *r->out.sdbuf); - } else { - *r->out.sdbuf = NULL; - } - if (*r->out.sdbuf) { - _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QuerySecurity *r) -{ - ndr_print_struct(ndr, name, "lsa_QuerySecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QuerySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QuerySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf); - ndr->depth++; - ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf); - ndr->depth++; - if (*r->out.sdbuf) { - ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetSecObj(struct ndr_push *ndr, int flags, const struct lsa_SetSecObj *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info)); - if (r->in.sdbuf == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetSecObj(struct ndr_pull *ndr, int flags, struct lsa_SetSecObj *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sdbuf_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sdbuf); - } - _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetSecObj(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSecObj *r) -{ - ndr_print_struct(ndr, name, "lsa_SetSecObj"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetSecObj"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info); - ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf); - ndr->depth++; - ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetSecObj"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ChangePassword(struct ndr_push *ndr, int flags, const struct lsa_ChangePassword *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ChangePassword(struct ndr_pull *ndr, int flags, struct lsa_ChangePassword *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ChangePassword(struct ndr_print *ndr, const char *name, int flags, const struct lsa_ChangePassword *r) -{ - ndr_print_struct(ndr, name, "lsa_ChangePassword"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_ChangePassword"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_ChangePassword"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenPolicy(struct ndr_push *ndr, int flags, const struct lsa_OpenPolicy *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - if (r->in.attr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr)); - NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenPolicy(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_attr_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.attr); - } - _mem_save_attr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.attr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_OpenPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenPolicy *r) -{ - ndr_print_struct(ndr, name, "lsa_OpenPolicy"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_OpenPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "attr", r->in.attr); - ndr->depth++; - ndr_print_lsa_ObjectAttribute(ndr, "attr", r->in.attr); - ndr->depth--; - ndr_print_lsa_PolicyAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_OpenPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QueryInfoPolicy(struct ndr_push *ndr, int flags, const struct lsa_QueryInfoPolicy *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull *ndr, int flags, struct lsa_QueryInfoPolicy *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QueryInfoPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryInfoPolicy *r) -{ - ndr_print_struct(ndr, name, "lsa_QueryInfoPolicy"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QueryInfoPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QueryInfoPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_lsa_PolicyInformation(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, int flags, const struct lsa_SetInfoPolicy *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetInfoPolicy(struct ndr_pull *ndr, int flags, struct lsa_SetInfoPolicy *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetInfoPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInfoPolicy *r) -{ - ndr_print_struct(ndr, name, "lsa_SetInfoPolicy"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetInfoPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_lsa_PolicyInformation(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetInfoPolicy"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_ClearAuditLog(struct ndr_push *ndr, int flags, const struct lsa_ClearAuditLog *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_ClearAuditLog(struct ndr_pull *ndr, int flags, struct lsa_ClearAuditLog *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_ClearAuditLog(struct ndr_print *ndr, const char *name, int flags, const struct lsa_ClearAuditLog *r) -{ - ndr_print_struct(ndr, name, "lsa_ClearAuditLog"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_ClearAuditLog"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_ClearAuditLog"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_CreateAccount(struct ndr_push *ndr, int flags, const struct lsa_CreateAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.acct_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_CreateAccount(struct ndr_pull *ndr, int flags, struct lsa_CreateAccount *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_acct_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.acct_handle); - ZERO_STRUCTP(r->out.acct_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.acct_handle); - } - _mem_save_acct_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.acct_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CreateAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_CreateAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CreateAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr_print_lsa_AccountAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CreateAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "acct_handle", r->out.acct_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "acct_handle", r->out.acct_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_EnumAccounts(struct ndr_push *ndr, int flags, const struct lsa_EnumAccounts *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_entries)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_EnumAccounts(struct ndr_pull *ndr, int flags, struct lsa_EnumAccounts *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_sids_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_entries)); - if (r->in.num_entries > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.sids); - ZERO_STRUCTP(r->out.sids); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumAccounts(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccounts *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumAccounts"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumAccounts"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "num_entries", r->in.num_entries); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumAccounts"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_CreateTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.policy_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_lsa_TrustedAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_CreateTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomain *r) -{ - TALLOC_CTX *_mem_save_policy_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_trustdom_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.policy_handle); - } - _mem_save_policy_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.policy_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustedAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - ZERO_STRUCTP(r->out.trustdom_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CreateTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomain *r) -{ - ndr_print_struct(ndr, name, "lsa_CreateTrustedDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CreateTrustedDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "policy_handle", r->in.policy_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "policy_handle", r->in.policy_handle); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_lsa_DomainInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_lsa_TrustedAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CreateTrustedDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_EnumTrustDom(struct ndr_push *ndr, int flags, const struct lsa_EnumTrustDom *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_DomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_EnumTrustDom(struct ndr_pull *ndr, int flags, struct lsa_EnumTrustDom *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_domains_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_DomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumTrustDom(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumTrustDom *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumTrustDom"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumTrustDom"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_size", r->in.max_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumTrustDom"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_lsa_DomainList(ndr, "domains", r->out.domains); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames(struct ndr_push *ndr, int flags, const struct lsa_LookupNames *r) -{ - uint32_t cntr_names_0; - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names)); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, int flags, struct lsa_LookupNames *r) -{ - uint32_t cntr_names_0; - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names)); - if (r->in.num_names > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names)); - NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names)); - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.sids); - *r->out.sids = *r->in.sids; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - if (r->in.names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames *r) -{ - uint32_t cntr_names_0; - ndr_print_struct(ndr, name, "lsa_LookupNames"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupNames"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "num_names", r->in.num_names); - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names); - ndr->depth++; - for (cntr_names_0=0;cntr_names_0in.num_names;cntr_names_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) { - ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupNames"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids(struct ndr_push *ndr, int flags, const struct lsa_LookupSids *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - if (r->in.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, int flags, struct lsa_LookupSids *r) -{ - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.names); - *r->out.names = *r->in.names; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupSids(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids *r) -{ - ndr_print_struct(ndr, name, "lsa_LookupSids"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupSids"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_ptr(ndr, "names", r->in.names); - ndr->depth++; - ndr_print_lsa_TransNameArray(ndr, "names", r->in.names); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupSids"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "names", r->out.names); - ndr->depth++; - ndr_print_lsa_TransNameArray(ndr, "names", r->out.names); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_CreateSecret(struct ndr_push *ndr, int flags, const struct lsa_CreateSecret *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_push_lsa_SecretAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.sec_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_CreateSecret(struct ndr_pull *ndr, int flags, struct lsa_CreateSecret *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sec_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_pull_lsa_SecretAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.sec_handle); - ZERO_STRUCTP(r->out.sec_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sec_handle); - } - _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sec_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CreateSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateSecret *r) -{ - ndr_print_struct(ndr, name, "lsa_CreateSecret"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CreateSecret"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_String(ndr, "name", &r->in.name); - ndr_print_lsa_SecretAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CreateSecret"); - ndr->depth++; - ndr_print_ptr(ndr, "sec_handle", r->out.sec_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "sec_handle", r->out.sec_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_OpenAccount(struct ndr_push *ndr, int flags, const struct lsa_OpenAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.acct_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_OpenAccount(struct ndr_pull *ndr, int flags, struct lsa_OpenAccount *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_acct_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.acct_handle); - ZERO_STRUCTP(r->out.acct_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.acct_handle); - } - _mem_save_acct_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.acct_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_OpenAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_OpenAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_OpenAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr_print_lsa_AccountAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_OpenAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "acct_handle", r->out.acct_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "acct_handle", r->out.acct_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_EnumPrivsAccount(struct ndr_push *ndr, int flags, const struct lsa_EnumPrivsAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.privs == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.privs)); - if (*r->out.privs) { - NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr, NDR_SCALARS, *r->out.privs)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull *ndr, int flags, struct lsa_EnumPrivsAccount *r) -{ - uint32_t _ptr_privs; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_privs_0; - TALLOC_CTX *_mem_save_privs_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.privs); - ZERO_STRUCTP(r->out.privs); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.privs); - } - _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.privs, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs)); - if (_ptr_privs) { - NDR_PULL_ALLOC(ndr, *r->out.privs); - } else { - *r->out.privs = NULL; - } - if (*r->out.privs) { - _mem_save_privs_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.privs, 0); - NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS, *r->out.privs)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumPrivsAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumPrivsAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumPrivsAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumPrivsAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumPrivsAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "privs", r->out.privs); - ndr->depth++; - ndr_print_ptr(ndr, "privs", *r->out.privs); - ndr->depth++; - if (*r->out.privs) { - ndr_print_lsa_PrivilegeSet(ndr, "privs", *r->out.privs); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_AddPrivilegesToAccount(struct ndr_push *ndr, int flags, const struct lsa_AddPrivilegesToAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.privs == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_AddPrivilegesToAccount(struct ndr_pull *ndr, int flags, struct lsa_AddPrivilegesToAccount *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_privs_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.privs); - } - _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.privs, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AddPrivilegesToAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_AddPrivilegesToAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_AddPrivilegesToAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_AddPrivilegesToAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "privs", r->in.privs); - ndr->depth++; - ndr_print_lsa_PrivilegeSet(ndr, "privs", r->in.privs); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_AddPrivilegesToAccount"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_RemovePrivilegesFromAccount(struct ndr_push *ndr, int flags, const struct lsa_RemovePrivilegesFromAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.remove_all)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.privs)); - if (r->in.privs) { - NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_RemovePrivilegesFromAccount(struct ndr_pull *ndr, int flags, struct lsa_RemovePrivilegesFromAccount *r) -{ - uint32_t _ptr_privs; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_privs_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.remove_all)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs)); - if (_ptr_privs) { - NDR_PULL_ALLOC(ndr, r->in.privs); - } else { - r->in.privs = NULL; - } - if (r->in.privs) { - _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.privs, 0); - NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_RemovePrivilegesFromAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RemovePrivilegesFromAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_RemovePrivilegesFromAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_RemovePrivilegesFromAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint8(ndr, "remove_all", r->in.remove_all); - ndr_print_ptr(ndr, "privs", r->in.privs); - ndr->depth++; - if (r->in.privs) { - ndr_print_lsa_PrivilegeSet(ndr, "privs", r->in.privs); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_RemovePrivilegesFromAccount"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_GetQuotasForAccount(struct ndr_push *ndr, int flags, const struct lsa_GetQuotasForAccount *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_GetQuotasForAccount(struct ndr_pull *ndr, int flags, struct lsa_GetQuotasForAccount *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_GetQuotasForAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetQuotasForAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_GetQuotasForAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_GetQuotasForAccount"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_GetQuotasForAccount"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetQuotasForAccount(struct ndr_push *ndr, int flags, const struct lsa_SetQuotasForAccount *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetQuotasForAccount(struct ndr_pull *ndr, int flags, struct lsa_SetQuotasForAccount *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetQuotasForAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetQuotasForAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_SetQuotasForAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetQuotasForAccount"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetQuotasForAccount"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_GetSystemAccessAccount(struct ndr_push *ndr, int flags, const struct lsa_GetSystemAccessAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.access_mask == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, *r->out.access_mask)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_GetSystemAccessAccount(struct ndr_pull *ndr, int flags, struct lsa_GetSystemAccessAccount *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_access_mask_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.access_mask); - ZERO_STRUCTP(r->out.access_mask); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.access_mask); - } - _mem_save_access_mask_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.access_mask, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->out.access_mask)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_mask_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_GetSystemAccessAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetSystemAccessAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_GetSystemAccessAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_GetSystemAccessAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_GetSystemAccessAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "access_mask", r->out.access_mask); - ndr->depth++; - ndr_print_lsa_AccountAccessMask(ndr, "access_mask", *r->out.access_mask); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetSystemAccessAccount(struct ndr_push *ndr, int flags, const struct lsa_SetSystemAccessAccount *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetSystemAccessAccount(struct ndr_pull *ndr, int flags, struct lsa_SetSystemAccessAccount *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetSystemAccessAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSystemAccessAccount *r) -{ - ndr_print_struct(ndr, name, "lsa_SetSystemAccessAccount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetSystemAccessAccount"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_AccountAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetSystemAccessAccount"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_OpenTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_OpenTrustedDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_CHECK(ndr_push_lsa_TrustedAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_OpenTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_OpenTrustedDomain *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_trustdom_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustedAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - ZERO_STRUCTP(r->out.trustdom_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_OpenTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenTrustedDomain *r) -{ - ndr_print_struct(ndr, name, "lsa_OpenTrustedDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_OpenTrustedDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr_print_lsa_TrustedAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_OpenTrustedDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QueryTrustedDomainInfo(struct ndr_push *ndr, int flags, const struct lsa_QueryTrustedDomainInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle)); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QueryTrustedDomainInfo(struct ndr_pull *ndr, int flags, struct lsa_QueryTrustedDomainInfo *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_trustdom_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QueryTrustedDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_QueryTrustedDomainInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QueryTrustedDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->in.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->in.trustdom_handle); - ndr->depth--; - ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QueryTrustedDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_lsa_TrustedDomainInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetInformationTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_SetInformationTrustedDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle)); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetInformationTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_SetInformationTrustedDomain *r) -{ - TALLOC_CTX *_mem_save_trustdom_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetInformationTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInformationTrustedDomain *r) -{ - ndr_print_struct(ndr, name, "lsa_SetInformationTrustedDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetInformationTrustedDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->in.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->in.trustdom_handle); - ndr->depth--; - ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_lsa_TrustedDomainInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetInformationTrustedDomain"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenSecret(struct ndr_push *ndr, int flags, const struct lsa_OpenSecret *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_push_lsa_SecretAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.sec_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenSecret(struct ndr_pull *ndr, int flags, struct lsa_OpenSecret *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sec_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_pull_lsa_SecretAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.sec_handle); - ZERO_STRUCTP(r->out.sec_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sec_handle); - } - _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sec_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_OpenSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenSecret *r) -{ - ndr_print_struct(ndr, name, "lsa_OpenSecret"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_OpenSecret"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_String(ndr, "name", &r->in.name); - ndr_print_lsa_SecretAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_OpenSecret"); - ndr->depth++; - ndr_print_ptr(ndr, "sec_handle", r->out.sec_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "sec_handle", r->out.sec_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_SetSecret(struct ndr_push *ndr, int flags, const struct lsa_SetSecret *r) -{ - if (flags & NDR_IN) { - if (r->in.sec_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_val)); - if (r->in.new_val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_val)); - if (r->in.old_val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_SetSecret(struct ndr_pull *ndr, int flags, struct lsa_SetSecret *r) -{ - uint32_t _ptr_new_val; - uint32_t _ptr_old_val; - TALLOC_CTX *_mem_save_sec_handle_0; - TALLOC_CTX *_mem_save_new_val_0; - TALLOC_CTX *_mem_save_old_val_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sec_handle); - } - _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_val)); - if (_ptr_new_val) { - NDR_PULL_ALLOC(ndr, r->in.new_val); - } else { - r->in.new_val = NULL; - } - if (r->in.new_val) { - _mem_save_new_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_val_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_val)); - if (_ptr_old_val) { - NDR_PULL_ALLOC(ndr, r->in.old_val); - } else { - r->in.old_val = NULL; - } - if (r->in.old_val) { - _mem_save_old_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.old_val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_val_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSecret *r) -{ - ndr_print_struct(ndr, name, "lsa_SetSecret"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetSecret"); - ndr->depth++; - ndr_print_ptr(ndr, "sec_handle", r->in.sec_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "sec_handle", r->in.sec_handle); - ndr->depth--; - ndr_print_ptr(ndr, "new_val", r->in.new_val); - ndr->depth++; - if (r->in.new_val) { - ndr_print_lsa_DATA_BUF(ndr, "new_val", r->in.new_val); - } - ndr->depth--; - ndr_print_ptr(ndr, "old_val", r->in.old_val); - ndr->depth++; - if (r->in.old_val) { - ndr_print_lsa_DATA_BUF(ndr, "old_val", r->in.old_val); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetSecret"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_QuerySecret(struct ndr_push *ndr, int flags, const struct lsa_QuerySecret *r) -{ - if (flags & NDR_IN) { - if (r->in.sec_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_val)); - if (r->in.new_val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_mtime)); - if (r->in.new_mtime) { - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->in.new_mtime)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_val)); - if (r->in.old_val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_mtime)); - if (r->in.old_mtime) { - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->in.old_mtime)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.new_val)); - if (r->out.new_val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.new_val)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.new_mtime)); - if (r->out.new_mtime) { - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->out.new_mtime)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.old_val)); - if (r->out.old_val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.old_val)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.old_mtime)); - if (r->out.old_mtime) { - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->out.old_mtime)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_QuerySecret(struct ndr_pull *ndr, int flags, struct lsa_QuerySecret *r) -{ - uint32_t _ptr_new_val; - uint32_t _ptr_new_mtime; - uint32_t _ptr_old_val; - uint32_t _ptr_old_mtime; - TALLOC_CTX *_mem_save_sec_handle_0; - TALLOC_CTX *_mem_save_new_val_0; - TALLOC_CTX *_mem_save_new_mtime_0; - TALLOC_CTX *_mem_save_old_val_0; - TALLOC_CTX *_mem_save_old_mtime_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sec_handle); - } - _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_val)); - if (_ptr_new_val) { - NDR_PULL_ALLOC(ndr, r->in.new_val); - } else { - r->in.new_val = NULL; - } - if (r->in.new_val) { - _mem_save_new_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_val_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_mtime)); - if (_ptr_new_mtime) { - NDR_PULL_ALLOC(ndr, r->in.new_mtime); - } else { - r->in.new_mtime = NULL; - } - if (r->in.new_mtime) { - _mem_save_new_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_mtime, 0); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->in.new_mtime)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_mtime_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_val)); - if (_ptr_old_val) { - NDR_PULL_ALLOC(ndr, r->in.old_val); - } else { - r->in.old_val = NULL; - } - if (r->in.old_val) { - _mem_save_old_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.old_val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_val_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_mtime)); - if (_ptr_old_mtime) { - NDR_PULL_ALLOC(ndr, r->in.old_mtime); - } else { - r->in.old_mtime = NULL; - } - if (r->in.old_mtime) { - _mem_save_old_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.old_mtime, 0); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->in.old_mtime)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_mtime_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_val)); - if (_ptr_new_val) { - NDR_PULL_ALLOC(ndr, r->out.new_val); - } else { - r->out.new_val = NULL; - } - if (r->out.new_val) { - _mem_save_new_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.new_val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.new_val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_val_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_mtime)); - if (_ptr_new_mtime) { - NDR_PULL_ALLOC(ndr, r->out.new_mtime); - } else { - r->out.new_mtime = NULL; - } - if (r->out.new_mtime) { - _mem_save_new_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.new_mtime, 0); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->out.new_mtime)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_mtime_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_val)); - if (_ptr_old_val) { - NDR_PULL_ALLOC(ndr, r->out.old_val); - } else { - r->out.old_val = NULL; - } - if (r->out.old_val) { - _mem_save_old_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.old_val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.old_val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_val_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_mtime)); - if (_ptr_old_mtime) { - NDR_PULL_ALLOC(ndr, r->out.old_mtime); - } else { - r->out.old_mtime = NULL; - } - if (r->out.old_mtime) { - _mem_save_old_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.old_mtime, 0); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->out.old_mtime)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_mtime_0, 0); - } - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QuerySecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QuerySecret *r) -{ - ndr_print_struct(ndr, name, "lsa_QuerySecret"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QuerySecret"); - ndr->depth++; - ndr_print_ptr(ndr, "sec_handle", r->in.sec_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "sec_handle", r->in.sec_handle); - ndr->depth--; - ndr_print_ptr(ndr, "new_val", r->in.new_val); - ndr->depth++; - if (r->in.new_val) { - ndr_print_lsa_DATA_BUF_PTR(ndr, "new_val", r->in.new_val); - } - ndr->depth--; - ndr_print_ptr(ndr, "new_mtime", r->in.new_mtime); - ndr->depth++; - if (r->in.new_mtime) { - ndr_print_NTTIME_hyper(ndr, "new_mtime", *r->in.new_mtime); - } - ndr->depth--; - ndr_print_ptr(ndr, "old_val", r->in.old_val); - ndr->depth++; - if (r->in.old_val) { - ndr_print_lsa_DATA_BUF_PTR(ndr, "old_val", r->in.old_val); - } - ndr->depth--; - ndr_print_ptr(ndr, "old_mtime", r->in.old_mtime); - ndr->depth++; - if (r->in.old_mtime) { - ndr_print_NTTIME_hyper(ndr, "old_mtime", *r->in.old_mtime); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QuerySecret"); - ndr->depth++; - ndr_print_ptr(ndr, "new_val", r->out.new_val); - ndr->depth++; - if (r->out.new_val) { - ndr_print_lsa_DATA_BUF_PTR(ndr, "new_val", r->out.new_val); - } - ndr->depth--; - ndr_print_ptr(ndr, "new_mtime", r->out.new_mtime); - ndr->depth++; - if (r->out.new_mtime) { - ndr_print_NTTIME_hyper(ndr, "new_mtime", *r->out.new_mtime); - } - ndr->depth--; - ndr_print_ptr(ndr, "old_val", r->out.old_val); - ndr->depth++; - if (r->out.old_val) { - ndr_print_lsa_DATA_BUF_PTR(ndr, "old_val", r->out.old_val); - } - ndr->depth--; - ndr_print_ptr(ndr, "old_mtime", r->out.old_mtime); - ndr->depth++; - if (r->out.old_mtime) { - ndr_print_NTTIME_hyper(ndr, "old_mtime", *r->out.old_mtime); - } - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LookupPrivValue(struct ndr_push *ndr, int flags, const struct lsa_LookupPrivValue *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - } - if (flags & NDR_OUT) { - if (r->out.luid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, r->out.luid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LookupPrivValue(struct ndr_pull *ndr, int flags, struct lsa_LookupPrivValue *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_luid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.luid); - ZERO_STRUCTP(r->out.luid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.luid); - } - _mem_save_luid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.luid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, r->out.luid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_luid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupPrivValue(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivValue *r) -{ - ndr_print_struct(ndr, name, "lsa_LookupPrivValue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupPrivValue"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupPrivValue"); - ndr->depth++; - ndr_print_ptr(ndr, "luid", r->out.luid); - ndr->depth++; - ndr_print_lsa_LUID(ndr, "luid", r->out.luid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LookupPrivName(struct ndr_push *ndr, int flags, const struct lsa_LookupPrivName *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.luid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, r->in.luid)); - } - if (flags & NDR_OUT) { - if (r->out.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name)); - if (*r->out.name) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.name)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LookupPrivName(struct ndr_pull *ndr, int flags, struct lsa_LookupPrivName *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_luid_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_name_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.luid); - } - _mem_save_luid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.luid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, r->in.luid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_luid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.name); - ZERO_STRUCTP(r->out.name); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, *r->out.name); - } else { - *r->out.name = NULL; - } - if (*r->out.name) { - _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupPrivName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivName *r) -{ - ndr_print_struct(ndr, name, "lsa_LookupPrivName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupPrivName"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "luid", r->in.luid); - ndr->depth++; - ndr_print_lsa_LUID(ndr, "luid", r->in.luid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupPrivName"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->out.name); - ndr->depth++; - ndr_print_ptr(ndr, "name", *r->out.name); - ndr->depth++; - if (*r->out.name) { - ndr_print_lsa_StringLarge(ndr, "name", *r->out.name); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LookupPrivDisplayName(struct ndr_push *ndr, int flags, const struct lsa_LookupPrivDisplayName *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.language_id)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.language_id_sys)); - } - if (flags & NDR_OUT) { - if (r->out.disp_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.disp_name)); - if (*r->out.disp_name) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.disp_name)); - } - if (r->out.returned_language_id == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.returned_language_id)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LookupPrivDisplayName(struct ndr_pull *ndr, int flags, struct lsa_LookupPrivDisplayName *r) -{ - uint32_t _ptr_disp_name; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_disp_name_0; - TALLOC_CTX *_mem_save_disp_name_1; - TALLOC_CTX *_mem_save_returned_language_id_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.language_id)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.language_id_sys)); - NDR_PULL_ALLOC(ndr, r->out.disp_name); - ZERO_STRUCTP(r->out.disp_name); - NDR_PULL_ALLOC(ndr, r->out.returned_language_id); - ZERO_STRUCTP(r->out.returned_language_id); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.disp_name); - } - _mem_save_disp_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.disp_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_disp_name)); - if (_ptr_disp_name) { - NDR_PULL_ALLOC(ndr, *r->out.disp_name); - } else { - *r->out.disp_name = NULL; - } - if (*r->out.disp_name) { - _mem_save_disp_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.disp_name, 0); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.disp_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disp_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disp_name_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.returned_language_id); - } - _mem_save_returned_language_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_language_id, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.returned_language_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_language_id_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupPrivDisplayName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivDisplayName *r) -{ - ndr_print_struct(ndr, name, "lsa_LookupPrivDisplayName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupPrivDisplayName"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_uint16(ndr, "language_id", r->in.language_id); - ndr_print_uint16(ndr, "language_id_sys", r->in.language_id_sys); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupPrivDisplayName"); - ndr->depth++; - ndr_print_ptr(ndr, "disp_name", r->out.disp_name); - ndr->depth++; - ndr_print_ptr(ndr, "disp_name", *r->out.disp_name); - ndr->depth++; - if (*r->out.disp_name) { - ndr_print_lsa_StringLarge(ndr, "disp_name", *r->out.disp_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "returned_language_id", r->out.returned_language_id); - ndr->depth++; - ndr_print_uint16(ndr, "returned_language_id", *r->out.returned_language_id); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DeleteObject(struct ndr_push *ndr, int flags, const struct lsa_DeleteObject *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DeleteObject(struct ndr_pull *ndr, int flags, struct lsa_DeleteObject *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DeleteObject(struct ndr_print *ndr, const char *name, int flags, const struct lsa_DeleteObject *r) -{ - ndr_print_struct(ndr, name, "lsa_DeleteObject"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_DeleteObject"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_DeleteObject"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_EnumAccountsWithUserRight(struct ndr_push *ndr, int flags, const struct lsa_EnumAccountsWithUserRight *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name)); - if (r->in.name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - } - } - if (flags & NDR_OUT) { - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_EnumAccountsWithUserRight(struct ndr_pull *ndr, int flags, struct lsa_EnumAccountsWithUserRight *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_sids_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->in.name); - } else { - r->in.name = NULL; - } - if (r->in.name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.sids); - ZERO_STRUCTP(r->out.sids); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumAccountsWithUserRight(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccountsWithUserRight *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumAccountsWithUserRight"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumAccountsWithUserRight"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - if (r->in.name) { - ndr_print_lsa_String(ndr, "name", r->in.name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumAccountsWithUserRight"); - ndr->depth++; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_EnumAccountRights(struct ndr_push *ndr, int flags, const struct lsa_EnumAccountRights *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - } - if (flags & NDR_OUT) { - if (r->out.rights == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rights)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_EnumAccountRights(struct ndr_pull *ndr, int flags, struct lsa_EnumAccountRights *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_rights_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.rights); - ZERO_STRUCTP(r->out.rights); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rights); - } - _mem_save_rights_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rights, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rights)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rights_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccountRights *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumAccountRights"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumAccountRights"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumAccountRights"); - ndr->depth++; - ndr_print_ptr(ndr, "rights", r->out.rights); - ndr->depth++; - ndr_print_lsa_RightSet(ndr, "rights", r->out.rights); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_AddAccountRights(struct ndr_push *ndr, int flags, const struct lsa_AddAccountRights *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - if (r->in.rights == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_AddAccountRights(struct ndr_pull *ndr, int flags, struct lsa_AddAccountRights *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_rights_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.rights); - } - _mem_save_rights_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.rights, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rights_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_AddAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_AddAccountRights *r) -{ - ndr_print_struct(ndr, name, "lsa_AddAccountRights"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_AddAccountRights"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr_print_ptr(ndr, "rights", r->in.rights); - ndr->depth++; - ndr_print_lsa_RightSet(ndr, "rights", r->in.rights); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_AddAccountRights"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_RemoveAccountRights(struct ndr_push *ndr, int flags, const struct lsa_RemoveAccountRights *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.remove_all)); - if (r->in.rights == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_RemoveAccountRights(struct ndr_pull *ndr, int flags, struct lsa_RemoveAccountRights *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_rights_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.remove_all)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.rights); - } - _mem_save_rights_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.rights, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rights_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_RemoveAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RemoveAccountRights *r) -{ - ndr_print_struct(ndr, name, "lsa_RemoveAccountRights"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_RemoveAccountRights"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr_print_uint8(ndr, "remove_all", r->in.remove_all); - ndr_print_ptr(ndr, "rights", r->in.rights); - ndr->depth++; - ndr_print_lsa_RightSet(ndr, "rights", r->in.rights); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_RemoveAccountRights"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QueryTrustedDomainInfoBySid(struct ndr_push *ndr, int flags, const struct lsa_QueryTrustedDomainInfoBySid *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.dom_sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid)); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QueryTrustedDomainInfoBySid(struct ndr_pull *ndr, int flags, struct lsa_QueryTrustedDomainInfoBySid *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_dom_sid_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.dom_sid); - } - _mem_save_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QueryTrustedDomainInfoBySid(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfoBySid *r) -{ - ndr_print_struct(ndr, name, "lsa_QueryTrustedDomainInfoBySid"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QueryTrustedDomainInfoBySid"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "dom_sid", r->in.dom_sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "dom_sid", r->in.dom_sid); - ndr->depth--; - ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QueryTrustedDomainInfoBySid"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_lsa_TrustedDomainInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetTrustedDomainInfo(struct ndr_push *ndr, int flags, const struct lsa_SetTrustedDomainInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.dom_sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid)); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetTrustedDomainInfo(struct ndr_pull *ndr, int flags, struct lsa_SetTrustedDomainInfo *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_dom_sid_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.dom_sid); - } - _mem_save_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetTrustedDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetTrustedDomainInfo *r) -{ - ndr_print_struct(ndr, name, "lsa_SetTrustedDomainInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetTrustedDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "dom_sid", r->in.dom_sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "dom_sid", r->in.dom_sid); - ndr->depth--; - ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_lsa_TrustedDomainInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetTrustedDomainInfo"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_DeleteTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_DeleteTrustedDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.dom_sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_DeleteTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_DeleteTrustedDomain *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_dom_sid_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.dom_sid); - } - _mem_save_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_sid_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_DeleteTrustedDomain *r) -{ - ndr_print_struct(ndr, name, "lsa_DeleteTrustedDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_DeleteTrustedDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "dom_sid", r->in.dom_sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "dom_sid", r->in.dom_sid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_DeleteTrustedDomain"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_StorePrivateData(struct ndr_push *ndr, int flags, const struct lsa_StorePrivateData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.val)); - if (r->in.val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.val)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_StorePrivateData(struct ndr_pull *ndr, int flags, struct lsa_StorePrivateData *r) -{ - uint32_t _ptr_val; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_val_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val)); - if (_ptr_val) { - NDR_PULL_ALLOC(ndr, r->in.val); - } else { - r->in.val = NULL; - } - if (r->in.val) { - _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_StorePrivateData(struct ndr_print *ndr, const char *name, int flags, const struct lsa_StorePrivateData *r) -{ - ndr_print_struct(ndr, name, "lsa_StorePrivateData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_StorePrivateData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_ptr(ndr, "val", r->in.val); - ndr->depth++; - if (r->in.val) { - ndr_print_lsa_DATA_BUF(ndr, "val", r->in.val); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_StorePrivateData"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_RetrievePrivateData(struct ndr_push *ndr, int flags, const struct lsa_RetrievePrivateData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - if (r->in.val == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.val)); - if (*r->in.val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.val)); - } - } - if (flags & NDR_OUT) { - if (r->out.val == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.val)); - if (*r->out.val) { - NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.val)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_RetrievePrivateData(struct ndr_pull *ndr, int flags, struct lsa_RetrievePrivateData *r) -{ - uint32_t _ptr_val; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_val_0; - TALLOC_CTX *_mem_save_val_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.val); - } - _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.val, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val)); - if (_ptr_val) { - NDR_PULL_ALLOC(ndr, *r->in.val); - } else { - *r->in.val = NULL; - } - if (*r->in.val) { - _mem_save_val_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.val); - *r->out.val = *r->in.val; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.val); - } - _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.val, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val)); - if (_ptr_val) { - NDR_PULL_ALLOC(ndr, *r->out.val); - } else { - *r->out.val = NULL; - } - if (*r->out.val) { - _mem_save_val_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.val, 0); - NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.val)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_RetrievePrivateData(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RetrievePrivateData *r) -{ - ndr_print_struct(ndr, name, "lsa_RetrievePrivateData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_RetrievePrivateData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_ptr(ndr, "val", r->in.val); - ndr->depth++; - ndr_print_ptr(ndr, "val", *r->in.val); - ndr->depth++; - if (*r->in.val) { - ndr_print_lsa_DATA_BUF(ndr, "val", *r->in.val); - } - ndr->depth--; - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_RetrievePrivateData"); - ndr->depth++; - ndr_print_ptr(ndr, "val", r->out.val); - ndr->depth++; - ndr_print_ptr(ndr, "val", *r->out.val); - ndr->depth++; - if (*r->out.val) { - ndr_print_lsa_DATA_BUF(ndr, "val", *r->out.val); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, int flags, const struct lsa_OpenPolicy2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.attr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr)); - NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy2 *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_attr_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); - if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.attr); - } - _mem_save_attr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.attr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_OpenPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenPolicy2 *r) -{ - ndr_print_struct(ndr, name, "lsa_OpenPolicy2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_OpenPolicy2"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_string(ndr, "system_name", r->in.system_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "attr", r->in.attr); - ndr->depth++; - ndr_print_lsa_ObjectAttribute(ndr, "attr", r->in.attr); - ndr->depth--; - ndr_print_lsa_PolicyAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_OpenPolicy2"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_GetUserName(struct ndr_push *ndr, int flags, const struct lsa_GetUserName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.account_name)); - if (*r->in.account_name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.account_name)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.authority_name)); - if (r->in.authority_name) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.authority_name)); - if (*r->in.authority_name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.authority_name)); - } - } - } - if (flags & NDR_OUT) { - if (r->out.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.account_name)); - if (*r->out.account_name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.account_name)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.authority_name)); - if (r->out.authority_name) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.authority_name)); - if (*r->out.authority_name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.authority_name)); - } - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flags, struct lsa_GetUserName *r) -{ - uint32_t _ptr_system_name; - uint32_t _ptr_account_name; - uint32_t _ptr_authority_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_account_name_0; - TALLOC_CTX *_mem_save_account_name_1; - TALLOC_CTX *_mem_save_authority_name_0; - TALLOC_CTX *_mem_save_authority_name_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); - if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.account_name); - } - _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name)); - if (_ptr_account_name) { - NDR_PULL_ALLOC(ndr, *r->in.account_name); - } else { - *r->in.account_name = NULL; - } - if (*r->in.account_name) { - _mem_save_account_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.account_name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.account_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name)); - if (_ptr_authority_name) { - NDR_PULL_ALLOC(ndr, r->in.authority_name); - } else { - r->in.authority_name = NULL; - } - if (r->in.authority_name) { - _mem_save_authority_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.authority_name, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name)); - if (_ptr_authority_name) { - NDR_PULL_ALLOC(ndr, *r->in.authority_name); - } else { - *r->in.authority_name = NULL; - } - if (*r->in.authority_name) { - _mem_save_authority_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.authority_name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.authority_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.account_name); - *r->out.account_name = *r->in.account_name; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.account_name); - } - _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.account_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name)); - if (_ptr_account_name) { - NDR_PULL_ALLOC(ndr, *r->out.account_name); - } else { - *r->out.account_name = NULL; - } - if (*r->out.account_name) { - _mem_save_account_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.account_name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.account_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name)); - if (_ptr_authority_name) { - NDR_PULL_ALLOC(ndr, r->out.authority_name); - } else { - r->out.authority_name = NULL; - } - if (r->out.authority_name) { - _mem_save_authority_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.authority_name, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name)); - if (_ptr_authority_name) { - NDR_PULL_ALLOC(ndr, *r->out.authority_name); - } else { - *r->out.authority_name = NULL; - } - if (*r->out.authority_name) { - _mem_save_authority_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.authority_name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.authority_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_0, 0); - } - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_GetUserName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetUserName *r) -{ - ndr_print_struct(ndr, name, "lsa_GetUserName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_GetUserName"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_string(ndr, "system_name", r->in.system_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_ptr(ndr, "account_name", *r->in.account_name); - ndr->depth++; - if (*r->in.account_name) { - ndr_print_lsa_String(ndr, "account_name", *r->in.account_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "authority_name", r->in.authority_name); - ndr->depth++; - if (r->in.authority_name) { - ndr_print_ptr(ndr, "authority_name", *r->in.authority_name); - ndr->depth++; - if (*r->in.authority_name) { - ndr_print_lsa_String(ndr, "authority_name", *r->in.authority_name); - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_GetUserName"); - ndr->depth++; - ndr_print_ptr(ndr, "account_name", r->out.account_name); - ndr->depth++; - ndr_print_ptr(ndr, "account_name", *r->out.account_name); - ndr->depth++; - if (*r->out.account_name) { - ndr_print_lsa_String(ndr, "account_name", *r->out.account_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "authority_name", r->out.authority_name); - ndr->depth++; - if (r->out.authority_name) { - ndr_print_ptr(ndr, "authority_name", *r->out.authority_name); - ndr->depth++; - if (*r->out.authority_name) { - ndr_print_lsa_String(ndr, "authority_name", *r->out.authority_name); - } - ndr->depth--; - } - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QueryInfoPolicy2(struct ndr_push *ndr, int flags, const struct lsa_QueryInfoPolicy2 *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QueryInfoPolicy2(struct ndr_pull *ndr, int flags, struct lsa_QueryInfoPolicy2 *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryInfoPolicy2 *r) -{ - ndr_print_struct(ndr, name, "lsa_QueryInfoPolicy2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QueryInfoPolicy2"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QueryInfoPolicy2"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_lsa_PolicyInformation(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetInfoPolicy2(struct ndr_push *ndr, int flags, const struct lsa_SetInfoPolicy2 *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetInfoPolicy2(struct ndr_pull *ndr, int flags, struct lsa_SetInfoPolicy2 *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetInfoPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInfoPolicy2 *r) -{ - ndr_print_struct(ndr, name, "lsa_SetInfoPolicy2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetInfoPolicy2"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_lsa_PolicyInformation(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetInfoPolicy2"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QueryTrustedDomainInfoByName(struct ndr_push *ndr, int flags, const struct lsa_QueryTrustedDomainInfoByName *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.trusted_domain == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain)); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QueryTrustedDomainInfoByName(struct ndr_pull *ndr, int flags, struct lsa_QueryTrustedDomainInfoByName *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_trusted_domain_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.trusted_domain); - } - _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QueryTrustedDomainInfoByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfoByName *r) -{ - ndr_print_struct(ndr, name, "lsa_QueryTrustedDomainInfoByName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QueryTrustedDomainInfoByName"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "trusted_domain", r->in.trusted_domain); - ndr->depth++; - ndr_print_lsa_String(ndr, "trusted_domain", r->in.trusted_domain); - ndr->depth--; - ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QueryTrustedDomainInfoByName"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_lsa_TrustedDomainInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_SetTrustedDomainInfoByName(struct ndr_push *ndr, int flags, const struct lsa_SetTrustedDomainInfoByName *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.trusted_domain == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain)); - NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_SetTrustedDomainInfoByName(struct ndr_pull *ndr, int flags, struct lsa_SetTrustedDomainInfoByName *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_trusted_domain_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.trusted_domain); - } - _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetTrustedDomainInfoByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetTrustedDomainInfoByName *r) -{ - ndr_print_struct(ndr, name, "lsa_SetTrustedDomainInfoByName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetTrustedDomainInfoByName"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "trusted_domain", r->in.trusted_domain); - ndr->depth++; - ndr_print_lsa_String(ndr, "trusted_domain", r->in.trusted_domain); - ndr->depth--; - ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_lsa_TrustedDomainInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetTrustedDomainInfoByName"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_EnumTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct lsa_EnumTrustedDomainsEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_DomainListEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_EnumTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct lsa_EnumTrustedDomainsEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_domains_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_DomainListEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_EnumTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumTrustedDomainsEx *r) -{ - ndr_print_struct(ndr, name, "lsa_EnumTrustedDomainsEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_EnumTrustedDomainsEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_size", r->in.max_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_EnumTrustedDomainsEx"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_lsa_DomainListEx(ndr, "domains", r->out.domains); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CreateTrustedDomainEx(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomainEx *r) -{ - if (flags & NDR_IN) { - if (r->in.policy_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - if (r->in.auth_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CreateTrustedDomainEx(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomainEx *r) -{ - TALLOC_CTX *_mem_save_policy_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_auth_info_0; - TALLOC_CTX *_mem_save_trustdom_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.policy_handle); - } - _mem_save_policy_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.policy_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.auth_info); - } - _mem_save_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.auth_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - ZERO_STRUCTP(r->out.trustdom_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CreateTrustedDomainEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomainEx *r) -{ - ndr_print_struct(ndr, name, "lsa_CreateTrustedDomainEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CreateTrustedDomainEx"); - ndr->depth++; - ndr_print_ptr(ndr, "policy_handle", r->in.policy_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "policy_handle", r->in.policy_handle); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "auth_info", r->in.auth_info); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info", r->in.auth_info); - ndr->depth--; - ndr_print_uint32(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CreateTrustedDomainEx"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CloseTrustedDomainEx(struct ndr_push *ndr, int flags, const struct lsa_CloseTrustedDomainEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CloseTrustedDomainEx(struct ndr_pull *ndr, int flags, struct lsa_CloseTrustedDomainEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CloseTrustedDomainEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CloseTrustedDomainEx *r) -{ - ndr_print_struct(ndr, name, "lsa_CloseTrustedDomainEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CloseTrustedDomainEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CloseTrustedDomainEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_QueryDomainInformationPolicy(struct ndr_push *ndr, int flags, const struct lsa_QueryDomainInformationPolicy *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_QueryDomainInformationPolicy(struct ndr_pull *ndr, int flags, struct lsa_QueryDomainInformationPolicy *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_QueryDomainInformationPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryDomainInformationPolicy *r) -{ - ndr_print_struct(ndr, name, "lsa_QueryDomainInformationPolicy"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_QueryDomainInformationPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_QueryDomainInformationPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_lsa_DomainInformationPolicy(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_SetDomainInformationPolicy(struct ndr_push *ndr, int flags, const struct lsa_SetDomainInformationPolicy *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info)); - if (r->in.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_SetDomainInformationPolicy(struct ndr_pull *ndr, int flags, struct lsa_SetDomainInformationPolicy *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->in.info); - } else { - r->in.info = NULL; - } - if (r->in.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_SetDomainInformationPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetDomainInformationPolicy *r) -{ - ndr_print_struct(ndr, name, "lsa_SetDomainInformationPolicy"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_SetDomainInformationPolicy"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - if (r->in.info) { - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_lsa_DomainInformationPolicy(ndr, "info", r->in.info); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_SetDomainInformationPolicy"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_OpenTrustedDomainByName(struct ndr_push *ndr, int flags, const struct lsa_OpenTrustedDomainByName *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_OpenTrustedDomainByName(struct ndr_pull *ndr, int flags, struct lsa_OpenTrustedDomainByName *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_trustdom_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - ZERO_STRUCTP(r->out.trustdom_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_OpenTrustedDomainByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenTrustedDomainByName *r) -{ - ndr_print_struct(ndr, name, "lsa_OpenTrustedDomainByName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_OpenTrustedDomainByName"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_lsa_String(ndr, "name", &r->in.name); - ndr_print_uint32(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_OpenTrustedDomainByName"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_TestCall(struct ndr_push *ndr, int flags, const struct lsa_TestCall *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_TestCall(struct ndr_pull *ndr, int flags, struct lsa_TestCall *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_TestCall(struct ndr_print *ndr, const char *name, int flags, const struct lsa_TestCall *r) -{ - ndr_print_struct(ndr, name, "lsa_TestCall"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_TestCall"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_TestCall"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids2(struct ndr_push *ndr, int flags, const struct lsa_LookupSids2 *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - if (r->in.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options)); - NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids2(struct ndr_pull *ndr, int flags, struct lsa_LookupSids2 *r) -{ - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options)); - NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision)); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.names); - *r->out.names = *r->in.names; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupSids2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids2 *r) -{ - ndr_print_struct(ndr, name, "lsa_LookupSids2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupSids2"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_ptr(ndr, "names", r->in.names); - ndr->depth++; - ndr_print_lsa_TransNameArray2(ndr, "names", r->in.names); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options); - ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupSids2"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "names", r->out.names); - ndr->depth++; - ndr_print_lsa_TransNameArray2(ndr, "names", r->out.names); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames2(struct ndr_push *ndr, int flags, const struct lsa_LookupNames2 *r) -{ - uint32_t cntr_names_0; - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names)); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options)); - NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames2(struct ndr_pull *ndr, int flags, struct lsa_LookupNames2 *r) -{ - uint32_t cntr_names_0; - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names)); - if (r->in.num_names > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names)); - NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names)); - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options)); - NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision)); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.sids); - *r->out.sids = *r->in.sids; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - if (r->in.names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupNames2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames2 *r) -{ - uint32_t cntr_names_0; - ndr_print_struct(ndr, name, "lsa_LookupNames2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupNames2"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "num_names", r->in.num_names); - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names); - ndr->depth++; - for (cntr_names_0=0;cntr_names_0in.num_names;cntr_names_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) { - ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray2(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options); - ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupNames2"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray2(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CreateTrustedDomainEx2(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomainEx2 *r) -{ - if (flags & NDR_IN) { - if (r->in.policy_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - if (r->in.auth_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.trustdom_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CreateTrustedDomainEx2(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomainEx2 *r) -{ - TALLOC_CTX *_mem_save_policy_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_auth_info_0; - TALLOC_CTX *_mem_save_trustdom_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.policy_handle); - } - _mem_save_policy_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.policy_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.auth_info); - } - _mem_save_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.auth_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - ZERO_STRUCTP(r->out.trustdom_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trustdom_handle); - } - _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CreateTrustedDomainEx2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomainEx2 *r) -{ - ndr_print_struct(ndr, name, "lsa_CreateTrustedDomainEx2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CreateTrustedDomainEx2"); - ndr->depth++; - ndr_print_ptr(ndr, "policy_handle", r->in.policy_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "policy_handle", r->in.policy_handle); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "auth_info", r->in.auth_info); - ndr->depth++; - ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info", r->in.auth_info); - ndr->depth--; - ndr_print_uint32(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CreateTrustedDomainEx2"); - ndr->depth++; - ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRWRITE(struct ndr_push *ndr, int flags, const struct lsa_CREDRWRITE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRWRITE(struct ndr_pull *ndr, int flags, struct lsa_CREDRWRITE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRWRITE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRWRITE *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRWRITE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRWRITE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRWRITE"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRREAD(struct ndr_push *ndr, int flags, const struct lsa_CREDRREAD *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRREAD(struct ndr_pull *ndr, int flags, struct lsa_CREDRREAD *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRREAD(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRREAD *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRREAD"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRREAD"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRREAD"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRENUMERATE(struct ndr_push *ndr, int flags, const struct lsa_CREDRENUMERATE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRENUMERATE(struct ndr_pull *ndr, int flags, struct lsa_CREDRENUMERATE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRENUMERATE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRENUMERATE *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRENUMERATE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRENUMERATE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRENUMERATE"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_push *ndr, int flags, const struct lsa_CREDRWRITEDOMAINCREDENTIALS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_pull *ndr, int flags, struct lsa_CREDRWRITEDOMAINCREDENTIALS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRWRITEDOMAINCREDENTIALS *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRWRITEDOMAINCREDENTIALS"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRWRITEDOMAINCREDENTIALS"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRWRITEDOMAINCREDENTIALS"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_push *ndr, int flags, const struct lsa_CREDRREADDOMAINCREDENTIALS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_pull *ndr, int flags, struct lsa_CREDRREADDOMAINCREDENTIALS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRREADDOMAINCREDENTIALS *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRREADDOMAINCREDENTIALS"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRREADDOMAINCREDENTIALS"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRREADDOMAINCREDENTIALS"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRDELETE(struct ndr_push *ndr, int flags, const struct lsa_CREDRDELETE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRDELETE(struct ndr_pull *ndr, int flags, struct lsa_CREDRDELETE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRDELETE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRDELETE *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRDELETE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRDELETE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRDELETE"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRGETTARGETINFO(struct ndr_push *ndr, int flags, const struct lsa_CREDRGETTARGETINFO *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRGETTARGETINFO(struct ndr_pull *ndr, int flags, struct lsa_CREDRGETTARGETINFO *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRGETTARGETINFO(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRGETTARGETINFO *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRGETTARGETINFO"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRGETTARGETINFO"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRGETTARGETINFO"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRPROFILELOADED(struct ndr_push *ndr, int flags, const struct lsa_CREDRPROFILELOADED *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRPROFILELOADED(struct ndr_pull *ndr, int flags, struct lsa_CREDRPROFILELOADED *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRPROFILELOADED(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRPROFILELOADED *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRPROFILELOADED"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRPROFILELOADED"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRPROFILELOADED"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int flags, const struct lsa_LookupNames3 *r) -{ - uint32_t cntr_names_0; - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names)); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options)); - NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int flags, struct lsa_LookupNames3 *r) -{ - uint32_t cntr_names_0; - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names)); - if (r->in.num_names > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names)); - NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names)); - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options)); - NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision)); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.sids); - *r->out.sids = *r->in.sids; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - if (r->in.names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupNames3(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames3 *r) -{ - uint32_t cntr_names_0; - ndr_print_struct(ndr, name, "lsa_LookupNames3"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupNames3"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "num_names", r->in.num_names); - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names); - ndr->depth++; - for (cntr_names_0=0;cntr_names_0in.num_names;cntr_names_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) { - ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray3(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options); - ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupNames3"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray3(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRGETSESSIONTYPES(struct ndr_push *ndr, int flags, const struct lsa_CREDRGETSESSIONTYPES *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRGETSESSIONTYPES(struct ndr_pull *ndr, int flags, struct lsa_CREDRGETSESSIONTYPES *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRGETSESSIONTYPES(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRGETSESSIONTYPES *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRGETSESSIONTYPES"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRGETSESSIONTYPES"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRGETSESSIONTYPES"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSARREGISTERAUDITEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARREGISTERAUDITEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSARREGISTERAUDITEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARREGISTERAUDITEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSARREGISTERAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARREGISTERAUDITEVENT *r) -{ - ndr_print_struct(ndr, name, "lsa_LSARREGISTERAUDITEVENT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSARREGISTERAUDITEVENT"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSARREGISTERAUDITEVENT"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSARGENAUDITEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARGENAUDITEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSARGENAUDITEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARGENAUDITEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSARGENAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARGENAUDITEVENT *r) -{ - ndr_print_struct(ndr, name, "lsa_LSARGENAUDITEVENT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSARGENAUDITEVENT"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSARGENAUDITEVENT"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARUNREGISTERAUDITEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARUNREGISTERAUDITEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARUNREGISTERAUDITEVENT *r) -{ - ndr_print_struct(ndr, name, "lsa_LSARUNREGISTERAUDITEVENT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSARUNREGISTERAUDITEVENT"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSARUNREGISTERAUDITEVENT"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_lsaRQueryForestTrustInformation(struct ndr_push *ndr, int flags, const struct lsa_lsaRQueryForestTrustInformation *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.trusted_domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain_name)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.unknown)); - } - if (flags & NDR_OUT) { - if (r->out.forest_trust_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info)); - if (*r->out.forest_trust_info) { - NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_lsaRQueryForestTrustInformation(struct ndr_pull *ndr, int flags, struct lsa_lsaRQueryForestTrustInformation *r) -{ - uint32_t _ptr_forest_trust_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_trusted_domain_name_0; - TALLOC_CTX *_mem_save_forest_trust_info_0; - TALLOC_CTX *_mem_save_forest_trust_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name); - } - _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.unknown)); - NDR_PULL_ALLOC(ndr, r->out.forest_trust_info); - ZERO_STRUCTP(r->out.forest_trust_info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.forest_trust_info); - } - _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info)); - if (_ptr_forest_trust_info) { - NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info); - } else { - *r->out.forest_trust_info = NULL; - } - if (*r->out.forest_trust_info) { - _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0); - NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_lsaRQueryForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct lsa_lsaRQueryForestTrustInformation *r) -{ - ndr_print_struct(ndr, name, "lsa_lsaRQueryForestTrustInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_lsaRQueryForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "trusted_domain_name", r->in.trusted_domain_name); - ndr->depth--; - ndr_print_uint16(ndr, "unknown", r->in.unknown); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_lsaRQueryForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info); - ndr->depth++; - ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info); - ndr->depth++; - if (*r->out.forest_trust_info) { - ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_lsaRSetForestTrustInformation(struct ndr_push *ndr, int flags, const struct lsa_lsaRSetForestTrustInformation *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.trusted_domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain_name)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.highest_record_type)); - if (r->in.forest_trust_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.forest_trust_info)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.check_only)); - } - if (flags & NDR_OUT) { - if (r->out.collision_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.collision_info)); - if (*r->out.collision_info) { - NDR_CHECK(ndr_push_lsa_ForestTrustCollisionInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.collision_info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_lsaRSetForestTrustInformation(struct ndr_pull *ndr, int flags, struct lsa_lsaRSetForestTrustInformation *r) -{ - uint32_t _ptr_collision_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_trusted_domain_name_0; - TALLOC_CTX *_mem_save_forest_trust_info_0; - TALLOC_CTX *_mem_save_collision_info_0; - TALLOC_CTX *_mem_save_collision_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name); - } - _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.highest_record_type)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.forest_trust_info); - } - _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.forest_trust_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.forest_trust_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.check_only)); - NDR_PULL_ALLOC(ndr, r->out.collision_info); - ZERO_STRUCTP(r->out.collision_info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.collision_info); - } - _mem_save_collision_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.collision_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_collision_info)); - if (_ptr_collision_info) { - NDR_PULL_ALLOC(ndr, *r->out.collision_info); - } else { - *r->out.collision_info = NULL; - } - if (*r->out.collision_info) { - _mem_save_collision_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.collision_info, 0); - NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.collision_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_collision_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_collision_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_lsaRSetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct lsa_lsaRSetForestTrustInformation *r) -{ - ndr_print_struct(ndr, name, "lsa_lsaRSetForestTrustInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_lsaRSetForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "trusted_domain_name", r->in.trusted_domain_name); - ndr->depth--; - ndr_print_uint16(ndr, "highest_record_type", r->in.highest_record_type); - ndr_print_ptr(ndr, "forest_trust_info", r->in.forest_trust_info); - ndr->depth++; - ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", r->in.forest_trust_info); - ndr->depth--; - ndr_print_uint8(ndr, "check_only", r->in.check_only); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_lsaRSetForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "collision_info", r->out.collision_info); - ndr->depth++; - ndr_print_ptr(ndr, "collision_info", *r->out.collision_info); - ndr->depth++; - if (*r->out.collision_info) { - ndr_print_lsa_ForestTrustCollisionInfo(ndr, "collision_info", *r->out.collision_info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_CREDRRENAME(struct ndr_push *ndr, int flags, const struct lsa_CREDRRENAME *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_CREDRRENAME(struct ndr_pull *ndr, int flags, struct lsa_CREDRRENAME *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_CREDRRENAME(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRRENAME *r) -{ - ndr_print_struct(ndr, name, "lsa_CREDRRENAME"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_CREDRRENAME"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_CREDRRENAME"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids3(struct ndr_push *ndr, int flags, const struct lsa_LookupSids3 *r) -{ - if (flags & NDR_IN) { - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - if (r->in.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options)); - NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids3(struct ndr_pull *ndr, int flags, struct lsa_LookupSids3 *r) -{ - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options)); - NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision)); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.names); - *r->out.names = *r->in.names; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupSids3(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids3 *r) -{ - ndr_print_struct(ndr, name, "lsa_LookupSids3"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupSids3"); - ndr->depth++; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_ptr(ndr, "names", r->in.names); - ndr->depth++; - ndr_print_lsa_TransNameArray2(ndr, "names", r->in.names); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options); - ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupSids3"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "names", r->out.names); - ndr->depth++; - ndr_print_lsa_TransNameArray2(ndr, "names", r->out.names); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int flags, const struct lsa_LookupNames4 *r) -{ - uint32_t cntr_names_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names)); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count)); - NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options)); - NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision)); - } - if (flags & NDR_OUT) { - if (r->out.domains == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains)); - if (*r->out.domains) { - NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - } - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int flags, struct lsa_LookupNames4 *r) -{ - uint32_t cntr_names_0; - uint32_t _ptr_domains; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_domains_0; - TALLOC_CTX *_mem_save_domains_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names)); - if (r->in.num_names > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names)); - NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names)); - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options)); - NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision)); - NDR_PULL_ALLOC(ndr, r->out.domains); - ZERO_STRUCTP(r->out.domains); - NDR_PULL_ALLOC(ndr, r->out.sids); - *r->out.sids = *r->in.sids; - NDR_PULL_ALLOC(ndr, r->out.count); - *r->out.count = *r->in.count; - if (r->in.names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domains); - } - _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains)); - if (_ptr_domains) { - NDR_PULL_ALLOC(ndr, *r->out.domains); - } else { - *r->out.domains = NULL; - } - if (*r->out.domains) { - _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0); - NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LookupNames4(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames4 *r) -{ - uint32_t cntr_names_0; - ndr_print_struct(ndr, name, "lsa_LookupNames4"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LookupNames4"); - ndr->depth++; - ndr_print_uint32(ndr, "num_names", r->in.num_names); - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names); - ndr->depth++; - for (cntr_names_0=0;cntr_names_0in.num_names;cntr_names_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) { - ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray3(ndr, "sids", r->in.sids); - ndr->depth--; - ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "count", r->in.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->in.count); - ndr->depth--; - ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options); - ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LookupNames4"); - ndr->depth++; - ndr_print_ptr(ndr, "domains", r->out.domains); - ndr->depth++; - ndr_print_ptr(ndr, "domains", *r->out.domains); - ndr->depth++; - if (*r->out.domains) { - ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_TransSidArray3(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSAROPENPOLICYSCE(struct ndr_push *ndr, int flags, const struct lsa_LSAROPENPOLICYSCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSAROPENPOLICYSCE(struct ndr_pull *ndr, int flags, struct lsa_LSAROPENPOLICYSCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSAROPENPOLICYSCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSAROPENPOLICYSCE *r) -{ - ndr_print_struct(ndr, name, "lsa_LSAROPENPOLICYSCE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSAROPENPOLICYSCE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSAROPENPOLICYSCE"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_push *ndr, int flags, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_pull *ndr, int flags, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r) -{ - ndr_print_struct(ndr, name, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_push *ndr, int flags, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_pull *ndr, int flags, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r) -{ - ndr_print_struct(ndr, name, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARADTREPORTSECURITYEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARADTREPORTSECURITYEVENT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTREPORTSECURITYEVENT *r) -{ - ndr_print_struct(ndr, name, "lsa_LSARADTREPORTSECURITYEVENT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "lsa_LSARADTREPORTSECURITYEVENT"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "lsa_LSARADTREPORTSECURITYEVENT"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call lsarpc_calls[] = { - { - "lsa_Close", - sizeof(struct lsa_Close), - (ndr_push_flags_fn_t) ndr_push_lsa_Close, - (ndr_pull_flags_fn_t) ndr_pull_lsa_Close, - (ndr_print_function_t) ndr_print_lsa_Close, - false, - }, - { - "lsa_Delete", - sizeof(struct lsa_Delete), - (ndr_push_flags_fn_t) ndr_push_lsa_Delete, - (ndr_pull_flags_fn_t) ndr_pull_lsa_Delete, - (ndr_print_function_t) ndr_print_lsa_Delete, - false, - }, - { - "lsa_EnumPrivs", - sizeof(struct lsa_EnumPrivs), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumPrivs, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumPrivs, - (ndr_print_function_t) ndr_print_lsa_EnumPrivs, - false, - }, - { - "lsa_QuerySecurity", - sizeof(struct lsa_QuerySecurity), - (ndr_push_flags_fn_t) ndr_push_lsa_QuerySecurity, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QuerySecurity, - (ndr_print_function_t) ndr_print_lsa_QuerySecurity, - false, - }, - { - "lsa_SetSecObj", - sizeof(struct lsa_SetSecObj), - (ndr_push_flags_fn_t) ndr_push_lsa_SetSecObj, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetSecObj, - (ndr_print_function_t) ndr_print_lsa_SetSecObj, - false, - }, - { - "lsa_ChangePassword", - sizeof(struct lsa_ChangePassword), - (ndr_push_flags_fn_t) ndr_push_lsa_ChangePassword, - (ndr_pull_flags_fn_t) ndr_pull_lsa_ChangePassword, - (ndr_print_function_t) ndr_print_lsa_ChangePassword, - false, - }, - { - "lsa_OpenPolicy", - sizeof(struct lsa_OpenPolicy), - (ndr_push_flags_fn_t) ndr_push_lsa_OpenPolicy, - (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenPolicy, - (ndr_print_function_t) ndr_print_lsa_OpenPolicy, - false, - }, - { - "lsa_QueryInfoPolicy", - sizeof(struct lsa_QueryInfoPolicy), - (ndr_push_flags_fn_t) ndr_push_lsa_QueryInfoPolicy, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryInfoPolicy, - (ndr_print_function_t) ndr_print_lsa_QueryInfoPolicy, - false, - }, - { - "lsa_SetInfoPolicy", - sizeof(struct lsa_SetInfoPolicy), - (ndr_push_flags_fn_t) ndr_push_lsa_SetInfoPolicy, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetInfoPolicy, - (ndr_print_function_t) ndr_print_lsa_SetInfoPolicy, - false, - }, - { - "lsa_ClearAuditLog", - sizeof(struct lsa_ClearAuditLog), - (ndr_push_flags_fn_t) ndr_push_lsa_ClearAuditLog, - (ndr_pull_flags_fn_t) ndr_pull_lsa_ClearAuditLog, - (ndr_print_function_t) ndr_print_lsa_ClearAuditLog, - false, - }, - { - "lsa_CreateAccount", - sizeof(struct lsa_CreateAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_CreateAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateAccount, - (ndr_print_function_t) ndr_print_lsa_CreateAccount, - false, - }, - { - "lsa_EnumAccounts", - sizeof(struct lsa_EnumAccounts), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumAccounts, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumAccounts, - (ndr_print_function_t) ndr_print_lsa_EnumAccounts, - false, - }, - { - "lsa_CreateTrustedDomain", - sizeof(struct lsa_CreateTrustedDomain), - (ndr_push_flags_fn_t) ndr_push_lsa_CreateTrustedDomain, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateTrustedDomain, - (ndr_print_function_t) ndr_print_lsa_CreateTrustedDomain, - false, - }, - { - "lsa_EnumTrustDom", - sizeof(struct lsa_EnumTrustDom), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumTrustDom, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumTrustDom, - (ndr_print_function_t) ndr_print_lsa_EnumTrustDom, - false, - }, - { - "lsa_LookupNames", - sizeof(struct lsa_LookupNames), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames, - (ndr_print_function_t) ndr_print_lsa_LookupNames, - false, - }, - { - "lsa_LookupSids", - sizeof(struct lsa_LookupSids), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupSids, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupSids, - (ndr_print_function_t) ndr_print_lsa_LookupSids, - false, - }, - { - "lsa_CreateSecret", - sizeof(struct lsa_CreateSecret), - (ndr_push_flags_fn_t) ndr_push_lsa_CreateSecret, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateSecret, - (ndr_print_function_t) ndr_print_lsa_CreateSecret, - false, - }, - { - "lsa_OpenAccount", - sizeof(struct lsa_OpenAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_OpenAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenAccount, - (ndr_print_function_t) ndr_print_lsa_OpenAccount, - false, - }, - { - "lsa_EnumPrivsAccount", - sizeof(struct lsa_EnumPrivsAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumPrivsAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumPrivsAccount, - (ndr_print_function_t) ndr_print_lsa_EnumPrivsAccount, - false, - }, - { - "lsa_AddPrivilegesToAccount", - sizeof(struct lsa_AddPrivilegesToAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_AddPrivilegesToAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_AddPrivilegesToAccount, - (ndr_print_function_t) ndr_print_lsa_AddPrivilegesToAccount, - false, - }, - { - "lsa_RemovePrivilegesFromAccount", - sizeof(struct lsa_RemovePrivilegesFromAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_RemovePrivilegesFromAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_RemovePrivilegesFromAccount, - (ndr_print_function_t) ndr_print_lsa_RemovePrivilegesFromAccount, - false, - }, - { - "lsa_GetQuotasForAccount", - sizeof(struct lsa_GetQuotasForAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_GetQuotasForAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_GetQuotasForAccount, - (ndr_print_function_t) ndr_print_lsa_GetQuotasForAccount, - false, - }, - { - "lsa_SetQuotasForAccount", - sizeof(struct lsa_SetQuotasForAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_SetQuotasForAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetQuotasForAccount, - (ndr_print_function_t) ndr_print_lsa_SetQuotasForAccount, - false, - }, - { - "lsa_GetSystemAccessAccount", - sizeof(struct lsa_GetSystemAccessAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_GetSystemAccessAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_GetSystemAccessAccount, - (ndr_print_function_t) ndr_print_lsa_GetSystemAccessAccount, - false, - }, - { - "lsa_SetSystemAccessAccount", - sizeof(struct lsa_SetSystemAccessAccount), - (ndr_push_flags_fn_t) ndr_push_lsa_SetSystemAccessAccount, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetSystemAccessAccount, - (ndr_print_function_t) ndr_print_lsa_SetSystemAccessAccount, - false, - }, - { - "lsa_OpenTrustedDomain", - sizeof(struct lsa_OpenTrustedDomain), - (ndr_push_flags_fn_t) ndr_push_lsa_OpenTrustedDomain, - (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenTrustedDomain, - (ndr_print_function_t) ndr_print_lsa_OpenTrustedDomain, - false, - }, - { - "lsa_QueryTrustedDomainInfo", - sizeof(struct lsa_QueryTrustedDomainInfo), - (ndr_push_flags_fn_t) ndr_push_lsa_QueryTrustedDomainInfo, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryTrustedDomainInfo, - (ndr_print_function_t) ndr_print_lsa_QueryTrustedDomainInfo, - false, - }, - { - "lsa_SetInformationTrustedDomain", - sizeof(struct lsa_SetInformationTrustedDomain), - (ndr_push_flags_fn_t) ndr_push_lsa_SetInformationTrustedDomain, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetInformationTrustedDomain, - (ndr_print_function_t) ndr_print_lsa_SetInformationTrustedDomain, - false, - }, - { - "lsa_OpenSecret", - sizeof(struct lsa_OpenSecret), - (ndr_push_flags_fn_t) ndr_push_lsa_OpenSecret, - (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenSecret, - (ndr_print_function_t) ndr_print_lsa_OpenSecret, - false, - }, - { - "lsa_SetSecret", - sizeof(struct lsa_SetSecret), - (ndr_push_flags_fn_t) ndr_push_lsa_SetSecret, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetSecret, - (ndr_print_function_t) ndr_print_lsa_SetSecret, - false, - }, - { - "lsa_QuerySecret", - sizeof(struct lsa_QuerySecret), - (ndr_push_flags_fn_t) ndr_push_lsa_QuerySecret, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QuerySecret, - (ndr_print_function_t) ndr_print_lsa_QuerySecret, - false, - }, - { - "lsa_LookupPrivValue", - sizeof(struct lsa_LookupPrivValue), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupPrivValue, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupPrivValue, - (ndr_print_function_t) ndr_print_lsa_LookupPrivValue, - false, - }, - { - "lsa_LookupPrivName", - sizeof(struct lsa_LookupPrivName), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupPrivName, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupPrivName, - (ndr_print_function_t) ndr_print_lsa_LookupPrivName, - false, - }, - { - "lsa_LookupPrivDisplayName", - sizeof(struct lsa_LookupPrivDisplayName), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupPrivDisplayName, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupPrivDisplayName, - (ndr_print_function_t) ndr_print_lsa_LookupPrivDisplayName, - false, - }, - { - "lsa_DeleteObject", - sizeof(struct lsa_DeleteObject), - (ndr_push_flags_fn_t) ndr_push_lsa_DeleteObject, - (ndr_pull_flags_fn_t) ndr_pull_lsa_DeleteObject, - (ndr_print_function_t) ndr_print_lsa_DeleteObject, - false, - }, - { - "lsa_EnumAccountsWithUserRight", - sizeof(struct lsa_EnumAccountsWithUserRight), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumAccountsWithUserRight, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumAccountsWithUserRight, - (ndr_print_function_t) ndr_print_lsa_EnumAccountsWithUserRight, - false, - }, - { - "lsa_EnumAccountRights", - sizeof(struct lsa_EnumAccountRights), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumAccountRights, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumAccountRights, - (ndr_print_function_t) ndr_print_lsa_EnumAccountRights, - false, - }, - { - "lsa_AddAccountRights", - sizeof(struct lsa_AddAccountRights), - (ndr_push_flags_fn_t) ndr_push_lsa_AddAccountRights, - (ndr_pull_flags_fn_t) ndr_pull_lsa_AddAccountRights, - (ndr_print_function_t) ndr_print_lsa_AddAccountRights, - false, - }, - { - "lsa_RemoveAccountRights", - sizeof(struct lsa_RemoveAccountRights), - (ndr_push_flags_fn_t) ndr_push_lsa_RemoveAccountRights, - (ndr_pull_flags_fn_t) ndr_pull_lsa_RemoveAccountRights, - (ndr_print_function_t) ndr_print_lsa_RemoveAccountRights, - false, - }, - { - "lsa_QueryTrustedDomainInfoBySid", - sizeof(struct lsa_QueryTrustedDomainInfoBySid), - (ndr_push_flags_fn_t) ndr_push_lsa_QueryTrustedDomainInfoBySid, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryTrustedDomainInfoBySid, - (ndr_print_function_t) ndr_print_lsa_QueryTrustedDomainInfoBySid, - false, - }, - { - "lsa_SetTrustedDomainInfo", - sizeof(struct lsa_SetTrustedDomainInfo), - (ndr_push_flags_fn_t) ndr_push_lsa_SetTrustedDomainInfo, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetTrustedDomainInfo, - (ndr_print_function_t) ndr_print_lsa_SetTrustedDomainInfo, - false, - }, - { - "lsa_DeleteTrustedDomain", - sizeof(struct lsa_DeleteTrustedDomain), - (ndr_push_flags_fn_t) ndr_push_lsa_DeleteTrustedDomain, - (ndr_pull_flags_fn_t) ndr_pull_lsa_DeleteTrustedDomain, - (ndr_print_function_t) ndr_print_lsa_DeleteTrustedDomain, - false, - }, - { - "lsa_StorePrivateData", - sizeof(struct lsa_StorePrivateData), - (ndr_push_flags_fn_t) ndr_push_lsa_StorePrivateData, - (ndr_pull_flags_fn_t) ndr_pull_lsa_StorePrivateData, - (ndr_print_function_t) ndr_print_lsa_StorePrivateData, - false, - }, - { - "lsa_RetrievePrivateData", - sizeof(struct lsa_RetrievePrivateData), - (ndr_push_flags_fn_t) ndr_push_lsa_RetrievePrivateData, - (ndr_pull_flags_fn_t) ndr_pull_lsa_RetrievePrivateData, - (ndr_print_function_t) ndr_print_lsa_RetrievePrivateData, - false, - }, - { - "lsa_OpenPolicy2", - sizeof(struct lsa_OpenPolicy2), - (ndr_push_flags_fn_t) ndr_push_lsa_OpenPolicy2, - (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenPolicy2, - (ndr_print_function_t) ndr_print_lsa_OpenPolicy2, - false, - }, - { - "lsa_GetUserName", - sizeof(struct lsa_GetUserName), - (ndr_push_flags_fn_t) ndr_push_lsa_GetUserName, - (ndr_pull_flags_fn_t) ndr_pull_lsa_GetUserName, - (ndr_print_function_t) ndr_print_lsa_GetUserName, - false, - }, - { - "lsa_QueryInfoPolicy2", - sizeof(struct lsa_QueryInfoPolicy2), - (ndr_push_flags_fn_t) ndr_push_lsa_QueryInfoPolicy2, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryInfoPolicy2, - (ndr_print_function_t) ndr_print_lsa_QueryInfoPolicy2, - false, - }, - { - "lsa_SetInfoPolicy2", - sizeof(struct lsa_SetInfoPolicy2), - (ndr_push_flags_fn_t) ndr_push_lsa_SetInfoPolicy2, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetInfoPolicy2, - (ndr_print_function_t) ndr_print_lsa_SetInfoPolicy2, - false, - }, - { - "lsa_QueryTrustedDomainInfoByName", - sizeof(struct lsa_QueryTrustedDomainInfoByName), - (ndr_push_flags_fn_t) ndr_push_lsa_QueryTrustedDomainInfoByName, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryTrustedDomainInfoByName, - (ndr_print_function_t) ndr_print_lsa_QueryTrustedDomainInfoByName, - false, - }, - { - "lsa_SetTrustedDomainInfoByName", - sizeof(struct lsa_SetTrustedDomainInfoByName), - (ndr_push_flags_fn_t) ndr_push_lsa_SetTrustedDomainInfoByName, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetTrustedDomainInfoByName, - (ndr_print_function_t) ndr_print_lsa_SetTrustedDomainInfoByName, - false, - }, - { - "lsa_EnumTrustedDomainsEx", - sizeof(struct lsa_EnumTrustedDomainsEx), - (ndr_push_flags_fn_t) ndr_push_lsa_EnumTrustedDomainsEx, - (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumTrustedDomainsEx, - (ndr_print_function_t) ndr_print_lsa_EnumTrustedDomainsEx, - false, - }, - { - "lsa_CreateTrustedDomainEx", - sizeof(struct lsa_CreateTrustedDomainEx), - (ndr_push_flags_fn_t) ndr_push_lsa_CreateTrustedDomainEx, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateTrustedDomainEx, - (ndr_print_function_t) ndr_print_lsa_CreateTrustedDomainEx, - false, - }, - { - "lsa_CloseTrustedDomainEx", - sizeof(struct lsa_CloseTrustedDomainEx), - (ndr_push_flags_fn_t) ndr_push_lsa_CloseTrustedDomainEx, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CloseTrustedDomainEx, - (ndr_print_function_t) ndr_print_lsa_CloseTrustedDomainEx, - false, - }, - { - "lsa_QueryDomainInformationPolicy", - sizeof(struct lsa_QueryDomainInformationPolicy), - (ndr_push_flags_fn_t) ndr_push_lsa_QueryDomainInformationPolicy, - (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryDomainInformationPolicy, - (ndr_print_function_t) ndr_print_lsa_QueryDomainInformationPolicy, - false, - }, - { - "lsa_SetDomainInformationPolicy", - sizeof(struct lsa_SetDomainInformationPolicy), - (ndr_push_flags_fn_t) ndr_push_lsa_SetDomainInformationPolicy, - (ndr_pull_flags_fn_t) ndr_pull_lsa_SetDomainInformationPolicy, - (ndr_print_function_t) ndr_print_lsa_SetDomainInformationPolicy, - false, - }, - { - "lsa_OpenTrustedDomainByName", - sizeof(struct lsa_OpenTrustedDomainByName), - (ndr_push_flags_fn_t) ndr_push_lsa_OpenTrustedDomainByName, - (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenTrustedDomainByName, - (ndr_print_function_t) ndr_print_lsa_OpenTrustedDomainByName, - false, - }, - { - "lsa_TestCall", - sizeof(struct lsa_TestCall), - (ndr_push_flags_fn_t) ndr_push_lsa_TestCall, - (ndr_pull_flags_fn_t) ndr_pull_lsa_TestCall, - (ndr_print_function_t) ndr_print_lsa_TestCall, - false, - }, - { - "lsa_LookupSids2", - sizeof(struct lsa_LookupSids2), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupSids2, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupSids2, - (ndr_print_function_t) ndr_print_lsa_LookupSids2, - false, - }, - { - "lsa_LookupNames2", - sizeof(struct lsa_LookupNames2), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames2, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames2, - (ndr_print_function_t) ndr_print_lsa_LookupNames2, - false, - }, - { - "lsa_CreateTrustedDomainEx2", - sizeof(struct lsa_CreateTrustedDomainEx2), - (ndr_push_flags_fn_t) ndr_push_lsa_CreateTrustedDomainEx2, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateTrustedDomainEx2, - (ndr_print_function_t) ndr_print_lsa_CreateTrustedDomainEx2, - false, - }, - { - "lsa_CREDRWRITE", - sizeof(struct lsa_CREDRWRITE), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRWRITE, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRWRITE, - (ndr_print_function_t) ndr_print_lsa_CREDRWRITE, - false, - }, - { - "lsa_CREDRREAD", - sizeof(struct lsa_CREDRREAD), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRREAD, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRREAD, - (ndr_print_function_t) ndr_print_lsa_CREDRREAD, - false, - }, - { - "lsa_CREDRENUMERATE", - sizeof(struct lsa_CREDRENUMERATE), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRENUMERATE, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRENUMERATE, - (ndr_print_function_t) ndr_print_lsa_CREDRENUMERATE, - false, - }, - { - "lsa_CREDRWRITEDOMAINCREDENTIALS", - sizeof(struct lsa_CREDRWRITEDOMAINCREDENTIALS), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS, - (ndr_print_function_t) ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS, - false, - }, - { - "lsa_CREDRREADDOMAINCREDENTIALS", - sizeof(struct lsa_CREDRREADDOMAINCREDENTIALS), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRREADDOMAINCREDENTIALS, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS, - (ndr_print_function_t) ndr_print_lsa_CREDRREADDOMAINCREDENTIALS, - false, - }, - { - "lsa_CREDRDELETE", - sizeof(struct lsa_CREDRDELETE), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRDELETE, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRDELETE, - (ndr_print_function_t) ndr_print_lsa_CREDRDELETE, - false, - }, - { - "lsa_CREDRGETTARGETINFO", - sizeof(struct lsa_CREDRGETTARGETINFO), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRGETTARGETINFO, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRGETTARGETINFO, - (ndr_print_function_t) ndr_print_lsa_CREDRGETTARGETINFO, - false, - }, - { - "lsa_CREDRPROFILELOADED", - sizeof(struct lsa_CREDRPROFILELOADED), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRPROFILELOADED, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRPROFILELOADED, - (ndr_print_function_t) ndr_print_lsa_CREDRPROFILELOADED, - false, - }, - { - "lsa_LookupNames3", - sizeof(struct lsa_LookupNames3), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames3, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames3, - (ndr_print_function_t) ndr_print_lsa_LookupNames3, - false, - }, - { - "lsa_CREDRGETSESSIONTYPES", - sizeof(struct lsa_CREDRGETSESSIONTYPES), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRGETSESSIONTYPES, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRGETSESSIONTYPES, - (ndr_print_function_t) ndr_print_lsa_CREDRGETSESSIONTYPES, - false, - }, - { - "lsa_LSARREGISTERAUDITEVENT", - sizeof(struct lsa_LSARREGISTERAUDITEVENT), - (ndr_push_flags_fn_t) ndr_push_lsa_LSARREGISTERAUDITEVENT, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARREGISTERAUDITEVENT, - (ndr_print_function_t) ndr_print_lsa_LSARREGISTERAUDITEVENT, - false, - }, - { - "lsa_LSARGENAUDITEVENT", - sizeof(struct lsa_LSARGENAUDITEVENT), - (ndr_push_flags_fn_t) ndr_push_lsa_LSARGENAUDITEVENT, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARGENAUDITEVENT, - (ndr_print_function_t) ndr_print_lsa_LSARGENAUDITEVENT, - false, - }, - { - "lsa_LSARUNREGISTERAUDITEVENT", - sizeof(struct lsa_LSARUNREGISTERAUDITEVENT), - (ndr_push_flags_fn_t) ndr_push_lsa_LSARUNREGISTERAUDITEVENT, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARUNREGISTERAUDITEVENT, - (ndr_print_function_t) ndr_print_lsa_LSARUNREGISTERAUDITEVENT, - false, - }, - { - "lsa_lsaRQueryForestTrustInformation", - sizeof(struct lsa_lsaRQueryForestTrustInformation), - (ndr_push_flags_fn_t) ndr_push_lsa_lsaRQueryForestTrustInformation, - (ndr_pull_flags_fn_t) ndr_pull_lsa_lsaRQueryForestTrustInformation, - (ndr_print_function_t) ndr_print_lsa_lsaRQueryForestTrustInformation, - false, - }, - { - "lsa_lsaRSetForestTrustInformation", - sizeof(struct lsa_lsaRSetForestTrustInformation), - (ndr_push_flags_fn_t) ndr_push_lsa_lsaRSetForestTrustInformation, - (ndr_pull_flags_fn_t) ndr_pull_lsa_lsaRSetForestTrustInformation, - (ndr_print_function_t) ndr_print_lsa_lsaRSetForestTrustInformation, - false, - }, - { - "lsa_CREDRRENAME", - sizeof(struct lsa_CREDRRENAME), - (ndr_push_flags_fn_t) ndr_push_lsa_CREDRRENAME, - (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRRENAME, - (ndr_print_function_t) ndr_print_lsa_CREDRRENAME, - false, - }, - { - "lsa_LookupSids3", - sizeof(struct lsa_LookupSids3), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupSids3, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupSids3, - (ndr_print_function_t) ndr_print_lsa_LookupSids3, - false, - }, - { - "lsa_LookupNames4", - sizeof(struct lsa_LookupNames4), - (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames4, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames4, - (ndr_print_function_t) ndr_print_lsa_LookupNames4, - false, - }, - { - "lsa_LSAROPENPOLICYSCE", - sizeof(struct lsa_LSAROPENPOLICYSCE), - (ndr_push_flags_fn_t) ndr_push_lsa_LSAROPENPOLICYSCE, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSAROPENPOLICYSCE, - (ndr_print_function_t) ndr_print_lsa_LSAROPENPOLICYSCE, - false, - }, - { - "lsa_LSARADTREGISTERSECURITYEVENTSOURCE", - sizeof(struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE), - (ndr_push_flags_fn_t) ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE, - (ndr_print_function_t) ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE, - false, - }, - { - "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE", - sizeof(struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE), - (ndr_push_flags_fn_t) ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, - (ndr_print_function_t) ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, - false, - }, - { - "lsa_LSARADTREPORTSECURITYEVENT", - sizeof(struct lsa_LSARADTREPORTSECURITYEVENT), - (ndr_push_flags_fn_t) ndr_push_lsa_LSARADTREPORTSECURITYEVENT, - (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARADTREPORTSECURITYEVENT, - (ndr_print_function_t) ndr_print_lsa_LSARADTREPORTSECURITYEVENT, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const lsarpc_endpoint_strings[] = { - "ncacn_np:[\\pipe\\lsarpc]", - "ncacn_np:[\\pipe\\netlogon]", - "ncacn_np:[\\pipe\\lsass]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array lsarpc_endpoints = { - .count = 5, - .names = lsarpc_endpoint_strings -}; - -static const char * const lsarpc_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array lsarpc_authservices = { - .count = 1, - .names = lsarpc_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_lsarpc = { - .name = "lsarpc", - .syntax_id = { - {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}}, - NDR_LSARPC_VERSION - }, - .helpstring = NDR_LSARPC_HELPSTRING, - .num_calls = 82, - .calls = lsarpc_calls, - .endpoints = &lsarpc_endpoints, - .authservices = &lsarpc_authservices -}; - diff --git a/librpc/gen_ndr/ndr_lsa.h b/librpc/gen_ndr/ndr_lsa.h deleted file mode 100644 index 4a2392e5908..00000000000 --- a/librpc/gen_ndr/ndr_lsa.h +++ /dev/null @@ -1,423 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/lsa.h" - -#ifndef _HEADER_NDR_lsarpc -#define _HEADER_NDR_lsarpc - -#define NDR_LSARPC_UUID "12345778-1234-abcd-ef00-0123456789ab" -#define NDR_LSARPC_VERSION 0.0 -#define NDR_LSARPC_NAME "lsarpc" -#define NDR_LSARPC_HELPSTRING "Local Security Authority" -extern const struct ndr_interface_table ndr_table_lsarpc; -#define NDR_LSA_CLOSE (0x00) - -#define NDR_LSA_DELETE (0x01) - -#define NDR_LSA_ENUMPRIVS (0x02) - -#define NDR_LSA_QUERYSECURITY (0x03) - -#define NDR_LSA_SETSECOBJ (0x04) - -#define NDR_LSA_CHANGEPASSWORD (0x05) - -#define NDR_LSA_OPENPOLICY (0x06) - -#define NDR_LSA_QUERYINFOPOLICY (0x07) - -#define NDR_LSA_SETINFOPOLICY (0x08) - -#define NDR_LSA_CLEARAUDITLOG (0x09) - -#define NDR_LSA_CREATEACCOUNT (0x0a) - -#define NDR_LSA_ENUMACCOUNTS (0x0b) - -#define NDR_LSA_CREATETRUSTEDDOMAIN (0x0c) - -#define NDR_LSA_ENUMTRUSTDOM (0x0d) - -#define NDR_LSA_LOOKUPNAMES (0x0e) - -#define NDR_LSA_LOOKUPSIDS (0x0f) - -#define NDR_LSA_CREATESECRET (0x10) - -#define NDR_LSA_OPENACCOUNT (0x11) - -#define NDR_LSA_ENUMPRIVSACCOUNT (0x12) - -#define NDR_LSA_ADDPRIVILEGESTOACCOUNT (0x13) - -#define NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT (0x14) - -#define NDR_LSA_GETQUOTASFORACCOUNT (0x15) - -#define NDR_LSA_SETQUOTASFORACCOUNT (0x16) - -#define NDR_LSA_GETSYSTEMACCESSACCOUNT (0x17) - -#define NDR_LSA_SETSYSTEMACCESSACCOUNT (0x18) - -#define NDR_LSA_OPENTRUSTEDDOMAIN (0x19) - -#define NDR_LSA_QUERYTRUSTEDDOMAININFO (0x1a) - -#define NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN (0x1b) - -#define NDR_LSA_OPENSECRET (0x1c) - -#define NDR_LSA_SETSECRET (0x1d) - -#define NDR_LSA_QUERYSECRET (0x1e) - -#define NDR_LSA_LOOKUPPRIVVALUE (0x1f) - -#define NDR_LSA_LOOKUPPRIVNAME (0x20) - -#define NDR_LSA_LOOKUPPRIVDISPLAYNAME (0x21) - -#define NDR_LSA_DELETEOBJECT (0x22) - -#define NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT (0x23) - -#define NDR_LSA_ENUMACCOUNTRIGHTS (0x24) - -#define NDR_LSA_ADDACCOUNTRIGHTS (0x25) - -#define NDR_LSA_REMOVEACCOUNTRIGHTS (0x26) - -#define NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID (0x27) - -#define NDR_LSA_SETTRUSTEDDOMAININFO (0x28) - -#define NDR_LSA_DELETETRUSTEDDOMAIN (0x29) - -#define NDR_LSA_STOREPRIVATEDATA (0x2a) - -#define NDR_LSA_RETRIEVEPRIVATEDATA (0x2b) - -#define NDR_LSA_OPENPOLICY2 (0x2c) - -#define NDR_LSA_GETUSERNAME (0x2d) - -#define NDR_LSA_QUERYINFOPOLICY2 (0x2e) - -#define NDR_LSA_SETINFOPOLICY2 (0x2f) - -#define NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME (0x30) - -#define NDR_LSA_SETTRUSTEDDOMAININFOBYNAME (0x31) - -#define NDR_LSA_ENUMTRUSTEDDOMAINSEX (0x32) - -#define NDR_LSA_CREATETRUSTEDDOMAINEX (0x33) - -#define NDR_LSA_CLOSETRUSTEDDOMAINEX (0x34) - -#define NDR_LSA_QUERYDOMAININFORMATIONPOLICY (0x35) - -#define NDR_LSA_SETDOMAININFORMATIONPOLICY (0x36) - -#define NDR_LSA_OPENTRUSTEDDOMAINBYNAME (0x37) - -#define NDR_LSA_TESTCALL (0x38) - -#define NDR_LSA_LOOKUPSIDS2 (0x39) - -#define NDR_LSA_LOOKUPNAMES2 (0x3a) - -#define NDR_LSA_CREATETRUSTEDDOMAINEX2 (0x3b) - -#define NDR_LSA_CREDRWRITE (0x3c) - -#define NDR_LSA_CREDRREAD (0x3d) - -#define NDR_LSA_CREDRENUMERATE (0x3e) - -#define NDR_LSA_CREDRWRITEDOMAINCREDENTIALS (0x3f) - -#define NDR_LSA_CREDRREADDOMAINCREDENTIALS (0x40) - -#define NDR_LSA_CREDRDELETE (0x41) - -#define NDR_LSA_CREDRGETTARGETINFO (0x42) - -#define NDR_LSA_CREDRPROFILELOADED (0x43) - -#define NDR_LSA_LOOKUPNAMES3 (0x44) - -#define NDR_LSA_CREDRGETSESSIONTYPES (0x45) - -#define NDR_LSA_LSARREGISTERAUDITEVENT (0x46) - -#define NDR_LSA_LSARGENAUDITEVENT (0x47) - -#define NDR_LSA_LSARUNREGISTERAUDITEVENT (0x48) - -#define NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION (0x49) - -#define NDR_LSA_LSARSETFORESTTRUSTINFORMATION (0x4a) - -#define NDR_LSA_CREDRRENAME (0x4b) - -#define NDR_LSA_LOOKUPSIDS3 (0x4c) - -#define NDR_LSA_LOOKUPNAMES4 (0x4d) - -#define NDR_LSA_LSAROPENPOLICYSCE (0x4e) - -#define NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE (0x4f) - -#define NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE (0x50) - -#define NDR_LSA_LSARADTREPORTSECURITYEVENT (0x51) - -#define NDR_LSARPC_CALL_COUNT (82) -enum ndr_err_code ndr_push_lsa_String(struct ndr_push *ndr, int ndr_flags, const struct lsa_String *r); -enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_flags, struct lsa_String *r); -void ndr_print_lsa_String(struct ndr_print *ndr, const char *name, const struct lsa_String *r); -enum ndr_err_code ndr_push_lsa_StringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_StringLarge *r); -enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_StringLarge *r); -void ndr_print_lsa_StringLarge(struct ndr_print *ndr, const char *name, const struct lsa_StringLarge *r); -enum ndr_err_code ndr_push_lsa_Strings(struct ndr_push *ndr, int ndr_flags, const struct lsa_Strings *r); -enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_flags, struct lsa_Strings *r); -void ndr_print_lsa_Strings(struct ndr_print *ndr, const char *name, const struct lsa_Strings *r); -enum ndr_err_code ndr_push_lsa_AsciiString(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiString *r); -enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiString *r); -void ndr_print_lsa_AsciiString(struct ndr_print *ndr, const char *name, const struct lsa_AsciiString *r); -enum ndr_err_code ndr_push_lsa_AsciiStringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiStringLarge *r); -enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiStringLarge *r); -void ndr_print_lsa_AsciiStringLarge(struct ndr_print *ndr, const char *name, const struct lsa_AsciiStringLarge *r); -enum ndr_err_code ndr_push_lsa_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct lsa_BinaryString *r); -enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct lsa_BinaryString *r); -void ndr_print_lsa_BinaryString(struct ndr_print *ndr, const char *name, const struct lsa_BinaryString *r); -void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, const struct lsa_LUID *r); -void ndr_print_lsa_PrivEntry(struct ndr_print *ndr, const char *name, const struct lsa_PrivEntry *r); -void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, const struct lsa_PrivArray *r); -void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, const struct lsa_QosInfo *r); -void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *name, const struct lsa_ObjectAttribute *r); -enum ndr_err_code ndr_push_lsa_PolicyAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_lsa_PolicyAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_lsa_PolicyAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_lsa_AccountAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_lsa_AccountAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_lsa_AccountAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_lsa_SecretAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_lsa_SecretAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_lsa_SecretAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_lsa_TrustedAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_lsa_TrustedAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_lsa_TrustedAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditLogInfo *r); -void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print *ndr, const char *name, enum lsa_PolicyAuditPolicy r); -void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditEventsInfo *r); -void ndr_print_lsa_DomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfo *r); -void ndr_print_lsa_PDAccountInfo(struct ndr_print *ndr, const char *name, const struct lsa_PDAccountInfo *r); -void ndr_print_lsa_Role(struct ndr_print *ndr, const char *name, enum lsa_Role r); -void ndr_print_lsa_ServerRole(struct ndr_print *ndr, const char *name, const struct lsa_ServerRole *r); -void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print *ndr, const char *name, const struct lsa_ReplicaSourceInfo *r); -void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print *ndr, const char *name, const struct lsa_DefaultQuotaInfo *r); -void ndr_print_lsa_ModificationInfo(struct ndr_print *ndr, const char *name, const struct lsa_ModificationInfo *r); -void ndr_print_lsa_AuditFullSetInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullSetInfo *r); -void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullQueryInfo *r); -void ndr_print_lsa_DnsDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DnsDomainInfo *r); -void ndr_print_lsa_PolicyInfo(struct ndr_print *ndr, const char *name, enum lsa_PolicyInfo r); -void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char *name, const union lsa_PolicyInformation *r); -void ndr_print_lsa_SidPtr(struct ndr_print *ndr, const char *name, const struct lsa_SidPtr *r); -enum ndr_err_code ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidArray *r); -enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r); -void ndr_print_lsa_SidArray(struct ndr_print *ndr, const char *name, const struct lsa_SidArray *r); -void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name, const struct lsa_DomainList *r); -enum ndr_err_code ndr_push_lsa_SidType(struct ndr_push *ndr, int ndr_flags, enum lsa_SidType r); -enum ndr_err_code ndr_pull_lsa_SidType(struct ndr_pull *ndr, int ndr_flags, enum lsa_SidType *r); -void ndr_print_lsa_SidType(struct ndr_print *ndr, const char *name, enum lsa_SidType r); -void ndr_print_lsa_TranslatedSid(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid *r); -void ndr_print_lsa_TransSidArray(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray *r); -void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *name, const struct lsa_RefDomainList *r); -void ndr_print_lsa_LookupNamesLevel(struct ndr_print *ndr, const char *name, enum lsa_LookupNamesLevel r); -void ndr_print_lsa_TranslatedName(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName *r); -void ndr_print_lsa_TransNameArray(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray *r); -void ndr_print_lsa_LUIDAttribute(struct ndr_print *ndr, const char *name, const struct lsa_LUIDAttribute *r); -void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, const struct lsa_PrivilegeSet *r); -void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF *r); -void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF2 *r); -void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *name, enum lsa_TrustDomInfoEnum r); -enum ndr_err_code ndr_push_lsa_TrustDirection(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_lsa_TrustDirection(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_lsa_TrustType(struct ndr_print *ndr, const char *name, enum lsa_TrustType r); -enum ndr_err_code ndr_push_lsa_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_lsa_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_lsa_TrustDomainInfoName(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoName *r); -void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoControllers *r); -void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPosixOffset *r); -void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPassword *r); -void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBasic *r); -void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx *r); -enum ndr_err_code ndr_push_lsa_TrustAuthType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustAuthType r); -enum ndr_err_code ndr_pull_lsa_TrustAuthType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustAuthType *r); -void ndr_print_lsa_TrustAuthType(struct ndr_print *ndr, const char *name, enum lsa_TrustAuthType r); -void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBuffer *r); -enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfo *r); -enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoAuthInfo *r); -void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfo *r); -void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo *r); -void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfoInternal *r); -void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfoInternal *r); -void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx2Internal *r); -void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo2Internal *r); -void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoSupportedEncTypes *r); -void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char *name, const union lsa_TrustedDomainInfo *r); -void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF_PTR *r); -void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, const struct lsa_RightSet *r); -void ndr_print_lsa_DomainListEx(struct ndr_print *ndr, const char *name, const struct lsa_DomainListEx *r); -void ndr_print_lsa_DomainInfoKerberos(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoKerberos *r); -void ndr_print_lsa_DomainInfoEfs(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoEfs *r); -void ndr_print_lsa_DomainInformationPolicy(struct ndr_print *ndr, const char *name, const union lsa_DomainInformationPolicy *r); -void ndr_print_lsa_TranslatedName2(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName2 *r); -void ndr_print_lsa_TransNameArray2(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray2 *r); -void ndr_print_lsa_LookupOptions(struct ndr_print *ndr, const char *name, enum lsa_LookupOptions r); -void ndr_print_lsa_ClientRevision(struct ndr_print *ndr, const char *name, enum lsa_ClientRevision r); -void ndr_print_lsa_TranslatedSid2(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid2 *r); -void ndr_print_lsa_TransSidArray2(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray2 *r); -void ndr_print_lsa_TranslatedSid3(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid3 *r); -void ndr_print_lsa_TransSidArray3(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray3 *r); -void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustBinaryData *r); -void ndr_print_lsa_ForestTrustDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustDomainInfo *r); -void ndr_print_lsa_ForestTrustData(struct ndr_print *ndr, const char *name, const union lsa_ForestTrustData *r); -void ndr_print_lsa_ForestTrustRecordType(struct ndr_print *ndr, const char *name, enum lsa_ForestTrustRecordType r); -void ndr_print_lsa_ForestTrustRecord(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustRecord *r); -enum ndr_err_code ndr_push_lsa_ForestTrustInformation(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustInformation *r); -enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustInformation *r); -void ndr_print_lsa_ForestTrustInformation(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustInformation *r); -void ndr_print_lsa_ForestTrustCollisionRecordType(struct ndr_print *ndr, const char *name, enum lsa_ForestTrustCollisionRecordType r); -void ndr_print_lsa_ForestTrustCollisionTDOFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_lsa_ForestTrustCollisionXrefFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_lsa_ForestTrustCollisionFlags(struct ndr_print *ndr, const char *name, const union lsa_ForestTrustCollisionFlags *r); -void ndr_print_lsa_ForestTrustCollisionRecord(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustCollisionRecord *r); -void ndr_print_lsa_ForestTrustCollisionInfo(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustCollisionInfo *r); -void ndr_print_lsa_Close(struct ndr_print *ndr, const char *name, int flags, const struct lsa_Close *r); -enum ndr_err_code ndr_push_lsa_Delete(struct ndr_push *ndr, int flags, const struct lsa_Delete *r); -enum ndr_err_code ndr_pull_lsa_Delete(struct ndr_pull *ndr, int flags, struct lsa_Delete *r); -void ndr_print_lsa_Delete(struct ndr_print *ndr, const char *name, int flags, const struct lsa_Delete *r); -enum ndr_err_code ndr_push_lsa_EnumPrivs(struct ndr_push *ndr, int flags, const struct lsa_EnumPrivs *r); -enum ndr_err_code ndr_pull_lsa_EnumPrivs(struct ndr_pull *ndr, int flags, struct lsa_EnumPrivs *r); -void ndr_print_lsa_EnumPrivs(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumPrivs *r); -void ndr_print_lsa_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QuerySecurity *r); -void ndr_print_lsa_SetSecObj(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSecObj *r); -void ndr_print_lsa_ChangePassword(struct ndr_print *ndr, const char *name, int flags, const struct lsa_ChangePassword *r); -enum ndr_err_code ndr_push_lsa_OpenPolicy(struct ndr_push *ndr, int flags, const struct lsa_OpenPolicy *r); -enum ndr_err_code ndr_pull_lsa_OpenPolicy(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy *r); -void ndr_print_lsa_OpenPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenPolicy *r); -void ndr_print_lsa_QueryInfoPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryInfoPolicy *r); -void ndr_print_lsa_SetInfoPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInfoPolicy *r); -void ndr_print_lsa_ClearAuditLog(struct ndr_print *ndr, const char *name, int flags, const struct lsa_ClearAuditLog *r); -enum ndr_err_code ndr_push_lsa_CreateAccount(struct ndr_push *ndr, int flags, const struct lsa_CreateAccount *r); -enum ndr_err_code ndr_pull_lsa_CreateAccount(struct ndr_pull *ndr, int flags, struct lsa_CreateAccount *r); -void ndr_print_lsa_CreateAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateAccount *r); -enum ndr_err_code ndr_push_lsa_EnumAccounts(struct ndr_push *ndr, int flags, const struct lsa_EnumAccounts *r); -enum ndr_err_code ndr_pull_lsa_EnumAccounts(struct ndr_pull *ndr, int flags, struct lsa_EnumAccounts *r); -void ndr_print_lsa_EnumAccounts(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccounts *r); -enum ndr_err_code ndr_push_lsa_CreateTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomain *r); -enum ndr_err_code ndr_pull_lsa_CreateTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomain *r); -void ndr_print_lsa_CreateTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomain *r); -void ndr_print_lsa_EnumTrustDom(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumTrustDom *r); -enum ndr_err_code ndr_push_lsa_LookupNames(struct ndr_push *ndr, int flags, const struct lsa_LookupNames *r); -enum ndr_err_code ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, int flags, struct lsa_LookupNames *r); -void ndr_print_lsa_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames *r); -enum ndr_err_code ndr_push_lsa_LookupSids(struct ndr_push *ndr, int flags, const struct lsa_LookupSids *r); -enum ndr_err_code ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, int flags, struct lsa_LookupSids *r); -void ndr_print_lsa_LookupSids(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids *r); -enum ndr_err_code ndr_push_lsa_CreateSecret(struct ndr_push *ndr, int flags, const struct lsa_CreateSecret *r); -enum ndr_err_code ndr_pull_lsa_CreateSecret(struct ndr_pull *ndr, int flags, struct lsa_CreateSecret *r); -void ndr_print_lsa_CreateSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateSecret *r); -void ndr_print_lsa_OpenAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenAccount *r); -void ndr_print_lsa_EnumPrivsAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumPrivsAccount *r); -void ndr_print_lsa_AddPrivilegesToAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_AddPrivilegesToAccount *r); -void ndr_print_lsa_RemovePrivilegesFromAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RemovePrivilegesFromAccount *r); -void ndr_print_lsa_GetQuotasForAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetQuotasForAccount *r); -void ndr_print_lsa_SetQuotasForAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetQuotasForAccount *r); -void ndr_print_lsa_GetSystemAccessAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetSystemAccessAccount *r); -void ndr_print_lsa_SetSystemAccessAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSystemAccessAccount *r); -void ndr_print_lsa_OpenTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenTrustedDomain *r); -void ndr_print_lsa_QueryTrustedDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfo *r); -void ndr_print_lsa_SetInformationTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInformationTrustedDomain *r); -enum ndr_err_code ndr_push_lsa_OpenSecret(struct ndr_push *ndr, int flags, const struct lsa_OpenSecret *r); -enum ndr_err_code ndr_pull_lsa_OpenSecret(struct ndr_pull *ndr, int flags, struct lsa_OpenSecret *r); -void ndr_print_lsa_OpenSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenSecret *r); -enum ndr_err_code ndr_push_lsa_SetSecret(struct ndr_push *ndr, int flags, const struct lsa_SetSecret *r); -enum ndr_err_code ndr_pull_lsa_SetSecret(struct ndr_pull *ndr, int flags, struct lsa_SetSecret *r); -void ndr_print_lsa_SetSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSecret *r); -enum ndr_err_code ndr_push_lsa_QuerySecret(struct ndr_push *ndr, int flags, const struct lsa_QuerySecret *r); -enum ndr_err_code ndr_pull_lsa_QuerySecret(struct ndr_pull *ndr, int flags, struct lsa_QuerySecret *r); -void ndr_print_lsa_QuerySecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QuerySecret *r); -void ndr_print_lsa_LookupPrivValue(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivValue *r); -void ndr_print_lsa_LookupPrivName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivName *r); -void ndr_print_lsa_LookupPrivDisplayName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivDisplayName *r); -void ndr_print_lsa_DeleteObject(struct ndr_print *ndr, const char *name, int flags, const struct lsa_DeleteObject *r); -void ndr_print_lsa_EnumAccountsWithUserRight(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccountsWithUserRight *r); -void ndr_print_lsa_EnumAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccountRights *r); -void ndr_print_lsa_AddAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_AddAccountRights *r); -void ndr_print_lsa_RemoveAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RemoveAccountRights *r); -void ndr_print_lsa_QueryTrustedDomainInfoBySid(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfoBySid *r); -void ndr_print_lsa_SetTrustedDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetTrustedDomainInfo *r); -void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_DeleteTrustedDomain *r); -void ndr_print_lsa_StorePrivateData(struct ndr_print *ndr, const char *name, int flags, const struct lsa_StorePrivateData *r); -void ndr_print_lsa_RetrievePrivateData(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RetrievePrivateData *r); -enum ndr_err_code ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, int flags, const struct lsa_OpenPolicy2 *r); -enum ndr_err_code ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy2 *r); -void ndr_print_lsa_OpenPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenPolicy2 *r); -void ndr_print_lsa_GetUserName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetUserName *r); -void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryInfoPolicy2 *r); -void ndr_print_lsa_SetInfoPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInfoPolicy2 *r); -void ndr_print_lsa_QueryTrustedDomainInfoByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfoByName *r); -enum ndr_err_code ndr_push_lsa_SetTrustedDomainInfoByName(struct ndr_push *ndr, int flags, const struct lsa_SetTrustedDomainInfoByName *r); -enum ndr_err_code ndr_pull_lsa_SetTrustedDomainInfoByName(struct ndr_pull *ndr, int flags, struct lsa_SetTrustedDomainInfoByName *r); -void ndr_print_lsa_SetTrustedDomainInfoByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetTrustedDomainInfoByName *r); -void ndr_print_lsa_EnumTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumTrustedDomainsEx *r); -void ndr_print_lsa_CreateTrustedDomainEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomainEx *r); -void ndr_print_lsa_CloseTrustedDomainEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CloseTrustedDomainEx *r); -void ndr_print_lsa_QueryDomainInformationPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryDomainInformationPolicy *r); -void ndr_print_lsa_SetDomainInformationPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetDomainInformationPolicy *r); -void ndr_print_lsa_OpenTrustedDomainByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenTrustedDomainByName *r); -void ndr_print_lsa_TestCall(struct ndr_print *ndr, const char *name, int flags, const struct lsa_TestCall *r); -enum ndr_err_code ndr_push_lsa_LookupSids2(struct ndr_push *ndr, int flags, const struct lsa_LookupSids2 *r); -enum ndr_err_code ndr_pull_lsa_LookupSids2(struct ndr_pull *ndr, int flags, struct lsa_LookupSids2 *r); -void ndr_print_lsa_LookupSids2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids2 *r); -enum ndr_err_code ndr_push_lsa_LookupNames2(struct ndr_push *ndr, int flags, const struct lsa_LookupNames2 *r); -enum ndr_err_code ndr_pull_lsa_LookupNames2(struct ndr_pull *ndr, int flags, struct lsa_LookupNames2 *r); -void ndr_print_lsa_LookupNames2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames2 *r); -void ndr_print_lsa_CreateTrustedDomainEx2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomainEx2 *r); -void ndr_print_lsa_CREDRWRITE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRWRITE *r); -void ndr_print_lsa_CREDRREAD(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRREAD *r); -void ndr_print_lsa_CREDRENUMERATE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRENUMERATE *r); -void ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRWRITEDOMAINCREDENTIALS *r); -void ndr_print_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRREADDOMAINCREDENTIALS *r); -void ndr_print_lsa_CREDRDELETE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRDELETE *r); -void ndr_print_lsa_CREDRGETTARGETINFO(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRGETTARGETINFO *r); -void ndr_print_lsa_CREDRPROFILELOADED(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRPROFILELOADED *r); -enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int flags, const struct lsa_LookupNames3 *r); -enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int flags, struct lsa_LookupNames3 *r); -void ndr_print_lsa_LookupNames3(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames3 *r); -void ndr_print_lsa_CREDRGETSESSIONTYPES(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRGETSESSIONTYPES *r); -void ndr_print_lsa_LSARREGISTERAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARREGISTERAUDITEVENT *r); -void ndr_print_lsa_LSARGENAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARGENAUDITEVENT *r); -void ndr_print_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARUNREGISTERAUDITEVENT *r); -void ndr_print_lsa_lsaRQueryForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct lsa_lsaRQueryForestTrustInformation *r); -enum ndr_err_code ndr_push_lsa_lsaRSetForestTrustInformation(struct ndr_push *ndr, int flags, const struct lsa_lsaRSetForestTrustInformation *r); -enum ndr_err_code ndr_pull_lsa_lsaRSetForestTrustInformation(struct ndr_pull *ndr, int flags, struct lsa_lsaRSetForestTrustInformation *r); -void ndr_print_lsa_lsaRSetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct lsa_lsaRSetForestTrustInformation *r); -void ndr_print_lsa_CREDRRENAME(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRRENAME *r); -enum ndr_err_code ndr_push_lsa_LookupSids3(struct ndr_push *ndr, int flags, const struct lsa_LookupSids3 *r); -enum ndr_err_code ndr_pull_lsa_LookupSids3(struct ndr_pull *ndr, int flags, struct lsa_LookupSids3 *r); -void ndr_print_lsa_LookupSids3(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids3 *r); -void ndr_print_lsa_LookupNames4(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames4 *r); -void ndr_print_lsa_LSAROPENPOLICYSCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSAROPENPOLICYSCE *r); -void ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r); -void ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r); -void ndr_print_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTREPORTSECURITYEVENT *r); -#endif /* _HEADER_NDR_lsarpc */ diff --git a/librpc/gen_ndr/ndr_misc.c b/librpc/gen_ndr/ndr_misc.c deleted file mode 100644 index 1f4d0c91e8b..00000000000 --- a/librpc/gen_ndr/ndr_misc.c +++ /dev/null @@ -1,470 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_misc.h" - -_PUBLIC_ enum ndr_err_code ndr_push_GUID(struct ndr_push *ndr, int ndr_flags, const struct GUID *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time_low)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->time_mid)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->time_hi_and_version)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->clock_seq, 2)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->node, 6)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_GUID(struct ndr_pull *ndr, int ndr_flags, struct GUID *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time_low)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_mid)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_hi_and_version)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->clock_seq, 2)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->node, 6)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ size_t ndr_size_GUID(const struct GUID *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_GUID, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_ndr_syntax_id(struct ndr_push *ndr, int ndr_flags, const struct ndr_syntax_id *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->if_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ndr_syntax_id(struct ndr_pull *ndr, int ndr_flags, struct ndr_syntax_id *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->if_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ndr_syntax_id(struct ndr_print *ndr, const char *name, const struct ndr_syntax_id *r) -{ - ndr_print_struct(ndr, name, "ndr_syntax_id"); - ndr->depth++; - ndr_print_GUID(ndr, "uuid", &r->uuid); - ndr_print_uint32(ndr, "if_version", r->if_version); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_policy_handle(struct ndr_push *ndr, int ndr_flags, const struct policy_handle *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->handle_type)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_policy_handle(struct ndr_pull *ndr, int ndr_flags, struct policy_handle *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->handle_type)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_policy_handle(struct ndr_print *ndr, const char *name, const struct policy_handle *r) -{ - ndr_print_struct(ndr, name, "policy_handle"); - ndr->depth++; - ndr_print_uint32(ndr, "handle_type", r->handle_type); - ndr_print_GUID(ndr, "uuid", &r->uuid); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_SchannelType(struct ndr_push *ndr, int ndr_flags, enum netr_SchannelType r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_SchannelType(struct ndr_pull *ndr, int ndr_flags, enum netr_SchannelType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SchannelType(struct ndr_print *ndr, const char *name, enum netr_SchannelType r) -{ - const char *val = NULL; - - switch (r) { - case SEC_CHAN_NULL: val = "SEC_CHAN_NULL"; break; - case SEC_CHAN_WKSTA: val = "SEC_CHAN_WKSTA"; break; - case SEC_CHAN_DNS_DOMAIN: val = "SEC_CHAN_DNS_DOMAIN"; break; - case SEC_CHAN_DOMAIN: val = "SEC_CHAN_DOMAIN"; break; - case SEC_CHAN_BDC: val = "SEC_CHAN_BDC"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_KRB5_EDATA_NTSTATUS(struct ndr_push *ndr, int ndr_flags, const struct KRB5_EDATA_NTSTATUS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->ntstatus)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_KRB5_EDATA_NTSTATUS(struct ndr_pull *ndr, int ndr_flags, struct KRB5_EDATA_NTSTATUS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->ntstatus)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_KRB5_EDATA_NTSTATUS(struct ndr_print *ndr, const char *name, const struct KRB5_EDATA_NTSTATUS *r) -{ - ndr_print_struct(ndr, name, "KRB5_EDATA_NTSTATUS"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "ntstatus", r->ntstatus); - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_Type(struct ndr_push *ndr, int ndr_flags, enum winreg_Type r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_Type(struct ndr_pull *ndr, int ndr_flags, enum winreg_Type *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_Type(struct ndr_print *ndr, const char *name, enum winreg_Type r) -{ - const char *val = NULL; - - switch (r) { - case REG_NONE: val = "REG_NONE"; break; - case REG_SZ: val = "REG_SZ"; break; - case REG_EXPAND_SZ: val = "REG_EXPAND_SZ"; break; - case REG_BINARY: val = "REG_BINARY"; break; - case REG_DWORD: val = "REG_DWORD"; break; - case REG_DWORD_BIG_ENDIAN: val = "REG_DWORD_BIG_ENDIAN"; break; - case REG_LINK: val = "REG_LINK"; break; - case REG_MULTI_SZ: val = "REG_MULTI_SZ"; break; - case REG_RESOURCE_LIST: val = "REG_RESOURCE_LIST"; break; - case REG_FULL_RESOURCE_DESCRIPTOR: val = "REG_FULL_RESOURCE_DESCRIPTOR"; break; - case REG_RESOURCE_REQUIREMENTS_LIST: val = "REG_RESOURCE_REQUIREMENTS_LIST"; break; - case REG_QWORD: val = "REG_QWORD"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_Data(struct ndr_push *ndr, int ndr_flags, const union winreg_Data *r) -{ - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case REG_NONE: { - break; } - - case REG_SZ: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case REG_EXPAND_SZ: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case REG_BINARY: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - case REG_DWORD: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value)); - break; } - - case REG_DWORD_BIG_ENDIAN: { - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value)); - ndr->flags = _flags_save_uint32; - } - break; } - - case REG_MULTI_SZ: { - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array)); - ndr->flags = _flags_save_string_array; - } - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case REG_NONE: - break; - - case REG_SZ: - break; - - case REG_EXPAND_SZ: - break; - - case REG_BINARY: - break; - - case REG_DWORD: - break; - - case REG_DWORD_BIG_ENDIAN: - break; - - case REG_MULTI_SZ: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_Data(struct ndr_pull *ndr, int ndr_flags, union winreg_Data *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case REG_NONE: { - break; } - - case REG_SZ: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case REG_EXPAND_SZ: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case REG_BINARY: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - case REG_DWORD: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value)); - break; } - - case REG_DWORD_BIG_ENDIAN: { - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value)); - ndr->flags = _flags_save_uint32; - } - break; } - - case REG_MULTI_SZ: { - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array)); - ndr->flags = _flags_save_string_array; - } - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case REG_NONE: - break; - - case REG_SZ: - break; - - case REG_EXPAND_SZ: - break; - - case REG_BINARY: - break; - - case REG_DWORD: - break; - - case REG_DWORD_BIG_ENDIAN: - break; - - case REG_MULTI_SZ: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_Data(struct ndr_print *ndr, const char *name, const union winreg_Data *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "winreg_Data"); - switch (level) { - case REG_NONE: - break; - - case REG_SZ: - ndr_print_string(ndr, "string", r->string); - break; - - case REG_EXPAND_SZ: - ndr_print_string(ndr, "string", r->string); - break; - - case REG_BINARY: - ndr_print_DATA_BLOB(ndr, "binary", r->binary); - break; - - case REG_DWORD: - ndr_print_uint32(ndr, "value", r->value); - break; - - case REG_DWORD_BIG_ENDIAN: - ndr_print_uint32(ndr, "value", r->value); - break; - - case REG_MULTI_SZ: - ndr_print_string_array(ndr, "string_array", r->string_array); - break; - - default: - ndr_print_DATA_BLOB(ndr, "data", r->data); - break; - - } - ndr->flags = _flags_save_UNION; - } -} - diff --git a/librpc/gen_ndr/ndr_misc.h b/librpc/gen_ndr/ndr_misc.h deleted file mode 100644 index 99f975208a1..00000000000 --- a/librpc/gen_ndr/ndr_misc.h +++ /dev/null @@ -1,32 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/misc.h" - -#ifndef _HEADER_NDR_misc -#define _HEADER_NDR_misc - -#define NDR_MISC_CALL_COUNT (0) -enum ndr_err_code ndr_push_GUID(struct ndr_push *ndr, int ndr_flags, const struct GUID *r); -enum ndr_err_code ndr_pull_GUID(struct ndr_pull *ndr, int ndr_flags, struct GUID *r); -void ndr_print_GUID(struct ndr_print *ndr, const char *name, const struct GUID *r); -size_t ndr_size_GUID(const struct GUID *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_ndr_syntax_id(struct ndr_push *ndr, int ndr_flags, const struct ndr_syntax_id *r); -enum ndr_err_code ndr_pull_ndr_syntax_id(struct ndr_pull *ndr, int ndr_flags, struct ndr_syntax_id *r); -void ndr_print_ndr_syntax_id(struct ndr_print *ndr, const char *name, const struct ndr_syntax_id *r); -enum ndr_err_code ndr_push_policy_handle(struct ndr_push *ndr, int ndr_flags, const struct policy_handle *r); -enum ndr_err_code ndr_pull_policy_handle(struct ndr_pull *ndr, int ndr_flags, struct policy_handle *r); -void ndr_print_policy_handle(struct ndr_print *ndr, const char *name, const struct policy_handle *r); -enum ndr_err_code ndr_push_netr_SchannelType(struct ndr_push *ndr, int ndr_flags, enum netr_SchannelType r); -enum ndr_err_code ndr_pull_netr_SchannelType(struct ndr_pull *ndr, int ndr_flags, enum netr_SchannelType *r); -void ndr_print_netr_SchannelType(struct ndr_print *ndr, const char *name, enum netr_SchannelType r); -enum ndr_err_code ndr_push_KRB5_EDATA_NTSTATUS(struct ndr_push *ndr, int ndr_flags, const struct KRB5_EDATA_NTSTATUS *r); -enum ndr_err_code ndr_pull_KRB5_EDATA_NTSTATUS(struct ndr_pull *ndr, int ndr_flags, struct KRB5_EDATA_NTSTATUS *r); -void ndr_print_KRB5_EDATA_NTSTATUS(struct ndr_print *ndr, const char *name, const struct KRB5_EDATA_NTSTATUS *r); -enum ndr_err_code ndr_push_winreg_Type(struct ndr_push *ndr, int ndr_flags, enum winreg_Type r); -enum ndr_err_code ndr_pull_winreg_Type(struct ndr_pull *ndr, int ndr_flags, enum winreg_Type *r); -void ndr_print_winreg_Type(struct ndr_print *ndr, const char *name, enum winreg_Type r); -enum ndr_err_code ndr_push_winreg_Data(struct ndr_push *ndr, int ndr_flags, const union winreg_Data *r); -enum ndr_err_code ndr_pull_winreg_Data(struct ndr_pull *ndr, int ndr_flags, union winreg_Data *r); -void ndr_print_winreg_Data(struct ndr_print *ndr, const char *name, const union winreg_Data *r); -#endif /* _HEADER_NDR_misc */ diff --git a/librpc/gen_ndr/ndr_named_pipe_auth.c b/librpc/gen_ndr/ndr_named_pipe_auth.c deleted file mode 100644 index 18eadf92373..00000000000 --- a/librpc/gen_ndr/ndr_named_pipe_auth.c +++ /dev/null @@ -1,943 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_named_pipe_auth.h" - -#include "librpc/gen_ndr/ndr_netlogon.h" -static enum ndr_err_code ndr_push_named_pipe_auth_req_info2(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req_info2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_addr)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->client_port)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_addr)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->server_port)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam_info3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_key_length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->session_key)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_name, ndr_charset_length(r->client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); - } - if (r->client_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_addr, ndr_charset_length(r->client_addr, CH_DOS), sizeof(uint8_t), CH_DOS)); - } - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); - } - if (r->server_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_addr, ndr_charset_length(r->server_addr, CH_DOS), sizeof(uint8_t), CH_DOS)); - } - if (r->sam_info3) { - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3)); - } - if (r->session_key) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->session_key_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->session_key, r->session_key_length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_named_pipe_auth_req_info2(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req_info2 *r) -{ - uint32_t _ptr_client_name; - TALLOC_CTX *_mem_save_client_name_0; - uint32_t _ptr_client_addr; - TALLOC_CTX *_mem_save_client_addr_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_server_addr; - TALLOC_CTX *_mem_save_server_addr_0; - uint32_t _ptr_sam_info3; - TALLOC_CTX *_mem_save_sam_info3_0; - uint32_t _ptr_session_key; - TALLOC_CTX *_mem_save_session_key_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_name)); - if (_ptr_client_name) { - NDR_PULL_ALLOC(ndr, r->client_name); - } else { - r->client_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_addr)); - if (_ptr_client_addr) { - NDR_PULL_ALLOC(ndr, r->client_addr); - } else { - r->client_addr = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->client_port)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_addr)); - if (_ptr_server_addr) { - NDR_PULL_ALLOC(ndr, r->server_addr); - } else { - r->server_addr = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->server_port)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam_info3)); - if (_ptr_sam_info3) { - NDR_PULL_ALLOC(ndr, r->sam_info3); - } else { - r->sam_info3 = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_key_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_session_key)); - if (_ptr_session_key) { - NDR_PULL_ALLOC(ndr, r->session_key); - } else { - r->session_key = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client_name) { - _mem_save_client_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_name)); - if (ndr_get_array_length(ndr, &r->client_name) > ndr_get_array_size(ndr, &r->client_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_name), ndr_get_array_length(ndr, &r->client_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_name, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t), CH_UTF8)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_name_0, 0); - } - if (r->client_addr) { - _mem_save_client_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_addr)); - if (ndr_get_array_length(ndr, &r->client_addr) > ndr_get_array_size(ndr, &r->client_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_addr), ndr_get_array_length(ndr, &r->client_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_addr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_addr_0, 0); - } - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t), CH_UTF8)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->server_addr) { - _mem_save_server_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_addr)); - if (ndr_get_array_length(ndr, &r->server_addr) > ndr_get_array_size(ndr, &r->server_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_addr), ndr_get_array_length(ndr, &r->server_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_addr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_addr_0, 0); - } - if (r->sam_info3) { - _mem_save_sam_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sam_info3, 0); - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_info3_0, 0); - } - if (r->session_key) { - _mem_save_session_key_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->session_key, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->session_key)); - NDR_PULL_ALLOC_N(ndr, r->session_key, ndr_get_array_size(ndr, &r->session_key)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->session_key, ndr_get_array_size(ndr, &r->session_key))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_session_key_0, 0); - } - if (r->session_key) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->session_key, r->session_key_length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_req_info2(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req_info2 *r) -{ - ndr_print_struct(ndr, name, "named_pipe_auth_req_info2"); - ndr->depth++; - ndr_print_ptr(ndr, "client_name", r->client_name); - ndr->depth++; - if (r->client_name) { - ndr_print_string(ndr, "client_name", r->client_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "client_addr", r->client_addr); - ndr->depth++; - if (r->client_addr) { - ndr_print_string(ndr, "client_addr", r->client_addr); - } - ndr->depth--; - ndr_print_uint16(ndr, "client_port", r->client_port); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_addr", r->server_addr); - ndr->depth++; - if (r->server_addr) { - ndr_print_string(ndr, "server_addr", r->server_addr); - } - ndr->depth--; - ndr_print_uint16(ndr, "server_port", r->server_port); - ndr_print_ptr(ndr, "sam_info3", r->sam_info3); - ndr->depth++; - if (r->sam_info3) { - ndr_print_netr_SamInfo3(ndr, "sam_info3", r->sam_info3); - } - ndr->depth--; - ndr_print_uint32(ndr, "session_key_length", r->session_key_length); - ndr_print_ptr(ndr, "session_key", r->session_key); - ndr->depth++; - if (r->session_key) { - ndr_print_array_uint8(ndr, "session_key", r->session_key, r->session_key_length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_named_pipe_auth_req_info3(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req_info3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_addr)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->client_port)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_addr)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->server_port)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam_info3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_key_length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->session_key)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->gssapi_delegated_creds_length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->gssapi_delegated_creds)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_name, CH_UTF8))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_name, ndr_charset_length(r->client_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); - } - if (r->client_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_addr, CH_DOS))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_addr, ndr_charset_length(r->client_addr, CH_DOS), sizeof(uint8_t), CH_DOS)); - } - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF8))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); - } - if (r->server_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_addr, CH_DOS))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_addr, ndr_charset_length(r->server_addr, CH_DOS), sizeof(uint8_t), CH_DOS)); - } - if (r->sam_info3) { - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3)); - } - if (r->session_key) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->session_key_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->session_key, r->session_key_length)); - } - if (r->gssapi_delegated_creds) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->gssapi_delegated_creds_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->gssapi_delegated_creds, r->gssapi_delegated_creds_length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_named_pipe_auth_req_info3(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req_info3 *r) -{ - uint32_t _ptr_client_name; - TALLOC_CTX *_mem_save_client_name_0; - uint32_t _ptr_client_addr; - TALLOC_CTX *_mem_save_client_addr_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_server_addr; - TALLOC_CTX *_mem_save_server_addr_0; - uint32_t _ptr_sam_info3; - TALLOC_CTX *_mem_save_sam_info3_0; - uint32_t _ptr_session_key; - TALLOC_CTX *_mem_save_session_key_0; - uint32_t _ptr_gssapi_delegated_creds; - TALLOC_CTX *_mem_save_gssapi_delegated_creds_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_name)); - if (_ptr_client_name) { - NDR_PULL_ALLOC(ndr, r->client_name); - } else { - r->client_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_addr)); - if (_ptr_client_addr) { - NDR_PULL_ALLOC(ndr, r->client_addr); - } else { - r->client_addr = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->client_port)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_addr)); - if (_ptr_server_addr) { - NDR_PULL_ALLOC(ndr, r->server_addr); - } else { - r->server_addr = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->server_port)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam_info3)); - if (_ptr_sam_info3) { - NDR_PULL_ALLOC(ndr, r->sam_info3); - } else { - r->sam_info3 = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_key_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_session_key)); - if (_ptr_session_key) { - NDR_PULL_ALLOC(ndr, r->session_key); - } else { - r->session_key = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->gssapi_delegated_creds_length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_gssapi_delegated_creds)); - if (_ptr_gssapi_delegated_creds) { - NDR_PULL_ALLOC(ndr, r->gssapi_delegated_creds); - } else { - r->gssapi_delegated_creds = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client_name) { - _mem_save_client_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_name)); - if (ndr_get_array_length(ndr, &r->client_name) > ndr_get_array_size(ndr, &r->client_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_name), ndr_get_array_length(ndr, &r->client_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_name, ndr_get_array_length(ndr, &r->client_name), sizeof(uint8_t), CH_UTF8)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_name_0, 0); - } - if (r->client_addr) { - _mem_save_client_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_addr)); - if (ndr_get_array_length(ndr, &r->client_addr) > ndr_get_array_size(ndr, &r->client_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_addr), ndr_get_array_length(ndr, &r->client_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_addr, ndr_get_array_length(ndr, &r->client_addr), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_addr_0, 0); - } - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint8_t), CH_UTF8)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->server_addr) { - _mem_save_server_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_addr)); - if (ndr_get_array_length(ndr, &r->server_addr) > ndr_get_array_size(ndr, &r->server_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_addr), ndr_get_array_length(ndr, &r->server_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_addr, ndr_get_array_length(ndr, &r->server_addr), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_addr_0, 0); - } - if (r->sam_info3) { - _mem_save_sam_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sam_info3, 0); - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam_info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_info3_0, 0); - } - if (r->session_key) { - _mem_save_session_key_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->session_key, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->session_key)); - NDR_PULL_ALLOC_N(ndr, r->session_key, ndr_get_array_size(ndr, &r->session_key)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->session_key, ndr_get_array_size(ndr, &r->session_key))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_session_key_0, 0); - } - if (r->gssapi_delegated_creds) { - _mem_save_gssapi_delegated_creds_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->gssapi_delegated_creds, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->gssapi_delegated_creds)); - NDR_PULL_ALLOC_N(ndr, r->gssapi_delegated_creds, ndr_get_array_size(ndr, &r->gssapi_delegated_creds)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->gssapi_delegated_creds, ndr_get_array_size(ndr, &r->gssapi_delegated_creds))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gssapi_delegated_creds_0, 0); - } - if (r->session_key) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->session_key, r->session_key_length)); - } - if (r->gssapi_delegated_creds) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->gssapi_delegated_creds, r->gssapi_delegated_creds_length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_req_info3(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req_info3 *r) -{ - ndr_print_struct(ndr, name, "named_pipe_auth_req_info3"); - ndr->depth++; - ndr_print_ptr(ndr, "client_name", r->client_name); - ndr->depth++; - if (r->client_name) { - ndr_print_string(ndr, "client_name", r->client_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "client_addr", r->client_addr); - ndr->depth++; - if (r->client_addr) { - ndr_print_string(ndr, "client_addr", r->client_addr); - } - ndr->depth--; - ndr_print_uint16(ndr, "client_port", r->client_port); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_addr", r->server_addr); - ndr->depth++; - if (r->server_addr) { - ndr_print_string(ndr, "server_addr", r->server_addr); - } - ndr->depth--; - ndr_print_uint16(ndr, "server_port", r->server_port); - ndr_print_ptr(ndr, "sam_info3", r->sam_info3); - ndr->depth++; - if (r->sam_info3) { - ndr_print_netr_SamInfo3(ndr, "sam_info3", r->sam_info3); - } - ndr->depth--; - ndr_print_uint32(ndr, "session_key_length", r->session_key_length); - ndr_print_ptr(ndr, "session_key", r->session_key); - ndr->depth++; - if (r->session_key) { - ndr_print_array_uint8(ndr, "session_key", r->session_key, r->session_key_length); - } - ndr->depth--; - ndr_print_uint32(ndr, "gssapi_delegated_creds_length", r->gssapi_delegated_creds_length); - ndr_print_ptr(ndr, "gssapi_delegated_creds", r->gssapi_delegated_creds); - ndr->depth++; - if (r->gssapi_delegated_creds) { - ndr_print_array_uint8(ndr, "gssapi_delegated_creds", r->gssapi_delegated_creds, r->gssapi_delegated_creds_length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_named_pipe_auth_req_info(struct ndr_push *ndr, int ndr_flags, const union named_pipe_auth_req_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - break; } - - case 1: { - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_named_pipe_auth_req_info2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_named_pipe_auth_req_info3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_named_pipe_auth_req_info2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_named_pipe_auth_req_info3(ndr, NDR_BUFFERS, &r->info3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_named_pipe_auth_req_info(struct ndr_pull *ndr, int ndr_flags, union named_pipe_auth_req_info *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - break; } - - case 1: { - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_named_pipe_auth_req_info2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_named_pipe_auth_req_info3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_named_pipe_auth_req_info2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_named_pipe_auth_req_info3(ndr, NDR_BUFFERS, &r->info3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_req_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_req_info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "named_pipe_auth_req_info"); - switch (level) { - case 0: - break; - - case 1: - ndr_print_netr_SamInfo3(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_named_pipe_auth_req_info2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_named_pipe_auth_req_info3(ndr, "info3", &r->info3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_named_pipe_auth_req(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_named_pipe_auth_req(r, ndr->iconv_convenience, ndr->flags) - 4)); - ndr->flags = _flags_save_uint32; - } - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, NAMED_PIPE_AUTH_MAGIC, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_named_pipe_auth_req(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - ndr->flags = _flags_save_uint32; - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_req(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req *r) -{ - ndr_print_struct(ndr, name, "named_pipe_auth_req"); - ndr->depth++; - ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_named_pipe_auth_req(r, ndr->iconv_convenience, ndr->flags) - 4:r->length); - ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NAMED_PIPE_AUTH_MAGIC:r->magic); - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->info, r->level); - ndr_print_named_pipe_auth_req_info(ndr, "info", &r->info); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_named_pipe_auth_req(const struct named_pipe_auth_req *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_req, ic); -} - -static enum ndr_err_code ndr_push_named_pipe_auth_rep_info2(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep_info2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->file_type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->device_state)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->allocation_size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_named_pipe_auth_rep_info2(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep_info2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->file_type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->device_state)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->allocation_size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_rep_info2(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep_info2 *r) -{ - ndr_print_struct(ndr, name, "named_pipe_auth_rep_info2"); - ndr->depth++; - ndr_print_uint16(ndr, "file_type", r->file_type); - ndr_print_uint16(ndr, "device_state", r->device_state); - ndr_print_hyper(ndr, "allocation_size", r->allocation_size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_named_pipe_auth_rep_info3(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep_info3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->file_type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->device_state)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->allocation_size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_named_pipe_auth_rep_info3(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep_info3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->file_type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->device_state)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->allocation_size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_rep_info3(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep_info3 *r) -{ - ndr_print_struct(ndr, name, "named_pipe_auth_rep_info3"); - ndr->depth++; - ndr_print_uint16(ndr, "file_type", r->file_type); - ndr_print_uint16(ndr, "device_state", r->device_state); - ndr_print_hyper(ndr, "allocation_size", r->allocation_size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_named_pipe_auth_rep_info(struct ndr_push *ndr, int ndr_flags, const union named_pipe_auth_rep_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 0: { - break; } - - case 1: { - break; } - - case 2: { - NDR_CHECK(ndr_push_named_pipe_auth_rep_info2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_named_pipe_auth_rep_info3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_named_pipe_auth_rep_info(struct ndr_pull *ndr, int ndr_flags, union named_pipe_auth_rep_info *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 0: { - break; } - - case 1: { - break; } - - case 2: { - NDR_CHECK(ndr_pull_named_pipe_auth_rep_info2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_named_pipe_auth_rep_info3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_rep_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_rep_info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "named_pipe_auth_rep_info"); - switch (level) { - case 0: - break; - - case 1: - break; - - case 2: - ndr_print_named_pipe_auth_rep_info2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_named_pipe_auth_rep_info3(ndr, "info3", &r->info3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_named_pipe_auth_rep(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_named_pipe_auth_rep(r, ndr->iconv_convenience, ndr->flags) - 4)); - ndr->flags = _flags_save_uint32; - } - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, NAMED_PIPE_AUTH_MAGIC, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_named_pipe_auth_rep(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - { - uint32_t _flags_save_uint32 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - ndr->flags = _flags_save_uint32; - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, 4, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_named_pipe_auth_rep(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep *r) -{ - ndr_print_struct(ndr, name, "named_pipe_auth_rep"); - ndr->depth++; - ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_named_pipe_auth_rep(r, ndr->iconv_convenience, ndr->flags) - 4:r->length); - ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NAMED_PIPE_AUTH_MAGIC:r->magic); - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->info, r->level); - ndr_print_named_pipe_auth_rep_info(ndr, "info", &r->info); - ndr_print_NTSTATUS(ndr, "status", r->status); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_named_pipe_auth_rep(const struct named_pipe_auth_rep *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_named_pipe_auth_rep, ic); -} - diff --git a/librpc/gen_ndr/ndr_named_pipe_auth.h b/librpc/gen_ndr/ndr_named_pipe_auth.h deleted file mode 100644 index 027a3262b31..00000000000 --- a/librpc/gen_ndr/ndr_named_pipe_auth.h +++ /dev/null @@ -1,24 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/named_pipe_auth.h" - -#ifndef _HEADER_NDR_named_pipe_auth -#define _HEADER_NDR_named_pipe_auth - -#define NDR_NAMED_PIPE_AUTH_CALL_COUNT (0) -void ndr_print_named_pipe_auth_req_info2(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req_info2 *r); -void ndr_print_named_pipe_auth_req_info3(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req_info3 *r); -void ndr_print_named_pipe_auth_req_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_req_info *r); -enum ndr_err_code ndr_push_named_pipe_auth_req(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_req *r); -enum ndr_err_code ndr_pull_named_pipe_auth_req(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_req *r); -void ndr_print_named_pipe_auth_req(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_req *r); -size_t ndr_size_named_pipe_auth_req(const struct named_pipe_auth_req *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_named_pipe_auth_rep_info2(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep_info2 *r); -void ndr_print_named_pipe_auth_rep_info3(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep_info3 *r); -void ndr_print_named_pipe_auth_rep_info(struct ndr_print *ndr, const char *name, const union named_pipe_auth_rep_info *r); -enum ndr_err_code ndr_push_named_pipe_auth_rep(struct ndr_push *ndr, int ndr_flags, const struct named_pipe_auth_rep *r); -enum ndr_err_code ndr_pull_named_pipe_auth_rep(struct ndr_pull *ndr, int ndr_flags, struct named_pipe_auth_rep *r); -void ndr_print_named_pipe_auth_rep(struct ndr_print *ndr, const char *name, const struct named_pipe_auth_rep *r); -size_t ndr_size_named_pipe_auth_rep(const struct named_pipe_auth_rep *r, struct smb_iconv_convenience *ic, int flags); -#endif /* _HEADER_NDR_named_pipe_auth */ diff --git a/librpc/gen_ndr/ndr_nbt.c b/librpc/gen_ndr/ndr_nbt.c deleted file mode 100644 index b3fcb85d22d..00000000000 --- a/librpc/gen_ndr/ndr_nbt.c +++ /dev/null @@ -1,3445 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_nbt.h" - -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_svcctl.h" -#include "librpc/gen_ndr/ndr_samr.h" -static enum ndr_err_code ndr_push_nbt_operation(struct ndr_push *ndr, int ndr_flags, uint16_t r) -{ - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_operation(struct ndr_pull *ndr, int ndr_flags, uint16_t *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_operation(struct ndr_print *ndr, const char *name, uint16_t r) -{ - ndr_print_uint16(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_RCODE", NBT_RCODE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_BROADCAST", NBT_FLAG_BROADCAST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_RECURSION_AVAIL", NBT_FLAG_RECURSION_AVAIL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_RECURSION_DESIRED", NBT_FLAG_RECURSION_DESIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_TRUNCATION", NBT_FLAG_TRUNCATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_AUTHORITIVE", NBT_FLAG_AUTHORITIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_OPCODE", NBT_OPCODE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_FLAG_REPLY", NBT_FLAG_REPLY, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_name_type(struct ndr_push *ndr, int ndr_flags, enum nbt_name_type r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_name_type(struct ndr_pull *ndr, int ndr_flags, enum nbt_name_type *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_name_type(struct ndr_print *ndr, const char *name, enum nbt_name_type r) -{ - const char *val = NULL; - - switch (r) { - case NBT_NAME_CLIENT: val = "NBT_NAME_CLIENT"; break; - case NBT_NAME_MS: val = "NBT_NAME_MS"; break; - case NBT_NAME_USER: val = "NBT_NAME_USER"; break; - case NBT_NAME_SERVER: val = "NBT_NAME_SERVER"; break; - case NBT_NAME_PDC: val = "NBT_NAME_PDC"; break; - case NBT_NAME_LOGON: val = "NBT_NAME_LOGON"; break; - case NBT_NAME_MASTER: val = "NBT_NAME_MASTER"; break; - case NBT_NAME_BROWSER: val = "NBT_NAME_BROWSER"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ void ndr_print_nbt_name(struct ndr_print *ndr, const char *name, const struct nbt_name *r) -{ - ndr_print_struct(ndr, name, "nbt_name"); - ndr->depth++; - ndr_print_string(ndr, "name", r->name); - ndr_print_string(ndr, "scope", r->scope); - ndr_print_nbt_name_type(ndr, "type", r->type); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_qclass(struct ndr_push *ndr, int ndr_flags, enum nbt_qclass r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_qclass(struct ndr_pull *ndr, int ndr_flags, enum nbt_qclass *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_qclass(struct ndr_print *ndr, const char *name, enum nbt_qclass r) -{ - const char *val = NULL; - - switch (r) { - case NBT_QCLASS_IP: val = "NBT_QCLASS_IP"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_qtype(struct ndr_push *ndr, int ndr_flags, enum nbt_qtype r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_qtype(struct ndr_pull *ndr, int ndr_flags, enum nbt_qtype *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_qtype(struct ndr_print *ndr, const char *name, enum nbt_qtype r) -{ - const char *val = NULL; - - switch (r) { - case NBT_QTYPE_ADDRESS: val = "NBT_QTYPE_ADDRESS"; break; - case NBT_QTYPE_NAMESERVICE: val = "NBT_QTYPE_NAMESERVICE"; break; - case NBT_QTYPE_NULL: val = "NBT_QTYPE_NULL"; break; - case NBT_QTYPE_NETBIOS: val = "NBT_QTYPE_NETBIOS"; break; - case NBT_QTYPE_STATUS: val = "NBT_QTYPE_STATUS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_nbt_name_question(struct ndr_push *ndr, int ndr_flags, const struct nbt_name_question *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_nbt_qtype(ndr, NDR_SCALARS, r->question_type)); - NDR_CHECK(ndr_push_nbt_qclass(ndr, NDR_SCALARS, r->question_class)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_name_question(struct ndr_pull *ndr, int ndr_flags, struct nbt_name_question *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_nbt_qtype(ndr, NDR_SCALARS, &r->question_type)); - NDR_CHECK(ndr_pull_nbt_qclass(ndr, NDR_SCALARS, &r->question_class)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_name_question(struct ndr_print *ndr, const char *name, const struct nbt_name_question *r) -{ - ndr_print_struct(ndr, name, "nbt_name_question"); - ndr->depth++; - ndr_print_nbt_name(ndr, "name", &r->name); - ndr_print_nbt_qtype(ndr, "question_type", r->question_type); - ndr_print_nbt_qclass(ndr, "question_class", r->question_class); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nb_flags(struct ndr_push *ndr, int ndr_flags, uint16_t r) -{ - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nb_flags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nb_flags(struct ndr_print *ndr, const char *name, uint16_t r) -{ - ndr_print_uint16(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_PERMANENT", NBT_NM_PERMANENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_ACTIVE", NBT_NM_ACTIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_CONFLICT", NBT_NM_CONFLICT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_DEREGISTER", NBT_NM_DEREGISTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_OWNER_TYPE", NBT_NM_OWNER_TYPE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NBT_NM_GROUP", NBT_NM_GROUP, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_rdata_address(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_address *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_nb_flags(ndr, NDR_SCALARS, r->nb_flags)); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipaddr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_rdata_address(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_address *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_nb_flags(ndr, NDR_SCALARS, &r->nb_flags)); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipaddr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_rdata_address(struct ndr_print *ndr, const char *name, const struct nbt_rdata_address *r) -{ - ndr_print_struct(ndr, name, "nbt_rdata_address"); - ndr->depth++; - ndr_print_nb_flags(ndr, "nb_flags", r->nb_flags); - ndr_print_ipv4address(ndr, "ipaddr", r->ipaddr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_rdata_netbios(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_netbios *r) -{ - uint32_t cntr_addresses_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - for (cntr_addresses_0 = 0; cntr_addresses_0 < r->length / 6; cntr_addresses_0++) { - NDR_CHECK(ndr_push_nbt_rdata_address(ndr, NDR_SCALARS, &r->addresses[cntr_addresses_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_rdata_netbios(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_netbios *r) -{ - uint32_t cntr_addresses_0; - TALLOC_CTX *_mem_save_addresses_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_PULL_ALLOC_N(ndr, r->addresses, r->length / 6); - _mem_save_addresses_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->addresses, 0); - for (cntr_addresses_0 = 0; cntr_addresses_0 < r->length / 6; cntr_addresses_0++) { - NDR_CHECK(ndr_pull_nbt_rdata_address(ndr, NDR_SCALARS, &r->addresses[cntr_addresses_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_rdata_netbios(struct ndr_print *ndr, const char *name, const struct nbt_rdata_netbios *r) -{ - uint32_t cntr_addresses_0; - ndr_print_struct(ndr, name, "nbt_rdata_netbios"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->length / 6); - ndr->depth++; - for (cntr_addresses_0=0;cntr_addresses_0length / 6;cntr_addresses_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_addresses_0) != -1) { - ndr_print_nbt_rdata_address(ndr, "addresses", &r->addresses[cntr_addresses_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_statistics(struct ndr_push *ndr, int ndr_flags, const struct nbt_statistics *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->unit_id, 6)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->jumpers)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->test_result)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version_number)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->period_of_statistics)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_of_crcs)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_alignment_errors)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_of_collisions)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_send_aborts)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_good_sends)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_good_receives)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_retransmits)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_no_resource_conditions)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_free_command_blocks)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->total_number_command_blocks)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_total_number_command_blocks)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->number_pending_sessions)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_number_pending_sessions)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_total_sessions_possible)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->session_data_packet_size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_statistics(struct ndr_pull *ndr, int ndr_flags, struct nbt_statistics *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->unit_id, 6)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->jumpers)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->test_result)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version_number)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->period_of_statistics)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_of_crcs)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_alignment_errors)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_of_collisions)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_send_aborts)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_good_sends)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_good_receives)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_retransmits)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_no_resource_conditions)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_free_command_blocks)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->total_number_command_blocks)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_total_number_command_blocks)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->number_pending_sessions)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_number_pending_sessions)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_total_sessions_possible)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->session_data_packet_size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_statistics(struct ndr_print *ndr, const char *name, const struct nbt_statistics *r) -{ - ndr_print_struct(ndr, name, "nbt_statistics"); - ndr->depth++; - ndr_print_array_uint8(ndr, "unit_id", r->unit_id, 6); - ndr_print_uint8(ndr, "jumpers", r->jumpers); - ndr_print_uint8(ndr, "test_result", r->test_result); - ndr_print_uint16(ndr, "version_number", r->version_number); - ndr_print_uint16(ndr, "period_of_statistics", r->period_of_statistics); - ndr_print_uint16(ndr, "number_of_crcs", r->number_of_crcs); - ndr_print_uint16(ndr, "number_alignment_errors", r->number_alignment_errors); - ndr_print_uint16(ndr, "number_of_collisions", r->number_of_collisions); - ndr_print_uint16(ndr, "number_send_aborts", r->number_send_aborts); - ndr_print_uint32(ndr, "number_good_sends", r->number_good_sends); - ndr_print_uint32(ndr, "number_good_receives", r->number_good_receives); - ndr_print_uint16(ndr, "number_retransmits", r->number_retransmits); - ndr_print_uint16(ndr, "number_no_resource_conditions", r->number_no_resource_conditions); - ndr_print_uint16(ndr, "number_free_command_blocks", r->number_free_command_blocks); - ndr_print_uint16(ndr, "total_number_command_blocks", r->total_number_command_blocks); - ndr_print_uint16(ndr, "max_total_number_command_blocks", r->max_total_number_command_blocks); - ndr_print_uint16(ndr, "number_pending_sessions", r->number_pending_sessions); - ndr_print_uint16(ndr, "max_number_pending_sessions", r->max_number_pending_sessions); - ndr_print_uint16(ndr, "max_total_sessions_possible", r->max_total_sessions_possible); - ndr_print_uint16(ndr, "session_data_packet_size", r->session_data_packet_size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_status_name(struct ndr_push *ndr, int ndr_flags, const struct nbt_status_name *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, 15, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_nbt_name_type(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_nb_flags(ndr, NDR_SCALARS, r->nb_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_status_name(struct ndr_pull *ndr, int ndr_flags, struct nbt_status_name *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, 15, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_nbt_name_type(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_nb_flags(ndr, NDR_SCALARS, &r->nb_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_status_name(struct ndr_print *ndr, const char *name, const struct nbt_status_name *r) -{ - ndr_print_struct(ndr, name, "nbt_status_name"); - ndr->depth++; - ndr_print_string(ndr, "name", r->name); - ndr_print_nbt_name_type(ndr, "type", r->type); - ndr_print_nb_flags(ndr, "nb_flags", r->nb_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_rdata_status(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_status *r) -{ - uint32_t cntr_names_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_names * 18 + 47)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_names)); - for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_nbt_status_name(ndr, NDR_SCALARS, &r->names[cntr_names_0])); - } - NDR_CHECK(ndr_push_nbt_statistics(ndr, NDR_SCALARS, &r->statistics)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_rdata_status(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_status *r) -{ - uint32_t cntr_names_0; - TALLOC_CTX *_mem_save_names_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_names)); - NDR_PULL_ALLOC_N(ndr, r->names, r->num_names); - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->names, 0); - for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) { - NDR_CHECK(ndr_pull_nbt_status_name(ndr, NDR_SCALARS, &r->names[cntr_names_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - NDR_CHECK(ndr_pull_nbt_statistics(ndr, NDR_SCALARS, &r->statistics)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_rdata_status(struct ndr_print *ndr, const char *name, const struct nbt_rdata_status *r) -{ - uint32_t cntr_names_0; - ndr_print_struct(ndr, name, "nbt_rdata_status"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->num_names * 18 + 47:r->length); - ndr_print_uint8(ndr, "num_names", r->num_names); - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->num_names); - ndr->depth++; - for (cntr_names_0=0;cntr_names_0num_names;cntr_names_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) { - ndr_print_nbt_status_name(ndr, "names", &r->names[cntr_names_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_nbt_statistics(ndr, "statistics", &r->statistics); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_rdata_data(struct ndr_push *ndr, int ndr_flags, const struct nbt_rdata_data *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_rdata_data(struct ndr_pull *ndr, int ndr_flags, struct nbt_rdata_data *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_PULL_ALLOC_N(ndr, r->data, r->length); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_rdata_data(struct ndr_print *ndr, const char *name, const struct nbt_rdata_data *r) -{ - ndr_print_struct(ndr, name, "nbt_rdata_data"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_array_uint8(ndr, "data", r->data, r->length); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_rdata(struct ndr_push *ndr, int ndr_flags, const union nbt_rdata *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case NBT_QTYPE_NETBIOS: { - NDR_CHECK(ndr_push_nbt_rdata_netbios(ndr, NDR_SCALARS, &r->netbios)); - break; } - - case NBT_QTYPE_STATUS: { - NDR_CHECK(ndr_push_nbt_rdata_status(ndr, NDR_SCALARS, &r->status)); - break; } - - default: { - NDR_CHECK(ndr_push_nbt_rdata_data(ndr, NDR_SCALARS, &r->data)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NBT_QTYPE_NETBIOS: - break; - - case NBT_QTYPE_STATUS: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_rdata(struct ndr_pull *ndr, int ndr_flags, union nbt_rdata *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case NBT_QTYPE_NETBIOS: { - NDR_CHECK(ndr_pull_nbt_rdata_netbios(ndr, NDR_SCALARS, &r->netbios)); - break; } - - case NBT_QTYPE_STATUS: { - NDR_CHECK(ndr_pull_nbt_rdata_status(ndr, NDR_SCALARS, &r->status)); - break; } - - default: { - NDR_CHECK(ndr_pull_nbt_rdata_data(ndr, NDR_SCALARS, &r->data)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NBT_QTYPE_NETBIOS: - break; - - case NBT_QTYPE_STATUS: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_rdata(struct ndr_print *ndr, const char *name, const union nbt_rdata *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "nbt_rdata"); - switch (level) { - case NBT_QTYPE_NETBIOS: - ndr_print_nbt_rdata_netbios(ndr, "netbios", &r->netbios); - break; - - case NBT_QTYPE_STATUS: - ndr_print_nbt_rdata_status(ndr, "status", &r->status); - break; - - default: - ndr_print_nbt_rdata_data(ndr, "data", &r->data); - break; - - } -} - -static enum ndr_err_code ndr_pull_nbt_res_rec(struct ndr_pull *ndr, int ndr_flags, struct nbt_res_rec *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_nbt_qtype(ndr, NDR_SCALARS, &r->rr_type)); - NDR_CHECK(ndr_pull_nbt_qclass(ndr, NDR_SCALARS, &r->rr_class)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->rdata, r->rr_type)); - NDR_CHECK(ndr_pull_nbt_rdata(ndr, NDR_SCALARS, &r->rdata)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_res_rec(struct ndr_print *ndr, const char *name, const struct nbt_res_rec *r) -{ - ndr_print_struct(ndr, name, "nbt_res_rec"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_nbt_name(ndr, "name", &r->name); - ndr_print_nbt_qtype(ndr, "rr_type", r->rr_type); - ndr_print_nbt_qclass(ndr, "rr_class", r->rr_class); - ndr_print_uint32(ndr, "ttl", r->ttl); - ndr_print_set_switch_value(ndr, &r->rdata, r->rr_type); - ndr_print_nbt_rdata(ndr, "rdata", &r->rdata); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_name_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_name_packet *r) -{ - uint32_t cntr_questions_0; - uint32_t cntr_answers_0; - uint32_t cntr_nsrecs_0; - uint32_t cntr_additional_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->name_trn_id)); - NDR_CHECK(ndr_push_nbt_operation(ndr, NDR_SCALARS, r->operation)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->qdcount)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ancount)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nscount)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->arcount)); - for (cntr_questions_0 = 0; cntr_questions_0 < r->qdcount; cntr_questions_0++) { - NDR_CHECK(ndr_push_nbt_name_question(ndr, NDR_SCALARS, &r->questions[cntr_questions_0])); - } - for (cntr_answers_0 = 0; cntr_answers_0 < r->ancount; cntr_answers_0++) { - NDR_CHECK(ndr_push_nbt_res_rec(ndr, NDR_SCALARS, &r->answers[cntr_answers_0])); - } - for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < r->nscount; cntr_nsrecs_0++) { - NDR_CHECK(ndr_push_nbt_res_rec(ndr, NDR_SCALARS, &r->nsrecs[cntr_nsrecs_0])); - } - for (cntr_additional_0 = 0; cntr_additional_0 < r->arcount; cntr_additional_0++) { - NDR_CHECK(ndr_push_nbt_res_rec(ndr, NDR_SCALARS, &r->additional[cntr_additional_0])); - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->padding)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_name_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_name_packet *r) -{ - uint32_t cntr_questions_0; - TALLOC_CTX *_mem_save_questions_0; - uint32_t cntr_answers_0; - TALLOC_CTX *_mem_save_answers_0; - uint32_t cntr_nsrecs_0; - TALLOC_CTX *_mem_save_nsrecs_0; - uint32_t cntr_additional_0; - TALLOC_CTX *_mem_save_additional_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_trn_id)); - NDR_CHECK(ndr_pull_nbt_operation(ndr, NDR_SCALARS, &r->operation)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->qdcount)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ancount)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nscount)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->arcount)); - NDR_PULL_ALLOC_N(ndr, r->questions, r->qdcount); - _mem_save_questions_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->questions, 0); - for (cntr_questions_0 = 0; cntr_questions_0 < r->qdcount; cntr_questions_0++) { - NDR_CHECK(ndr_pull_nbt_name_question(ndr, NDR_SCALARS, &r->questions[cntr_questions_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_questions_0, 0); - NDR_PULL_ALLOC_N(ndr, r->answers, r->ancount); - _mem_save_answers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->answers, 0); - for (cntr_answers_0 = 0; cntr_answers_0 < r->ancount; cntr_answers_0++) { - NDR_CHECK(ndr_pull_nbt_res_rec(ndr, NDR_SCALARS, &r->answers[cntr_answers_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_answers_0, 0); - NDR_PULL_ALLOC_N(ndr, r->nsrecs, r->nscount); - _mem_save_nsrecs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->nsrecs, 0); - for (cntr_nsrecs_0 = 0; cntr_nsrecs_0 < r->nscount; cntr_nsrecs_0++) { - NDR_CHECK(ndr_pull_nbt_res_rec(ndr, NDR_SCALARS, &r->nsrecs[cntr_nsrecs_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nsrecs_0, 0); - NDR_PULL_ALLOC_N(ndr, r->additional, r->arcount); - _mem_save_additional_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->additional, 0); - for (cntr_additional_0 = 0; cntr_additional_0 < r->arcount; cntr_additional_0++) { - NDR_CHECK(ndr_pull_nbt_res_rec(ndr, NDR_SCALARS, &r->additional[cntr_additional_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_additional_0, 0); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->padding)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_name_packet(struct ndr_print *ndr, const char *name, const struct nbt_name_packet *r) -{ - uint32_t cntr_questions_0; - uint32_t cntr_answers_0; - uint32_t cntr_nsrecs_0; - uint32_t cntr_additional_0; - ndr_print_struct(ndr, name, "nbt_name_packet"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint16(ndr, "name_trn_id", r->name_trn_id); - ndr_print_nbt_operation(ndr, "operation", r->operation); - ndr_print_uint16(ndr, "qdcount", r->qdcount); - ndr_print_uint16(ndr, "ancount", r->ancount); - ndr_print_uint16(ndr, "nscount", r->nscount); - ndr_print_uint16(ndr, "arcount", r->arcount); - ndr->print(ndr, "%s: ARRAY(%d)", "questions", (int)r->qdcount); - ndr->depth++; - for (cntr_questions_0=0;cntr_questions_0qdcount;cntr_questions_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_questions_0) != -1) { - ndr_print_nbt_name_question(ndr, "questions", &r->questions[cntr_questions_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "answers", (int)r->ancount); - ndr->depth++; - for (cntr_answers_0=0;cntr_answers_0ancount;cntr_answers_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_answers_0) != -1) { - ndr_print_nbt_res_rec(ndr, "answers", &r->answers[cntr_answers_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "nsrecs", (int)r->nscount); - ndr->depth++; - for (cntr_nsrecs_0=0;cntr_nsrecs_0nscount;cntr_nsrecs_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_nsrecs_0) != -1) { - ndr_print_nbt_res_rec(ndr, "nsrecs", &r->nsrecs[cntr_nsrecs_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->print(ndr, "%s: ARRAY(%d)", "additional", (int)r->arcount); - ndr->depth++; - for (cntr_additional_0=0;cntr_additional_0arcount;cntr_additional_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_additional_0) != -1) { - ndr_print_nbt_res_rec(ndr, "additional", &r->additional[cntr_additional_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_DATA_BLOB(ndr, "padding", r->padding); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_dgram_msg_type(struct ndr_push *ndr, int ndr_flags, enum dgram_msg_type r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dgram_msg_type(struct ndr_pull *ndr, int ndr_flags, enum dgram_msg_type *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_msg_type(struct ndr_print *ndr, const char *name, enum dgram_msg_type r) -{ - const char *val = NULL; - - switch (r) { - case DGRAM_DIRECT_UNIQUE: val = "DGRAM_DIRECT_UNIQUE"; break; - case DGRAM_DIRECT_GROUP: val = "DGRAM_DIRECT_GROUP"; break; - case DGRAM_BCAST: val = "DGRAM_BCAST"; break; - case DGRAM_ERROR: val = "DGRAM_ERROR"; break; - case DGRAM_QUERY: val = "DGRAM_QUERY"; break; - case DGRAM_QUERY_POSITIVE: val = "DGRAM_QUERY_POSITIVE"; break; - case DGRAM_QUERY_NEGATIVE: val = "DGRAM_QUERY_NEGATIVE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dgram_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r) -{ - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dgram_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_flags(struct ndr_print *ndr, const char *name, uint8_t r) -{ - ndr_print_uint8(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "DGRAM_FLAG_MORE", DGRAM_FLAG_MORE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "DGRAM_FLAG_FIRST", DGRAM_FLAG_FIRST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "DGRAM_FLAG_NODE_TYPE", DGRAM_FLAG_NODE_TYPE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_smb_command(struct ndr_push *ndr, int ndr_flags, enum smb_command r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_smb_command(struct ndr_pull *ndr, int ndr_flags, enum smb_command *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_smb_command(struct ndr_print *ndr, const char *name, enum smb_command r) -{ - const char *val = NULL; - - switch (r) { - case SMB_TRANSACTION: val = "SMB_TRANSACTION"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_smb_trans_body(struct ndr_push *ndr, int ndr_flags, const struct smb_trans_body *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 17)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->total_param_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->total_data_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_param_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_data_count)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->max_setup_count)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pad)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->trans_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timeout)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->param_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->param_offset)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data_offset)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 3)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pad2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opcode)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->_class)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->mailslot_name) + 1 + r->data.length)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_smb_trans_body(struct ndr_pull *ndr, int ndr_flags, struct smb_trans_body *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->wct)); - if (r->wct < 17 || r->wct > 17) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->total_param_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->total_data_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_param_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_data_count)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->max_setup_count)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pad)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->trans_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timeout)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->param_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->param_offset)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data_offset)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->setup_count)); - if (r->setup_count < 3 || r->setup_count > 3) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pad2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opcode)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->_class)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->byte_count)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_smb_trans_body(struct ndr_print *ndr, const char *name, const struct smb_trans_body *r) -{ - ndr_print_struct(ndr, name, "smb_trans_body"); - ndr->depth++; - ndr_print_uint8(ndr, "wct", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?17:r->wct); - ndr_print_uint16(ndr, "total_param_count", r->total_param_count); - ndr_print_uint16(ndr, "total_data_count", r->total_data_count); - ndr_print_uint16(ndr, "max_param_count", r->max_param_count); - ndr_print_uint16(ndr, "max_data_count", r->max_data_count); - ndr_print_uint8(ndr, "max_setup_count", r->max_setup_count); - ndr_print_uint8(ndr, "pad", r->pad); - ndr_print_uint16(ndr, "trans_flags", r->trans_flags); - ndr_print_uint32(ndr, "timeout", r->timeout); - ndr_print_uint16(ndr, "reserved", r->reserved); - ndr_print_uint16(ndr, "param_count", r->param_count); - ndr_print_uint16(ndr, "param_offset", r->param_offset); - ndr_print_uint16(ndr, "data_count", r->data_count); - ndr_print_uint16(ndr, "data_offset", r->data_offset); - ndr_print_uint8(ndr, "setup_count", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?3:r->setup_count); - ndr_print_uint8(ndr, "pad2", r->pad2); - ndr_print_uint16(ndr, "opcode", r->opcode); - ndr_print_uint16(ndr, "priority", r->priority); - ndr_print_uint16(ndr, "_class", r->_class); - ndr_print_uint16(ndr, "byte_count", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->mailslot_name) + 1 + r->data.length:r->byte_count); - ndr_print_string(ndr, "mailslot_name", r->mailslot_name); - ndr_print_DATA_BLOB(ndr, "data", r->data); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_smb_body(struct ndr_push *ndr, int ndr_flags, const union smb_body *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case SMB_TRANSACTION: { - NDR_CHECK(ndr_push_smb_trans_body(ndr, NDR_SCALARS, &r->trans)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case SMB_TRANSACTION: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_smb_body(struct ndr_pull *ndr, int ndr_flags, union smb_body *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case SMB_TRANSACTION: { - NDR_CHECK(ndr_pull_smb_trans_body(ndr, NDR_SCALARS, &r->trans)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case SMB_TRANSACTION: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_smb_body(struct ndr_print *ndr, const char *name, const union smb_body *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "smb_body"); - switch (level) { - case SMB_TRANSACTION: - ndr_print_smb_trans_body(ndr, "trans", &r->trans); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_dgram_smb_packet(struct ndr_push *ndr, int ndr_flags, const struct dgram_smb_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_smb_command(ndr, NDR_SCALARS, r->smb_command)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->err_class)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pad)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->err_code)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->flags2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->pid_high)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->signature, 8)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->tid)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->pid)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vuid)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->mid)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->body, r->smb_command)); - NDR_CHECK(ndr_push_smb_body(ndr, NDR_SCALARS, &r->body)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_dgram_smb_packet(struct ndr_pull *ndr, int ndr_flags, struct dgram_smb_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_smb_command(ndr, NDR_SCALARS, &r->smb_command)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->err_class)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pad)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->err_code)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->flags2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->pid_high)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->signature, 8)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->tid)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->pid)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vuid)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->mid)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->body, r->smb_command)); - NDR_CHECK(ndr_pull_smb_body(ndr, NDR_SCALARS, &r->body)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_smb_packet(struct ndr_print *ndr, const char *name, const struct dgram_smb_packet *r) -{ - ndr_print_struct(ndr, name, "dgram_smb_packet"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_smb_command(ndr, "smb_command", r->smb_command); - ndr_print_uint8(ndr, "err_class", r->err_class); - ndr_print_uint8(ndr, "pad", r->pad); - ndr_print_uint16(ndr, "err_code", r->err_code); - ndr_print_uint8(ndr, "flags", r->flags); - ndr_print_uint16(ndr, "flags2", r->flags2); - ndr_print_uint16(ndr, "pid_high", r->pid_high); - ndr_print_array_uint8(ndr, "signature", r->signature, 8); - ndr_print_uint16(ndr, "reserved", r->reserved); - ndr_print_uint16(ndr, "tid", r->tid); - ndr_print_uint16(ndr, "pid", r->pid); - ndr_print_uint16(ndr, "vuid", r->vuid); - ndr_print_uint16(ndr, "mid", r->mid); - ndr_print_set_switch_value(ndr, &r->body, r->smb_command); - ndr_print_smb_body(ndr, "body", &r->body); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_dgram_message_body(struct ndr_push *ndr, int ndr_flags, const union dgram_message_body *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case DGRAM_SMB: { - NDR_CHECK(ndr_push_dgram_smb_packet(ndr, NDR_SCALARS, &r->smb)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DGRAM_SMB: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dgram_message_body(struct ndr_pull *ndr, int ndr_flags, union dgram_message_body *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case DGRAM_SMB: { - NDR_CHECK(ndr_pull_dgram_smb_packet(ndr, NDR_SCALARS, &r->smb)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DGRAM_SMB: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_message_body(struct ndr_print *ndr, const char *name, const union dgram_message_body *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dgram_message_body"); - switch (level) { - case DGRAM_SMB: - ndr_print_dgram_smb_packet(ndr, "smb", &r->smb); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_dgram_message(struct ndr_push *ndr, int ndr_flags, const struct dgram_message *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->offset)); - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->source_name)); - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dgram_body_type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->body, r->dgram_body_type)); - NDR_CHECK(ndr_push_dgram_message_body(ndr, NDR_SCALARS, &r->body)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dgram_message(struct ndr_pull *ndr, int ndr_flags, struct dgram_message *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->offset)); - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->source_name)); - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dgram_body_type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->body, r->dgram_body_type)); - NDR_CHECK(ndr_pull_dgram_message_body(ndr, NDR_SCALARS, &r->body)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_message(struct ndr_print *ndr, const char *name, const struct dgram_message *r) -{ - ndr_print_struct(ndr, name, "dgram_message"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_uint16(ndr, "offset", r->offset); - ndr_print_nbt_name(ndr, "source_name", &r->source_name); - ndr_print_nbt_name(ndr, "dest_name", &r->dest_name); - ndr_print_uint32(ndr, "dgram_body_type", r->dgram_body_type); - ndr_print_set_switch_value(ndr, &r->body, r->dgram_body_type); - ndr_print_dgram_message_body(ndr, "body", &r->body); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_dgram_err_code(struct ndr_push *ndr, int ndr_flags, enum dgram_err_code r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dgram_err_code(struct ndr_pull *ndr, int ndr_flags, enum dgram_err_code *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_err_code(struct ndr_print *ndr, const char *name, enum dgram_err_code r) -{ - const char *val = NULL; - - switch (r) { - case DGRAM_ERROR_NAME_NOT_PRESENT: val = "DGRAM_ERROR_NAME_NOT_PRESENT"; break; - case DGRAM_ERROR_INVALID_SOURCE: val = "DGRAM_ERROR_INVALID_SOURCE"; break; - case DGRAM_ERROR_INVALID_DEST: val = "DGRAM_ERROR_INVALID_DEST"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_dgram_data(struct ndr_push *ndr, int ndr_flags, const union dgram_data *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case DGRAM_DIRECT_UNIQUE: { - NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg)); - break; } - - case DGRAM_DIRECT_GROUP: { - NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg)); - break; } - - case DGRAM_BCAST: { - NDR_CHECK(ndr_push_dgram_message(ndr, NDR_SCALARS, &r->msg)); - break; } - - case DGRAM_ERROR: { - NDR_CHECK(ndr_push_dgram_err_code(ndr, NDR_SCALARS, r->error)); - break; } - - case DGRAM_QUERY: { - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - break; } - - case DGRAM_QUERY_POSITIVE: { - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - break; } - - case DGRAM_QUERY_NEGATIVE: { - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case DGRAM_DIRECT_UNIQUE: - break; - - case DGRAM_DIRECT_GROUP: - break; - - case DGRAM_BCAST: - break; - - case DGRAM_ERROR: - break; - - case DGRAM_QUERY: - break; - - case DGRAM_QUERY_POSITIVE: - break; - - case DGRAM_QUERY_NEGATIVE: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_dgram_data(struct ndr_pull *ndr, int ndr_flags, union dgram_data *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case DGRAM_DIRECT_UNIQUE: { - NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg)); - break; } - - case DGRAM_DIRECT_GROUP: { - NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg)); - break; } - - case DGRAM_BCAST: { - NDR_CHECK(ndr_pull_dgram_message(ndr, NDR_SCALARS, &r->msg)); - break; } - - case DGRAM_ERROR: { - NDR_CHECK(ndr_pull_dgram_err_code(ndr, NDR_SCALARS, &r->error)); - break; } - - case DGRAM_QUERY: { - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - break; } - - case DGRAM_QUERY_POSITIVE: { - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - break; } - - case DGRAM_QUERY_NEGATIVE: { - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->dest_name)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case DGRAM_DIRECT_UNIQUE: - break; - - case DGRAM_DIRECT_GROUP: - break; - - case DGRAM_BCAST: - break; - - case DGRAM_ERROR: - break; - - case DGRAM_QUERY: - break; - - case DGRAM_QUERY_POSITIVE: - break; - - case DGRAM_QUERY_NEGATIVE: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_dgram_data(struct ndr_print *ndr, const char *name, const union dgram_data *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "dgram_data"); - switch (level) { - case DGRAM_DIRECT_UNIQUE: - ndr_print_dgram_message(ndr, "msg", &r->msg); - break; - - case DGRAM_DIRECT_GROUP: - ndr_print_dgram_message(ndr, "msg", &r->msg); - break; - - case DGRAM_BCAST: - ndr_print_dgram_message(ndr, "msg", &r->msg); - break; - - case DGRAM_ERROR: - ndr_print_dgram_err_code(ndr, "error", r->error); - break; - - case DGRAM_QUERY: - ndr_print_nbt_name(ndr, "dest_name", &r->dest_name); - break; - - case DGRAM_QUERY_POSITIVE: - ndr_print_nbt_name(ndr, "dest_name", &r->dest_name); - break; - - case DGRAM_QUERY_NEGATIVE: - ndr_print_nbt_name(ndr, "dest_name", &r->dest_name); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_dgram_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_dgram_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dgram_msg_type(ndr, NDR_SCALARS, r->msg_type)); - NDR_CHECK(ndr_push_dgram_flags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->dgram_id)); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->src_addr)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->src_port)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->msg_type)); - NDR_CHECK(ndr_push_dgram_data(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_dgram_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_dgram_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dgram_msg_type(ndr, NDR_SCALARS, &r->msg_type)); - NDR_CHECK(ndr_pull_dgram_flags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dgram_id)); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->src_addr)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->src_port)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->msg_type)); - NDR_CHECK(ndr_pull_dgram_data(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_dgram_packet(struct ndr_print *ndr, const char *name, const struct nbt_dgram_packet *r) -{ - ndr_print_struct(ndr, name, "nbt_dgram_packet"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_dgram_msg_type(ndr, "msg_type", r->msg_type); - ndr_print_dgram_flags(ndr, "flags", r->flags); - ndr_print_uint16(ndr, "dgram_id", r->dgram_id); - ndr_print_ipv4address(ndr, "src_addr", r->src_addr); - ndr_print_uint16(ndr, "src_port", r->src_port); - ndr_print_set_switch_value(ndr, &r->data, r->msg_type); - ndr_print_dgram_data(ndr, "data", &r->data); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_sockaddr(struct ndr_push *ndr, int ndr_flags, const struct nbt_sockaddr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sockaddr_family)); - { - uint32_t _flags_save_ipv4address = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip)); - ndr->flags = _flags_save_ipv4address; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_sockaddr(struct ndr_pull *ndr, int ndr_flags, struct nbt_sockaddr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sockaddr_family)); - { - uint32_t _flags_save_ipv4address = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip)); - ndr->flags = _flags_save_ipv4address; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_sockaddr(struct ndr_print *ndr, const char *name, const struct nbt_sockaddr *r) -{ - ndr_print_struct(ndr, name, "nbt_sockaddr"); - ndr->depth++; - ndr_print_uint32(ndr, "sockaddr_family", r->sockaddr_family); - ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip); - ndr_print_DATA_BLOB(ndr, "remaining", r->remaining); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_nbt_sockaddr(const struct nbt_sockaddr *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_nbt_sockaddr, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_server_type(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_server_type(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_PDC", NBT_SERVER_PDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_GC", NBT_SERVER_GC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_LDAP", NBT_SERVER_LDAP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_DS", NBT_SERVER_DS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_KDC", NBT_SERVER_KDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_TIMESERV", NBT_SERVER_TIMESERV, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_CLOSEST", NBT_SERVER_CLOSEST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_WRITABLE", NBT_SERVER_WRITABLE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_GOOD_TIMESERV", NBT_SERVER_GOOD_TIMESERV, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_NDNC", NBT_SERVER_NDNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_SELECT_SECRET_DOMAIN_6", NBT_SERVER_SELECT_SECRET_DOMAIN_6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_FULL_SECRET_DOMAIN_6", NBT_SERVER_FULL_SECRET_DOMAIN_6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_ADS_WEB_SERVICE", NBT_SERVER_ADS_WEB_SERVICE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_HAS_DNS_NAME", NBT_SERVER_HAS_DNS_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_IS_DEFAULT_NC", NBT_SERVER_IS_DEFAULT_NC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NBT_SERVER_FOREST_ROOT", NBT_SERVER_FOREST_ROOT, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netlogon_nt_version_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netlogon_nt_version_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netlogon_nt_version_flags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_1", NETLOGON_NT_VERSION_1, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_5", NETLOGON_NT_VERSION_5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_5EX", NETLOGON_NT_VERSION_5EX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_5EX_WITH_IP", NETLOGON_NT_VERSION_5EX_WITH_IP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_WITH_CLOSEST_SITE", NETLOGON_NT_VERSION_WITH_CLOSEST_SITE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_AVIOD_NT4EMUL", NETLOGON_NT_VERSION_AVIOD_NT4EMUL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_PDC", NETLOGON_NT_VERSION_PDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_IP", NETLOGON_NT_VERSION_IP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_LOCAL", NETLOGON_NT_VERSION_LOCAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NT_VERSION_GC", NETLOGON_NT_VERSION_GC, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netlogon_command(struct ndr_push *ndr, int ndr_flags, enum netlogon_command r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netlogon_command(struct ndr_pull *ndr, int ndr_flags, enum netlogon_command *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netlogon_command(struct ndr_print *ndr, const char *name, enum netlogon_command r) -{ - const char *val = NULL; - - switch (r) { - case LOGON_PRIMARY_QUERY: val = "LOGON_PRIMARY_QUERY"; break; - case NETLOGON_ANNOUNCE_UAS: val = "NETLOGON_ANNOUNCE_UAS"; break; - case NETLOGON_RESPONSE_FROM_PDC: val = "NETLOGON_RESPONSE_FROM_PDC"; break; - case LOGON_SAM_LOGON_REQUEST: val = "LOGON_SAM_LOGON_REQUEST"; break; - case LOGON_SAM_LOGON_RESPONSE: val = "LOGON_SAM_LOGON_RESPONSE"; break; - case LOGON_SAM_LOGON_PAUSE_RESPONSE: val = "LOGON_SAM_LOGON_PAUSE_RESPONSE"; break; - case LOGON_SAM_LOGON_USER_UNKNOWN: val = "LOGON_SAM_LOGON_USER_UNKNOWN"; break; - case LOGON_SAM_LOGON_RESPONSE_EX: val = "LOGON_SAM_LOGON_RESPONSE_EX"; break; - case LOGON_SAM_LOGON_PAUSE_RESPONSE_EX: val = "LOGON_SAM_LOGON_PAUSE_RESPONSE_EX"; break; - case LOGON_SAM_LOGON_USER_UNKNOWN_EX: val = "LOGON_SAM_LOGON_USER_UNKNOWN_EX"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ void ndr_print_NETLOGON_SAM_LOGON_REQUEST(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_REQUEST *r) -{ - ndr_print_struct(ndr, name, "NETLOGON_SAM_LOGON_REQUEST"); - ndr->depth++; - ndr_print_uint16(ndr, "request_count", r->request_count); - ndr_print_string(ndr, "computer_name", r->computer_name); - ndr_print_string(ndr, "user_name", r->user_name); - ndr_print_string(ndr, "mailslot_name", r->mailslot_name); - ndr_print_samr_AcctFlags(ndr, "acct_control", r->acct_control); - ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr_print_dom_sid0(ndr, "sid", &r->sid); - ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version); - ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token); - ndr_print_uint16(ndr, "lm20_token", r->lm20_token); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netlogon_command(ndr, NDR_SCALARS, r->command)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_netlogon_nt_version_flags(ndr, NDR_SCALARS, r->nt_version)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netlogon_command(ndr, NDR_SCALARS, &r->command)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_netlogon_nt_version_flags(ndr, NDR_SCALARS, &r->nt_version)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *r) -{ - ndr_print_struct(ndr, name, "NETLOGON_SAM_LOGON_RESPONSE_NT40"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_netlogon_command(ndr, "command", r->command); - ndr_print_string(ndr, "pdc_name", r->pdc_name); - ndr_print_string(ndr, "user_name", r->user_name); - ndr_print_string(ndr, "domain_name", r->domain_name); - ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version); - ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token); - ndr_print_uint16(ndr, "lm20_token", r->lm20_token); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netlogon_command(ndr, NDR_SCALARS, r->command)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->zero_uuid)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name)); - NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->pdc_ip)); - NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type)); - NDR_CHECK(ndr_push_netlogon_nt_version_flags(ndr, NDR_SCALARS, r->nt_version)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netlogon_command(ndr, NDR_SCALARS, &r->command)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->zero_uuid)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name)); - NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->pdc_ip)); - NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type)); - NDR_CHECK(ndr_pull_netlogon_nt_version_flags(ndr, NDR_SCALARS, &r->nt_version)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_RESPONSE *r) -{ - ndr_print_struct(ndr, name, "NETLOGON_SAM_LOGON_RESPONSE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_netlogon_command(ndr, "command", r->command); - ndr_print_string(ndr, "pdc_name", r->pdc_name); - ndr_print_string(ndr, "user_name", r->user_name); - ndr_print_string(ndr, "domain_name", r->domain_name); - ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid); - ndr_print_GUID(ndr, "zero_uuid", &r->zero_uuid); - ndr_print_nbt_string(ndr, "forest", r->forest); - ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain); - ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name); - ndr_print_ipv4address(ndr, "pdc_ip", r->pdc_ip); - ndr_print_nbt_server_type(ndr, "server_type", r->server_type); - ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version); - ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token); - ndr_print_uint16(ndr, "lm20_token", r->lm20_token); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE_EX *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netlogon_command(ndr, NDR_SCALARS, r->command)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->sbz)); - NDR_CHECK(ndr_push_nbt_server_type(ndr, NDR_SCALARS, r->server_type)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_uuid)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->forest)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->dns_domain)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_dns_name)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->domain_name)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->pdc_name)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->user_name)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->server_site)); - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->client_site)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags))); - { - struct ndr_push *_ndr_sockaddr; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sockaddr, 0, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_nbt_sockaddr(_ndr_sockaddr, NDR_SCALARS, &r->sockaddr)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sockaddr, 0, ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags))); - } - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->next_closest_site)); - NDR_CHECK(ndr_push_netlogon_nt_version_flags(ndr, NDR_SCALARS, r->nt_version)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_RESPONSE_EX *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netlogon_command(ndr, NDR_SCALARS, &r->command)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->sbz)); - NDR_CHECK(ndr_pull_nbt_server_type(ndr, NDR_SCALARS, &r->server_type)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_uuid)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->forest)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->dns_domain)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_dns_name)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->pdc_name)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->user_name)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->server_site)); - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->client_site)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->sockaddr_size)); - { - struct ndr_pull *_ndr_sockaddr; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sockaddr, 0, r->sockaddr_size)); - NDR_CHECK(ndr_pull_nbt_sockaddr(_ndr_sockaddr, NDR_SCALARS, &r->sockaddr)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sockaddr, 0, r->sockaddr_size)); - } - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->next_closest_site)); - NDR_CHECK(ndr_pull_netlogon_nt_version_flags(ndr, NDR_SCALARS, &r->nt_version)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_RESPONSE_EX *r) -{ - ndr_print_struct(ndr, name, "NETLOGON_SAM_LOGON_RESPONSE_EX"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_netlogon_command(ndr, "command", r->command); - ndr_print_uint16(ndr, "sbz", r->sbz); - ndr_print_nbt_server_type(ndr, "server_type", r->server_type); - ndr_print_GUID(ndr, "domain_uuid", &r->domain_uuid); - ndr_print_nbt_string(ndr, "forest", r->forest); - ndr_print_nbt_string(ndr, "dns_domain", r->dns_domain); - ndr_print_nbt_string(ndr, "pdc_dns_name", r->pdc_dns_name); - ndr_print_nbt_string(ndr, "domain_name", r->domain_name); - ndr_print_nbt_string(ndr, "pdc_name", r->pdc_name); - ndr_print_nbt_string(ndr, "user_name", r->user_name); - ndr_print_nbt_string(ndr, "server_site", r->server_site); - ndr_print_nbt_string(ndr, "client_site", r->client_site); - ndr_print_uint8(ndr, "sockaddr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_nbt_sockaddr(&r->sockaddr, ndr->iconv_convenience, ndr->flags):r->sockaddr_size); - ndr_print_nbt_sockaddr(ndr, "sockaddr", &r->sockaddr); - ndr_print_nbt_string(ndr, "next_closest_site", r->next_closest_site); - ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version); - ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token); - ndr_print_uint16(ndr, "lm20_token", r->lm20_token); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_nbt_netlogon_query_for_pdc(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_query_for_pdc *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->computer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mailslot_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_netlogon_nt_version_flags(ndr, NDR_SCALARS, r->nt_version)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_netlogon_query_for_pdc(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_query_for_pdc *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->computer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mailslot_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_netlogon_nt_version_flags(ndr, NDR_SCALARS, &r->nt_version)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc *r) -{ - ndr_print_struct(ndr, name, "nbt_netlogon_query_for_pdc"); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->computer_name); - ndr_print_string(ndr, "mailslot_name", r->mailslot_name); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr_print_string(ndr, "unicode_name", r->unicode_name); - ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version); - ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token); - ndr_print_uint16(ndr, "lm20_token", r->lm20_token); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_response_from_pdc *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netlogon_command(ndr, NDR_SCALARS, r->command)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_netlogon_nt_version_flags(ndr, NDR_SCALARS, r->nt_version)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lmnt_token)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm20_token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_response_from_pdc *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netlogon_command(ndr, NDR_SCALARS, &r->command)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_netlogon_nt_version_flags(ndr, NDR_SCALARS, &r->nt_version)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lmnt_token)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm20_token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc *r) -{ - ndr_print_struct(ndr, name, "nbt_netlogon_response_from_pdc"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_netlogon_command(ndr, "command", r->command); - ndr_print_string(ndr, "pdc_name", r->pdc_name); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr_print_string(ndr, "unicode_pdc_name", r->unicode_pdc_name); - ndr_print_string(ndr, "domain_name", r->domain_name); - ndr_print_netlogon_nt_version_flags(ndr, "nt_version", r->nt_version); - ndr_print_uint16(ndr, "lmnt_token", r->lmnt_token); - ndr_print_uint16(ndr, "lm20_token", r->lm20_token); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_nbt_db_change_info(struct ndr_push *ndr, int ndr_flags, const struct nbt_db_change_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->db_index)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->serial)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timestamp)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_db_change_info(struct ndr_pull *ndr, int ndr_flags, struct nbt_db_change_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->db_index)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->serial)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timestamp)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_db_change_info(struct ndr_print *ndr, const char *name, const struct nbt_db_change_info *r) -{ - ndr_print_struct(ndr, name, "nbt_db_change_info"); - ndr->depth++; - ndr_print_netr_SamDatabaseID(ndr, "db_index", r->db_index); - ndr_print_hyper(ndr, "serial", r->serial); - ndr_print_NTTIME(ndr, "timestamp", r->timestamp); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_NETLOGON_DB_CHANGE(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_DB_CHANGE *r) -{ - uint32_t cntr_dbchange_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_lo)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pulse)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->random)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->domain)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unicode_domain)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->db_count)); - for (cntr_dbchange_0 = 0; cntr_dbchange_0 < r->db_count; cntr_dbchange_0++) { - NDR_CHECK(ndr_push_nbt_db_change_info(ndr, NDR_SCALARS, &r->dbchange[cntr_dbchange_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_dom_sid0(&r->sid, ndr->flags))); - { - struct ndr_push *_ndr_sid; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags))); - NDR_CHECK(ndr_push_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sid, 0, ndr_size_dom_sid0(&r->sid, ndr->flags))); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->message_format_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->message_token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NETLOGON_DB_CHANGE(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_DB_CHANGE *r) -{ - uint32_t cntr_dbchange_0; - TALLOC_CTX *_mem_save_dbchange_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_lo)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pulse)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->random)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->domain)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN2); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad)); - ndr->flags = _flags_save_DATA_BLOB; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_pdc_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unicode_domain)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->db_count)); - NDR_PULL_ALLOC_N(ndr, r->dbchange, r->db_count); - _mem_save_dbchange_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dbchange, 0); - for (cntr_dbchange_0 = 0; cntr_dbchange_0 < r->db_count; cntr_dbchange_0++) { - NDR_CHECK(ndr_pull_nbt_db_change_info(ndr, NDR_SCALARS, &r->dbchange[cntr_dbchange_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dbchange_0, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_size)); - { - struct ndr_pull *_ndr_sid; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sid, 0, r->sid_size)); - NDR_CHECK(ndr_pull_dom_sid0(_ndr_sid, NDR_SCALARS|NDR_BUFFERS, &r->sid)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sid, 0, r->sid_size)); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->message_format_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->message_token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NETLOGON_DB_CHANGE(struct ndr_print *ndr, const char *name, const struct NETLOGON_DB_CHANGE *r) -{ - uint32_t cntr_dbchange_0; - ndr_print_struct(ndr, name, "NETLOGON_DB_CHANGE"); - ndr->depth++; - ndr_print_uint32(ndr, "serial_lo", r->serial_lo); - ndr_print_time_t(ndr, "timestamp", r->timestamp); - ndr_print_uint32(ndr, "pulse", r->pulse); - ndr_print_uint32(ndr, "random", r->random); - ndr_print_string(ndr, "pdc_name", r->pdc_name); - ndr_print_string(ndr, "domain", r->domain); - ndr_print_DATA_BLOB(ndr, "_pad", r->_pad); - ndr_print_string(ndr, "unicode_pdc_name", r->unicode_pdc_name); - ndr_print_string(ndr, "unicode_domain", r->unicode_domain); - ndr_print_uint32(ndr, "db_count", r->db_count); - ndr->print(ndr, "%s: ARRAY(%d)", "dbchange", (int)r->db_count); - ndr->depth++; - for (cntr_dbchange_0=0;cntr_dbchange_0db_count;cntr_dbchange_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_dbchange_0) != -1) { - ndr_print_nbt_db_change_info(ndr, "dbchange", &r->dbchange[cntr_dbchange_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "sid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid0(&r->sid, ndr->flags):r->sid_size); - ndr_print_dom_sid0(ndr, "sid", &r->sid); - ndr_print_uint32(ndr, "message_format_version", r->message_format_version); - ndr_print_uint32(ndr, "message_token", r->message_token); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_netlogon_request(struct ndr_push *ndr, int ndr_flags, const union nbt_netlogon_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case LOGON_SAM_LOGON_REQUEST: { - NDR_CHECK(ndr_push_NETLOGON_SAM_LOGON_REQUEST(ndr, NDR_SCALARS, &r->logon)); - break; } - - case LOGON_PRIMARY_QUERY: { - NDR_CHECK(ndr_push_nbt_netlogon_query_for_pdc(ndr, NDR_SCALARS, &r->pdc)); - break; } - - case NETLOGON_ANNOUNCE_UAS: { - NDR_CHECK(ndr_push_NETLOGON_DB_CHANGE(ndr, NDR_SCALARS, &r->uas)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case LOGON_SAM_LOGON_REQUEST: - NDR_CHECK(ndr_push_NETLOGON_SAM_LOGON_REQUEST(ndr, NDR_BUFFERS, &r->logon)); - break; - - case LOGON_PRIMARY_QUERY: - break; - - case NETLOGON_ANNOUNCE_UAS: - NDR_CHECK(ndr_push_NETLOGON_DB_CHANGE(ndr, NDR_BUFFERS, &r->uas)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_netlogon_request(struct ndr_pull *ndr, int ndr_flags, union nbt_netlogon_request *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case LOGON_SAM_LOGON_REQUEST: { - NDR_CHECK(ndr_pull_NETLOGON_SAM_LOGON_REQUEST(ndr, NDR_SCALARS, &r->logon)); - break; } - - case LOGON_PRIMARY_QUERY: { - NDR_CHECK(ndr_pull_nbt_netlogon_query_for_pdc(ndr, NDR_SCALARS, &r->pdc)); - break; } - - case NETLOGON_ANNOUNCE_UAS: { - NDR_CHECK(ndr_pull_NETLOGON_DB_CHANGE(ndr, NDR_SCALARS, &r->uas)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case LOGON_SAM_LOGON_REQUEST: - NDR_CHECK(ndr_pull_NETLOGON_SAM_LOGON_REQUEST(ndr, NDR_BUFFERS, &r->logon)); - break; - - case LOGON_PRIMARY_QUERY: - break; - - case NETLOGON_ANNOUNCE_UAS: - NDR_CHECK(ndr_pull_NETLOGON_DB_CHANGE(ndr, NDR_BUFFERS, &r->uas)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_netlogon_request(struct ndr_print *ndr, const char *name, const union nbt_netlogon_request *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "nbt_netlogon_request"); - switch (level) { - case LOGON_SAM_LOGON_REQUEST: - ndr_print_NETLOGON_SAM_LOGON_REQUEST(ndr, "logon", &r->logon); - break; - - case LOGON_PRIMARY_QUERY: - ndr_print_nbt_netlogon_query_for_pdc(ndr, "pdc", &r->pdc); - break; - - case NETLOGON_ANNOUNCE_UAS: - ndr_print_NETLOGON_DB_CHANGE(ndr, "uas", &r->uas); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_netlogon_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_netlogon_command(ndr, NDR_SCALARS, r->command)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->req, r->command)); - NDR_CHECK(ndr_push_nbt_netlogon_request(ndr, NDR_SCALARS, &r->req)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_nbt_netlogon_request(ndr, NDR_BUFFERS, &r->req)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_netlogon_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_netlogon_command(ndr, NDR_SCALARS, &r->command)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->req, r->command)); - NDR_CHECK(ndr_pull_nbt_netlogon_request(ndr, NDR_SCALARS, &r->req)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_nbt_netlogon_request(ndr, NDR_BUFFERS, &r->req)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_netlogon_packet(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_packet *r) -{ - ndr_print_struct(ndr, name, "nbt_netlogon_packet"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_netlogon_command(ndr, "command", r->command); - ndr_print_set_switch_value(ndr, &r->req, r->command); - ndr_print_nbt_netlogon_request(ndr, "req", &r->req); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_nbt_browse_opcode(struct ndr_push *ndr, int ndr_flags, enum nbt_browse_opcode r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_opcode(struct ndr_pull *ndr, int ndr_flags, enum nbt_browse_opcode *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_opcode(struct ndr_print *ndr, const char *name, enum nbt_browse_opcode r) -{ - const char *val = NULL; - - switch (r) { - case HostAnnouncement: val = "HostAnnouncement"; break; - case AnnouncementRequest: val = "AnnouncementRequest"; break; - case Election: val = "Election"; break; - case GetBackupListReq: val = "GetBackupListReq"; break; - case GetBackupListResp: val = "GetBackupListResp"; break; - case BecomeBackup: val = "BecomeBackup"; break; - case DomainAnnouncement: val = "DomainAnnouncement"; break; - case MasterAnnouncement: val = "MasterAnnouncement"; break; - case ResetBrowserState: val = "ResetBrowserState"; break; - case LocalMasterAnnouncement: val = "LocalMasterAnnouncement"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_nbt_browse_host_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_host_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->UpdateCount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Periodicity)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ServerName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMajor)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMinor)); - NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->ServerType)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMajorVer)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMinorVer)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Signature)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_host_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_host_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->UpdateCount)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Periodicity)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ServerName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMajor)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMinor)); - NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->ServerType)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMajorVer)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMinorVer)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Signature)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_host_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_host_announcement *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_host_announcement"); - ndr->depth++; - ndr_print_uint8(ndr, "UpdateCount", r->UpdateCount); - ndr_print_uint32(ndr, "Periodicity", r->Periodicity); - ndr_print_string(ndr, "ServerName", r->ServerName); - ndr_print_uint8(ndr, "OSMajor", r->OSMajor); - ndr_print_uint8(ndr, "OSMinor", r->OSMinor); - ndr_print_svcctl_ServerType(ndr, "ServerType", r->ServerType); - ndr_print_uint8(ndr, "BroMajorVer", r->BroMajorVer); - ndr_print_uint8(ndr, "BroMinorVer", r->BroMinorVer); - ndr_print_uint16(ndr, "Signature", r->Signature); - ndr_print_string(ndr, "Comment", r->Comment); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_announcement_request(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_announcement_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Unused)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ResponseName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_announcement_request(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_announcement_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Unused)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ResponseName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_announcement_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_announcement_request *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_announcement_request"); - ndr->depth++; - ndr_print_uint8(ndr, "Unused", r->Unused); - ndr_print_string(ndr, "ResponseName", r->ResponseName); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_election_request(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_election_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Criteria)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->UpTime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Reserved)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ServerName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_election_request(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_election_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Criteria)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->UpTime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Reserved)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ServerName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_election_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_election_request *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_election_request"); - ndr->depth++; - ndr_print_uint8(ndr, "Version", r->Version); - ndr_print_uint32(ndr, "Criteria", r->Criteria); - ndr_print_uint32(ndr, "UpTime", r->UpTime); - ndr_print_uint32(ndr, "Reserved", r->Reserved); - ndr_print_string(ndr, "ServerName", r->ServerName); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_backup_list_request(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_backup_list_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ReqCount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Token)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_backup_list_request(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_backup_list_request *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ReqCount)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Token)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_backup_list_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_request *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_backup_list_request"); - ndr->depth++; - ndr_print_uint8(ndr, "ReqCount", r->ReqCount); - ndr_print_uint32(ndr, "Token", r->Token); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_backup_list_response(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_backup_list_response *r) -{ - uint32_t cntr_BackupServerList_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BackupCount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Token)); - for (cntr_BackupServerList_0 = 0; cntr_BackupServerList_0 < r->BackupCount; cntr_BackupServerList_0++) { - NDR_CHECK(ndr_push_nbt_name(ndr, NDR_SCALARS, &r->BackupServerList[cntr_BackupServerList_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_backup_list_response(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_backup_list_response *r) -{ - uint32_t cntr_BackupServerList_0; - TALLOC_CTX *_mem_save_BackupServerList_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BackupCount)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Token)); - NDR_PULL_ALLOC_N(ndr, r->BackupServerList, r->BackupCount); - _mem_save_BackupServerList_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->BackupServerList, 0); - for (cntr_BackupServerList_0 = 0; cntr_BackupServerList_0 < r->BackupCount; cntr_BackupServerList_0++) { - NDR_CHECK(ndr_pull_nbt_name(ndr, NDR_SCALARS, &r->BackupServerList[cntr_BackupServerList_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_BackupServerList_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_backup_list_response(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_response *r) -{ - uint32_t cntr_BackupServerList_0; - ndr_print_struct(ndr, name, "nbt_browse_backup_list_response"); - ndr->depth++; - ndr_print_uint8(ndr, "BackupCount", r->BackupCount); - ndr_print_uint32(ndr, "Token", r->Token); - ndr->print(ndr, "%s: ARRAY(%d)", "BackupServerList", (int)r->BackupCount); - ndr->depth++; - for (cntr_BackupServerList_0=0;cntr_BackupServerList_0BackupCount;cntr_BackupServerList_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_BackupServerList_0) != -1) { - ndr_print_nbt_name(ndr, "BackupServerList", &r->BackupServerList[cntr_BackupServerList_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_become_backup(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_become_backup *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->BrowserName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_become_backup(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_become_backup *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->BrowserName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_become_backup(struct ndr_print *ndr, const char *name, const struct nbt_browse_become_backup *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_become_backup"); - ndr->depth++; - ndr_print_string(ndr, "BrowserName", r->BrowserName); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_domain_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_domain_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->UpdateCount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Periodicity)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ServerName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMajor)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMinor)); - NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->ServerType)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MysteriousField)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_domain_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_domain_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->UpdateCount)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Periodicity)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ServerName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMajor)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMinor)); - NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->ServerType)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MysteriousField)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_domain_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_domain_announcement *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_domain_announcement"); - ndr->depth++; - ndr_print_uint8(ndr, "UpdateCount", r->UpdateCount); - ndr_print_uint32(ndr, "Periodicity", r->Periodicity); - ndr_print_string(ndr, "ServerName", r->ServerName); - ndr_print_uint8(ndr, "OSMajor", r->OSMajor); - ndr_print_uint8(ndr, "OSMinor", r->OSMinor); - ndr_print_svcctl_ServerType(ndr, "ServerType", r->ServerType); - ndr_print_uint32(ndr, "MysteriousField", r->MysteriousField); - ndr_print_string(ndr, "Comment", r->Comment); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_master_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_master_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->ServerName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_master_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_master_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->ServerName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_master_announcement *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_master_announcement"); - ndr->depth++; - ndr_print_string(ndr, "ServerName", r->ServerName); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_reset_state(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_reset_state *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Command)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_reset_state(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_reset_state *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Command)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_reset_state(struct ndr_print *ndr, const char *name, const struct nbt_browse_reset_state *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_reset_state"); - ndr->depth++; - ndr_print_uint8(ndr, "Command", r->Command); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_local_master_announcement(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_local_master_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->UpdateCount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Periodicity)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ServerName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMajor)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->OSMinor)); - NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->ServerType)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMajorVer)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->BroMinorVer)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Signature)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_local_master_announcement(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_local_master_announcement *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->UpdateCount)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Periodicity)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ServerName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMajor)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->OSMinor)); - NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->ServerType)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMajorVer)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->BroMinorVer)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Signature)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_local_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_local_master_announcement *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_local_master_announcement"); - ndr->depth++; - ndr_print_uint8(ndr, "UpdateCount", r->UpdateCount); - ndr_print_uint32(ndr, "Periodicity", r->Periodicity); - ndr_print_string(ndr, "ServerName", r->ServerName); - ndr_print_uint8(ndr, "OSMajor", r->OSMajor); - ndr_print_uint8(ndr, "OSMinor", r->OSMinor); - ndr_print_svcctl_ServerType(ndr, "ServerType", r->ServerType); - ndr_print_uint8(ndr, "BroMajorVer", r->BroMajorVer); - ndr_print_uint8(ndr, "BroMinorVer", r->BroMinorVer); - ndr_print_uint16(ndr, "Signature", r->Signature); - ndr_print_string(ndr, "Comment", r->Comment); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_nbt_browse_payload(struct ndr_push *ndr, int ndr_flags, const union nbt_browse_payload *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case HostAnnouncement: { - NDR_CHECK(ndr_push_nbt_browse_host_announcement(ndr, NDR_SCALARS, &r->host_annoucement)); - break; } - - case AnnouncementRequest: { - NDR_CHECK(ndr_push_nbt_browse_announcement_request(ndr, NDR_SCALARS, &r->announcement_request)); - break; } - - case Election: { - NDR_CHECK(ndr_push_nbt_browse_election_request(ndr, NDR_SCALARS, &r->election_request)); - break; } - - case GetBackupListReq: { - NDR_CHECK(ndr_push_nbt_browse_backup_list_request(ndr, NDR_SCALARS, &r->backup_list_request)); - break; } - - case GetBackupListResp: { - NDR_CHECK(ndr_push_nbt_browse_backup_list_response(ndr, NDR_SCALARS, &r->backup_list_response)); - break; } - - case BecomeBackup: { - NDR_CHECK(ndr_push_nbt_browse_become_backup(ndr, NDR_SCALARS, &r->become_backup)); - break; } - - case DomainAnnouncement: { - NDR_CHECK(ndr_push_nbt_browse_domain_announcement(ndr, NDR_SCALARS, &r->domain_announcement)); - break; } - - case MasterAnnouncement: { - NDR_CHECK(ndr_push_nbt_browse_master_announcement(ndr, NDR_SCALARS, &r->master_announcement)); - break; } - - case ResetBrowserState: { - NDR_CHECK(ndr_push_nbt_browse_reset_state(ndr, NDR_SCALARS, &r->reset_browser_state)); - break; } - - case LocalMasterAnnouncement: { - NDR_CHECK(ndr_push_nbt_browse_local_master_announcement(ndr, NDR_SCALARS, &r->local_master_announcement)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case HostAnnouncement: - break; - - case AnnouncementRequest: - break; - - case Election: - break; - - case GetBackupListReq: - break; - - case GetBackupListResp: - break; - - case BecomeBackup: - break; - - case DomainAnnouncement: - break; - - case MasterAnnouncement: - break; - - case ResetBrowserState: - break; - - case LocalMasterAnnouncement: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_nbt_browse_payload(struct ndr_pull *ndr, int ndr_flags, union nbt_browse_payload *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case HostAnnouncement: { - NDR_CHECK(ndr_pull_nbt_browse_host_announcement(ndr, NDR_SCALARS, &r->host_annoucement)); - break; } - - case AnnouncementRequest: { - NDR_CHECK(ndr_pull_nbt_browse_announcement_request(ndr, NDR_SCALARS, &r->announcement_request)); - break; } - - case Election: { - NDR_CHECK(ndr_pull_nbt_browse_election_request(ndr, NDR_SCALARS, &r->election_request)); - break; } - - case GetBackupListReq: { - NDR_CHECK(ndr_pull_nbt_browse_backup_list_request(ndr, NDR_SCALARS, &r->backup_list_request)); - break; } - - case GetBackupListResp: { - NDR_CHECK(ndr_pull_nbt_browse_backup_list_response(ndr, NDR_SCALARS, &r->backup_list_response)); - break; } - - case BecomeBackup: { - NDR_CHECK(ndr_pull_nbt_browse_become_backup(ndr, NDR_SCALARS, &r->become_backup)); - break; } - - case DomainAnnouncement: { - NDR_CHECK(ndr_pull_nbt_browse_domain_announcement(ndr, NDR_SCALARS, &r->domain_announcement)); - break; } - - case MasterAnnouncement: { - NDR_CHECK(ndr_pull_nbt_browse_master_announcement(ndr, NDR_SCALARS, &r->master_announcement)); - break; } - - case ResetBrowserState: { - NDR_CHECK(ndr_pull_nbt_browse_reset_state(ndr, NDR_SCALARS, &r->reset_browser_state)); - break; } - - case LocalMasterAnnouncement: { - NDR_CHECK(ndr_pull_nbt_browse_local_master_announcement(ndr, NDR_SCALARS, &r->local_master_announcement)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case HostAnnouncement: - break; - - case AnnouncementRequest: - break; - - case Election: - break; - - case GetBackupListReq: - break; - - case GetBackupListResp: - break; - - case BecomeBackup: - break; - - case DomainAnnouncement: - break; - - case MasterAnnouncement: - break; - - case ResetBrowserState: - break; - - case LocalMasterAnnouncement: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_payload(struct ndr_print *ndr, const char *name, const union nbt_browse_payload *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "nbt_browse_payload"); - switch (level) { - case HostAnnouncement: - ndr_print_nbt_browse_host_announcement(ndr, "host_annoucement", &r->host_annoucement); - break; - - case AnnouncementRequest: - ndr_print_nbt_browse_announcement_request(ndr, "announcement_request", &r->announcement_request); - break; - - case Election: - ndr_print_nbt_browse_election_request(ndr, "election_request", &r->election_request); - break; - - case GetBackupListReq: - ndr_print_nbt_browse_backup_list_request(ndr, "backup_list_request", &r->backup_list_request); - break; - - case GetBackupListResp: - ndr_print_nbt_browse_backup_list_response(ndr, "backup_list_response", &r->backup_list_response); - break; - - case BecomeBackup: - ndr_print_nbt_browse_become_backup(ndr, "become_backup", &r->become_backup); - break; - - case DomainAnnouncement: - ndr_print_nbt_browse_domain_announcement(ndr, "domain_announcement", &r->domain_announcement); - break; - - case MasterAnnouncement: - ndr_print_nbt_browse_master_announcement(ndr, "master_announcement", &r->master_announcement); - break; - - case ResetBrowserState: - ndr_print_nbt_browse_reset_state(ndr, "reset_browser_state", &r->reset_browser_state); - break; - - case LocalMasterAnnouncement: - ndr_print_nbt_browse_local_master_announcement(ndr, "local_master_announcement", &r->local_master_announcement); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_nbt_browse_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_nbt_browse_opcode(ndr, NDR_SCALARS, r->opcode)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->payload, r->opcode)); - NDR_CHECK(ndr_push_nbt_browse_payload(ndr, NDR_SCALARS, &r->payload)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_nbt_browse_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_packet *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_nbt_browse_opcode(ndr, NDR_SCALARS, &r->opcode)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->payload, r->opcode)); - NDR_CHECK(ndr_pull_nbt_browse_payload(ndr, NDR_SCALARS, &r->payload)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_nbt_browse_packet(struct ndr_print *ndr, const char *name, const struct nbt_browse_packet *r) -{ - ndr_print_struct(ndr, name, "nbt_browse_packet"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_nbt_browse_opcode(ndr, "opcode", r->opcode); - ndr_print_set_switch_value(ndr, &r->payload, r->opcode); - ndr_print_nbt_browse_payload(ndr, "payload", &r->payload); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - diff --git a/librpc/gen_ndr/ndr_nbt.h b/librpc/gen_ndr/ndr_nbt.h deleted file mode 100644 index 7066d31c602..00000000000 --- a/librpc/gen_ndr/ndr_nbt.h +++ /dev/null @@ -1,104 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/nbt.h" - -#ifndef _HEADER_NDR_nbt -#define _HEADER_NDR_nbt - -#include "../libcli/netlogon.h" -#include "../libcli/nbt/libnbt.h" -#define NDR_NBT_CALL_COUNT (0) -void ndr_print_nbt_operation(struct ndr_print *ndr, const char *name, uint16_t r); -void ndr_print_nbt_name_type(struct ndr_print *ndr, const char *name, enum nbt_name_type r); -enum ndr_err_code ndr_push_nbt_name(struct ndr_push *ndr, int ndr_flags, const struct nbt_name *r); -enum ndr_err_code ndr_pull_nbt_name(struct ndr_pull *ndr, int ndr_flags, struct nbt_name *r); -void ndr_print_nbt_name(struct ndr_print *ndr, const char *name, const struct nbt_name *r); -enum ndr_err_code ndr_push_nbt_qclass(struct ndr_push *ndr, int ndr_flags, enum nbt_qclass r); -enum ndr_err_code ndr_pull_nbt_qclass(struct ndr_pull *ndr, int ndr_flags, enum nbt_qclass *r); -void ndr_print_nbt_qclass(struct ndr_print *ndr, const char *name, enum nbt_qclass r); -enum ndr_err_code ndr_push_nbt_qtype(struct ndr_push *ndr, int ndr_flags, enum nbt_qtype r); -enum ndr_err_code ndr_pull_nbt_qtype(struct ndr_pull *ndr, int ndr_flags, enum nbt_qtype *r); -void ndr_print_nbt_qtype(struct ndr_print *ndr, const char *name, enum nbt_qtype r); -void ndr_print_nbt_name_question(struct ndr_print *ndr, const char *name, const struct nbt_name_question *r); -void ndr_print_nb_flags(struct ndr_print *ndr, const char *name, uint16_t r); -void ndr_print_nbt_rdata_address(struct ndr_print *ndr, const char *name, const struct nbt_rdata_address *r); -void ndr_print_nbt_rdata_netbios(struct ndr_print *ndr, const char *name, const struct nbt_rdata_netbios *r); -void ndr_print_nbt_statistics(struct ndr_print *ndr, const char *name, const struct nbt_statistics *r); -void ndr_print_nbt_status_name(struct ndr_print *ndr, const char *name, const struct nbt_status_name *r); -void ndr_print_nbt_rdata_status(struct ndr_print *ndr, const char *name, const struct nbt_rdata_status *r); -void ndr_print_nbt_rdata_data(struct ndr_print *ndr, const char *name, const struct nbt_rdata_data *r); -enum ndr_err_code ndr_push_nbt_rdata(struct ndr_push *ndr, int ndr_flags, const union nbt_rdata *r); -enum ndr_err_code ndr_pull_nbt_rdata(struct ndr_pull *ndr, int ndr_flags, union nbt_rdata *r); -void ndr_print_nbt_rdata(struct ndr_print *ndr, const char *name, const union nbt_rdata *r); -enum ndr_err_code ndr_push_nbt_res_rec(struct ndr_push *ndr, int ndr_flags, const struct nbt_res_rec *r); -void ndr_print_nbt_res_rec(struct ndr_print *ndr, const char *name, const struct nbt_res_rec *r); -enum ndr_err_code ndr_push_nbt_name_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_name_packet *r); -enum ndr_err_code ndr_pull_nbt_name_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_name_packet *r); -void ndr_print_nbt_name_packet(struct ndr_print *ndr, const char *name, const struct nbt_name_packet *r); -void ndr_print_dgram_msg_type(struct ndr_print *ndr, const char *name, enum dgram_msg_type r); -void ndr_print_dgram_flags(struct ndr_print *ndr, const char *name, uint8_t r); -void ndr_print_smb_command(struct ndr_print *ndr, const char *name, enum smb_command r); -void ndr_print_smb_trans_body(struct ndr_print *ndr, const char *name, const struct smb_trans_body *r); -void ndr_print_smb_body(struct ndr_print *ndr, const char *name, const union smb_body *r); -enum ndr_err_code ndr_push_dgram_smb_packet(struct ndr_push *ndr, int ndr_flags, const struct dgram_smb_packet *r); -enum ndr_err_code ndr_pull_dgram_smb_packet(struct ndr_pull *ndr, int ndr_flags, struct dgram_smb_packet *r); -void ndr_print_dgram_smb_packet(struct ndr_print *ndr, const char *name, const struct dgram_smb_packet *r); -void ndr_print_dgram_message_body(struct ndr_print *ndr, const char *name, const union dgram_message_body *r); -void ndr_print_dgram_message(struct ndr_print *ndr, const char *name, const struct dgram_message *r); -void ndr_print_dgram_err_code(struct ndr_print *ndr, const char *name, enum dgram_err_code r); -void ndr_print_dgram_data(struct ndr_print *ndr, const char *name, const union dgram_data *r); -enum ndr_err_code ndr_push_nbt_dgram_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_dgram_packet *r); -enum ndr_err_code ndr_pull_nbt_dgram_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_dgram_packet *r); -void ndr_print_nbt_dgram_packet(struct ndr_print *ndr, const char *name, const struct nbt_dgram_packet *r); -enum ndr_err_code ndr_push_nbt_sockaddr(struct ndr_push *ndr, int ndr_flags, const struct nbt_sockaddr *r); -enum ndr_err_code ndr_pull_nbt_sockaddr(struct ndr_pull *ndr, int ndr_flags, struct nbt_sockaddr *r); -void ndr_print_nbt_sockaddr(struct ndr_print *ndr, const char *name, const struct nbt_sockaddr *r); -size_t ndr_size_nbt_sockaddr(const struct nbt_sockaddr *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_nbt_server_type(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_nbt_server_type(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_netlogon_nt_version_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_netlogon_nt_version_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_netlogon_nt_version_flags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_netlogon_command(struct ndr_push *ndr, int ndr_flags, enum netlogon_command r); -enum ndr_err_code ndr_pull_netlogon_command(struct ndr_pull *ndr, int ndr_flags, enum netlogon_command *r); -void ndr_print_netlogon_command(struct ndr_print *ndr, const char *name, enum netlogon_command r); -enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_REQUEST(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_REQUEST *r); -enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_REQUEST(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_REQUEST *r); -void ndr_print_NETLOGON_SAM_LOGON_REQUEST(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_REQUEST *r); -enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *r); -enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *r); -void ndr_print_NETLOGON_SAM_LOGON_RESPONSE_NT40(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_RESPONSE_NT40 *r); -enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE *r); -enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_RESPONSE *r); -void ndr_print_NETLOGON_SAM_LOGON_RESPONSE(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_RESPONSE *r); -enum ndr_err_code ndr_push_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_push *ndr, int ndr_flags, const struct NETLOGON_SAM_LOGON_RESPONSE_EX *r); -enum ndr_err_code ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_pull *ndr, int ndr_flags, struct NETLOGON_SAM_LOGON_RESPONSE_EX *r); -void ndr_print_NETLOGON_SAM_LOGON_RESPONSE_EX(struct ndr_print *ndr, const char *name, const struct NETLOGON_SAM_LOGON_RESPONSE_EX *r); -void ndr_print_nbt_netlogon_query_for_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc *r); -enum ndr_err_code ndr_push_nbt_netlogon_response_from_pdc(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_response_from_pdc *r); -enum ndr_err_code ndr_pull_nbt_netlogon_response_from_pdc(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_response_from_pdc *r); -void ndr_print_nbt_netlogon_response_from_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc *r); -void ndr_print_nbt_db_change_info(struct ndr_print *ndr, const char *name, const struct nbt_db_change_info *r); -void ndr_print_NETLOGON_DB_CHANGE(struct ndr_print *ndr, const char *name, const struct NETLOGON_DB_CHANGE *r); -void ndr_print_nbt_netlogon_request(struct ndr_print *ndr, const char *name, const union nbt_netlogon_request *r); -enum ndr_err_code ndr_push_nbt_netlogon_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_packet *r); -enum ndr_err_code ndr_pull_nbt_netlogon_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_packet *r); -void ndr_print_nbt_netlogon_packet(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_packet *r); -void ndr_print_nbt_browse_opcode(struct ndr_print *ndr, const char *name, enum nbt_browse_opcode r); -void ndr_print_nbt_browse_host_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_host_announcement *r); -void ndr_print_nbt_browse_announcement_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_announcement_request *r); -void ndr_print_nbt_browse_election_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_election_request *r); -void ndr_print_nbt_browse_backup_list_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_request *r); -void ndr_print_nbt_browse_backup_list_response(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_response *r); -void ndr_print_nbt_browse_become_backup(struct ndr_print *ndr, const char *name, const struct nbt_browse_become_backup *r); -void ndr_print_nbt_browse_domain_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_domain_announcement *r); -void ndr_print_nbt_browse_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_master_announcement *r); -void ndr_print_nbt_browse_reset_state(struct ndr_print *ndr, const char *name, const struct nbt_browse_reset_state *r); -void ndr_print_nbt_browse_local_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_local_master_announcement *r); -void ndr_print_nbt_browse_payload(struct ndr_print *ndr, const char *name, const union nbt_browse_payload *r); -enum ndr_err_code ndr_push_nbt_browse_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_packet *r); -enum ndr_err_code ndr_pull_nbt_browse_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_packet *r); -void ndr_print_nbt_browse_packet(struct ndr_print *ndr, const char *name, const struct nbt_browse_packet *r); -#endif /* _HEADER_NDR_nbt */ diff --git a/librpc/gen_ndr/ndr_netlogon.c b/librpc/gen_ndr/ndr_netlogon.c deleted file mode 100644 index 7b05155f422..00000000000 --- a/librpc/gen_ndr/ndr_netlogon.c +++ /dev/null @@ -1,17227 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_netlogon.h" - -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_samr.h" -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_nbt.h" -static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->account_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->computer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->script_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r) -{ - uint32_t _ptr_account_name; - TALLOC_CTX *_mem_save_account_name_0; - uint32_t _ptr_computer; - TALLOC_CTX *_mem_save_computer_0; - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - uint32_t _ptr_script_path; - TALLOC_CTX *_mem_save_script_path_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name)); - if (_ptr_account_name) { - NDR_PULL_ALLOC(ndr, r->account_name); - } else { - r->account_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer)); - if (_ptr_computer) { - NDR_PULL_ALLOC(ndr, r->computer); - } else { - r->computer = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path)); - if (_ptr_script_path) { - NDR_PULL_ALLOC(ndr, r->script_path); - } else { - r->script_path = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->account_name) { - _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name)); - if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0); - } - if (r->computer) { - _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->computer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->computer)); - if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer), ndr_get_array_length(ndr, &r->computer)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0); - } - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - if (r->script_path) { - _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path)); - if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->script_path), ndr_get_array_length(ndr, &r->script_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r) -{ - ndr_print_struct(ndr, name, "netr_UasInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "account_name", r->account_name); - ndr->depth++; - if (r->account_name) { - ndr_print_string(ndr, "account_name", r->account_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "priv", r->priv); - ndr_print_uint32(ndr, "auth_flags", r->auth_flags); - ndr_print_uint32(ndr, "logon_count", r->logon_count); - ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count); - ndr_print_time_t(ndr, "last_logon", r->last_logon); - ndr_print_time_t(ndr, "last_logoff", r->last_logoff); - ndr_print_time_t(ndr, "logoff_time", r->logoff_time); - ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time); - ndr_print_uint32(ndr, "password_age", r->password_age); - ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change); - ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change); - ndr_print_ptr(ndr, "computer", r->computer); - ndr->depth++; - if (r->computer) { - ndr_print_string(ndr, "computer", r->computer); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr_print_ptr(ndr, "script_path", r->script_path); - ndr->depth++; - if (r->script_path) { - ndr_print_string(ndr, "script_path", r->script_path); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r) -{ - ndr_print_struct(ndr, name, "netr_UasLogoffInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "duration", r->duration); - ndr_print_uint16(ndr, "logon_count", r->logon_count); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r) -{ - ndr_print_struct(ndr, name, "netr_AcctLockStr"); - ndr->depth++; - ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration); - ndr_print_udlong(ndr, "reset_count", r->reset_count); - ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout); - ndr_print_uint32(ndr, "dummy", r->dummy); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DONT_TRY_GUEST_ACCOUNT", MSV1_0_DONT_TRY_GUEST_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PASSWORD_EXPIRY", MSV1_0_RETURN_PASSWORD_EXPIRY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_CLIENT_CHALLENGE", MSV1_0_USE_CLIENT_CHALLENGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_GUEST_ACCOUNT_ONLY", MSV1_0_TRY_GUEST_ACCOUNT_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY", MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DISABLE_PERSONAL_FALLBACK", MSV1_0_DISABLE_PERSONAL_FALLBACK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_FORCE_GUEST", MSV1_0_ALLOW_FORCE_GUEST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED", MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY", MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_MSVCHAPV2", MSV1_0_ALLOW_MSVCHAPV2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_S4U2SELF", MSV1_0_S4U2SELF, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CHECK_LOGONHOURS_FOR_S4U", MSV1_0_CHECK_LOGONHOURS_FOR_S4U, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_SUBAUTHENTICATION_DLL_EX", MSV1_0_SUBAUTHENTICATION_DLL_EX, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r) -{ - ndr_print_struct(ndr, name, "netr_IdentityInfo"); - ndr->depth++; - ndr_print_lsa_String(ndr, "domain_name", &r->domain_name); - ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control); - ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low); - ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high); - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "workstation", &r->workstation); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r) -{ - ndr_print_struct(ndr, name, "netr_PasswordInfo"); - ndr->depth++; - ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info); - ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword); - ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data)); - if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data)); - } - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - if (r->data) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r) -{ - ndr_print_struct(ndr, name, "netr_ChallengeResponse"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8)); - NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt)); - NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); - NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt)); - NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8)); - NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt)); - NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); - NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt)); - NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r) -{ - ndr_print_struct(ndr, name, "netr_NetworkInfo"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info); - ndr_print_array_uint8(ndr, "challenge", r->challenge, 8); - ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt); - ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name)); - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name)); - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r) -{ - ndr_print_struct(ndr, name, "netr_GenericInfo"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info); - ndr_print_lsa_String(ndr, "package_name", &r->package_name); - ndr_print_uint32(ndr, "length", r->length); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r) -{ - const char *val = NULL; - - switch (r) { - case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break; - case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break; - case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break; - case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break; - case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break; - case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break; - case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case NetlogonInteractiveInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - break; } - - case NetlogonNetworkInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->network)); - break; } - - case NetlogonServiceInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - break; } - - case NetlogonGenericInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic)); - break; } - - case NetlogonInteractiveTransitiveInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - break; } - - case NetlogonNetworkTransitiveInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->network)); - break; } - - case NetlogonServiceTransitiveInformation: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NetlogonInteractiveInformation: - if (r->password) { - NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - } - break; - - case NetlogonNetworkInformation: - if (r->network) { - NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network)); - } - break; - - case NetlogonServiceInformation: - if (r->password) { - NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - } - break; - - case NetlogonGenericInformation: - if (r->generic) { - NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic)); - } - break; - - case NetlogonInteractiveTransitiveInformation: - if (r->password) { - NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - } - break; - - case NetlogonNetworkTransitiveInformation: - if (r->network) { - NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network)); - } - break; - - case NetlogonServiceTransitiveInformation: - if (r->password) { - NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r) -{ - int level; - uint16_t _level; - TALLOC_CTX *_mem_save_password_0; - TALLOC_CTX *_mem_save_network_0; - TALLOC_CTX *_mem_save_generic_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case NetlogonInteractiveInformation: { - uint32_t _ptr_password; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - break; } - - case NetlogonNetworkInformation: { - uint32_t _ptr_network; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network)); - if (_ptr_network) { - NDR_PULL_ALLOC(ndr, r->network); - } else { - r->network = NULL; - } - break; } - - case NetlogonServiceInformation: { - uint32_t _ptr_password; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - break; } - - case NetlogonGenericInformation: { - uint32_t _ptr_generic; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic)); - if (_ptr_generic) { - NDR_PULL_ALLOC(ndr, r->generic); - } else { - r->generic = NULL; - } - break; } - - case NetlogonInteractiveTransitiveInformation: { - uint32_t _ptr_password; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - break; } - - case NetlogonNetworkTransitiveInformation: { - uint32_t _ptr_network; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network)); - if (_ptr_network) { - NDR_PULL_ALLOC(ndr, r->network); - } else { - r->network = NULL; - } - break; } - - case NetlogonServiceTransitiveInformation: { - uint32_t _ptr_password; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NetlogonInteractiveInformation: - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - break; - - case NetlogonNetworkInformation: - if (r->network) { - _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->network, 0); - NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0); - } - break; - - case NetlogonServiceInformation: - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - break; - - case NetlogonGenericInformation: - if (r->generic) { - _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0); - NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0); - } - break; - - case NetlogonInteractiveTransitiveInformation: - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - break; - - case NetlogonNetworkTransitiveInformation: - if (r->network) { - _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->network, 0); - NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0); - } - break; - - case NetlogonServiceTransitiveInformation: - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_LogonLevel"); - switch (level) { - case NetlogonInteractiveInformation: - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_netr_PasswordInfo(ndr, "password", r->password); - } - ndr->depth--; - break; - - case NetlogonNetworkInformation: - ndr_print_ptr(ndr, "network", r->network); - ndr->depth++; - if (r->network) { - ndr_print_netr_NetworkInfo(ndr, "network", r->network); - } - ndr->depth--; - break; - - case NetlogonServiceInformation: - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_netr_PasswordInfo(ndr, "password", r->password); - } - ndr->depth--; - break; - - case NetlogonGenericInformation: - ndr_print_ptr(ndr, "generic", r->generic); - ndr->depth++; - if (r->generic) { - ndr_print_netr_GenericInfo(ndr, "generic", r->generic); - } - ndr->depth--; - break; - - case NetlogonInteractiveTransitiveInformation: - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_netr_PasswordInfo(ndr, "password", r->password); - } - ndr->depth--; - break; - - case NetlogonNetworkTransitiveInformation: - ndr_print_ptr(ndr, "network", r->network); - ndr->depth++; - if (r->network) { - ndr_print_netr_NetworkInfo(ndr, "network", r->network); - } - ndr->depth--; - break; - - case NetlogonServiceTransitiveInformation: - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_netr_PasswordInfo(ndr, "password", r->password); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r) -{ - ndr_print_struct(ndr, name, "netr_UserSessionKey"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "key", r->key, 16); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r) -{ - ndr_print_struct(ndr, name, "netr_LMSessionKey"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "key", r->key, 8); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r) -{ - uint32_t cntr_unknown_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups)); - NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags)); - NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid)); - NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain)); - if (r->domain_sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r) -{ - uint32_t _ptr_domain_sid; - TALLOC_CTX *_mem_save_domain_sid_0; - uint32_t cntr_unknown_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups)); - NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags)); - NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid)); - if (_ptr_domain_sid) { - NDR_PULL_ALLOC(ndr, r->domain_sid); - } else { - r->domain_sid = NULL; - } - NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0])); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain)); - if (r->domain_sid) { - _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r) -{ - uint32_t cntr_unknown_0; - ndr_print_struct(ndr, name, "netr_SamBaseInfo"); - ndr->depth++; - ndr_print_NTTIME(ndr, "last_logon", r->last_logon); - ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff); - ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry); - ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change); - ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change); - ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change); - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr_print_lsa_String(ndr, "logon_script", &r->logon_script); - ndr_print_lsa_String(ndr, "profile_path", &r->profile_path); - ndr_print_lsa_String(ndr, "home_directory", &r->home_directory); - ndr_print_lsa_String(ndr, "home_drive", &r->home_drive); - ndr_print_uint16(ndr, "logon_count", r->logon_count); - ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups); - ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags); - ndr_print_netr_UserSessionKey(ndr, "key", &r->key); - ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server); - ndr_print_lsa_StringLarge(ndr, "domain", &r->domain); - ndr_print_ptr(ndr, "domain_sid", r->domain_sid); - ndr->depth++; - if (r->domain_sid) { - ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid); - } - ndr->depth--; - ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7); - ndr->depth++; - for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) { - ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r) -{ - ndr_print_struct(ndr, name, "netr_SamInfo2"); - ndr->depth++; - ndr_print_netr_SamBaseInfo(ndr, "base", &r->base); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r) -{ - ndr_print_struct(ndr, name, "netr_SidAttr"); - ndr->depth++; - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r) -{ - uint32_t cntr_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base)); - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r) -{ - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base)); - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r) -{ - uint32_t cntr_sids_1; - ndr_print_struct(ndr, name, "netr_SamInfo3"); - ndr->depth++; - ndr_print_netr_SamBaseInfo(ndr, "base", &r->base); - ndr_print_uint32(ndr, "sidcount", r->sidcount); - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1sidcount;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r) -{ - uint32_t cntr_sids_1; - uint32_t cntr_unknown4_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle)); - for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base)); - if (r->sids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount)); - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r) -{ - uint32_t _ptr_sids; - uint32_t cntr_sids_1; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - uint32_t cntr_unknown4_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids); - } else { - r->sids = NULL; - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle)); - for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0])); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base)); - if (r->sids) { - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1])); - } - for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) { - NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle)); - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r) -{ - uint32_t cntr_sids_1; - uint32_t cntr_unknown4_0; - ndr_print_struct(ndr, name, "netr_SamInfo6"); - ndr->depth++; - ndr_print_netr_SamBaseInfo(ndr, "base", &r->base); - ndr_print_uint32(ndr, "sidcount", r->sidcount); - ndr_print_ptr(ndr, "sids", r->sids); - ndr->depth++; - if (r->sids) { - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount); - ndr->depth++; - for (cntr_sids_1=0;cntr_sids_1sidcount;cntr_sids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) { - ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname); - ndr_print_lsa_String(ndr, "principle", &r->principle); - ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20); - ndr->depth++; - for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) { - ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r) -{ - uint32_t cntr_expansionroom_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth)); - NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key)); - for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0])); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->pac) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pac_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size)); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name)); - if (r->auth) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->auth_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size)); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r) -{ - uint32_t _ptr_pac; - TALLOC_CTX *_mem_save_pac_0; - uint32_t _ptr_auth; - TALLOC_CTX *_mem_save_auth_0; - uint32_t cntr_expansionroom_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac)); - if (_ptr_pac) { - NDR_PULL_ALLOC(ndr, r->pac); - } else { - r->pac = NULL; - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth)); - if (_ptr_auth) { - NDR_PULL_ALLOC(ndr, r->auth); - } else { - r->auth = NULL; - } - NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key)); - for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0])); - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->pac) { - _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->pac)); - NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0); - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name)); - if (r->auth) { - _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->auth)); - NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0); - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - if (r->pac) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size)); - } - if (r->auth) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r) -{ - uint32_t cntr_expansionroom_0; - ndr_print_struct(ndr, name, "netr_PacInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "pac_size", r->pac_size); - ndr_print_ptr(ndr, "pac", r->pac); - ndr->depth++; - if (r->pac) { - ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size); - } - ndr->depth--; - ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain); - ndr_print_lsa_String(ndr, "logon_server", &r->logon_server); - ndr_print_lsa_String(ndr, "principal_name", &r->principal_name); - ndr_print_uint32(ndr, "auth_size", r->auth_size); - ndr_print_ptr(ndr, "auth", r->auth); - ndr->depth++; - if (r->auth) { - ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size); - } - ndr->depth--; - ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key); - ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10); - ndr->depth++; - for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) { - ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r) -{ - ndr_print_struct(ndr, name, "netr_GenericInfo2"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "length", r->length); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case NetlogonValidationSamInfo: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2)); - break; } - - case NetlogonValidationSamInfo2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac)); - break; } - - case NetlogonValidationGenericInfo2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic)); - break; } - - case NetlogonValidationSamInfo4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NetlogonValidationSamInfo: - if (r->sam2) { - NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2)); - } - break; - - case NetlogonValidationSamInfo2: - if (r->sam3) { - NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3)); - } - break; - - case 4: - if (r->pac) { - NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac)); - } - break; - - case NetlogonValidationGenericInfo2: - if (r->generic) { - NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic)); - } - break; - - case NetlogonValidationSamInfo4: - if (r->sam6) { - NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r) -{ - int level; - uint16_t _level; - TALLOC_CTX *_mem_save_sam2_0; - TALLOC_CTX *_mem_save_sam3_0; - TALLOC_CTX *_mem_save_pac_0; - TALLOC_CTX *_mem_save_generic_0; - TALLOC_CTX *_mem_save_sam6_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case NetlogonValidationSamInfo: { - uint32_t _ptr_sam2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2)); - if (_ptr_sam2) { - NDR_PULL_ALLOC(ndr, r->sam2); - } else { - r->sam2 = NULL; - } - break; } - - case NetlogonValidationSamInfo2: { - uint32_t _ptr_sam3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3)); - if (_ptr_sam3) { - NDR_PULL_ALLOC(ndr, r->sam3); - } else { - r->sam3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_pac; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac)); - if (_ptr_pac) { - NDR_PULL_ALLOC(ndr, r->pac); - } else { - r->pac = NULL; - } - break; } - - case NetlogonValidationGenericInfo2: { - uint32_t _ptr_generic; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic)); - if (_ptr_generic) { - NDR_PULL_ALLOC(ndr, r->generic); - } else { - r->generic = NULL; - } - break; } - - case NetlogonValidationSamInfo4: { - uint32_t _ptr_sam6; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6)); - if (_ptr_sam6) { - NDR_PULL_ALLOC(ndr, r->sam6); - } else { - r->sam6 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NetlogonValidationSamInfo: - if (r->sam2) { - _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0); - NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0); - } - break; - - case NetlogonValidationSamInfo2: - if (r->sam3) { - _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0); - NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0); - } - break; - - case 4: - if (r->pac) { - _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0); - NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0); - } - break; - - case NetlogonValidationGenericInfo2: - if (r->generic) { - _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0); - NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0); - } - break; - - case NetlogonValidationSamInfo4: - if (r->sam6) { - _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0); - NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_Validation"); - switch (level) { - case NetlogonValidationSamInfo: - ndr_print_ptr(ndr, "sam2", r->sam2); - ndr->depth++; - if (r->sam2) { - ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2); - } - ndr->depth--; - break; - - case NetlogonValidationSamInfo2: - ndr_print_ptr(ndr, "sam3", r->sam3); - ndr->depth++; - if (r->sam3) { - ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "pac", r->pac); - ndr->depth++; - if (r->pac) { - ndr_print_netr_PacInfo(ndr, "pac", r->pac); - } - ndr->depth--; - break; - - case NetlogonValidationGenericInfo2: - ndr_print_ptr(ndr, "generic", r->generic); - ndr->depth++; - if (r->generic) { - ndr_print_netr_GenericInfo2(ndr, "generic", r->generic); - } - ndr->depth--; - break; - - case NetlogonValidationSamInfo4: - ndr_print_ptr(ndr, "sam6", r->sam6); - ndr->depth++; - if (r->sam6) { - ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r) -{ - ndr_print_struct(ndr, name, "netr_Credential"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->data, 8); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r) -{ - ndr_print_struct(ndr, name, "netr_Authenticator"); - ndr->depth++; - ndr_print_netr_Credential(ndr, "cred", &r->cred); - ndr_print_time_t(ndr, "timestamp", r->timestamp); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_USER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->account_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r) -{ - uint32_t _ptr_account_name; - TALLOC_CTX *_mem_save_account_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name)); - if (_ptr_account_name) { - NDR_PULL_ALLOC(ndr, r->account_name); - } else { - r->account_name = NULL; - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->account_name) { - _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name)); - if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0); - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER"); - ndr->depth++; - ndr_print_ptr(ndr, "account_name", r->account_name); - ndr->depth++; - if (r->account_name) { - ndr_print_string(ndr, "account_name", r->account_name); - } - ndr->depth--; - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r) -{ - ndr_print_struct(ndr, name, "netr_USER_KEY16"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size); - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_samr_Password(ndr, "pwd", &r->pwd); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags)); - NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length)); - NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r) -{ - ndr_print_struct(ndr, name, "netr_PasswordHistory"); - ndr->depth++; - ndr_print_uint16(ndr, "nt_length", r->nt_length); - ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size); - ndr_print_uint32(ndr, "nt_flags", r->nt_flags); - ndr_print_uint16(ndr, "lm_length", r->lm_length); - ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size); - ndr_print_uint32(ndr, "lm_flags", r->lm_flags); - ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length); - ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword)); - NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword)); - NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword)); - NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword)); - NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r) -{ - ndr_print_struct(ndr, name, "netr_USER_KEYS2"); - ndr->depth++; - ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword); - ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword); - ndr_print_netr_PasswordHistory(ndr, "history", &r->history); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_USER_KEY_UNION(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY_UNION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r) -{ - ndr_print_struct(ndr, name, "netr_USER_KEY_UNION"); - ndr->depth++; - ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r) -{ - ndr_print_struct(ndr, name, "netr_USER_KEYS"); - ndr->depth++; - ndr_print_uint32(ndr, "version", r->version); - ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_USER_PRIVATE_INFO(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_PRIVATE_INFO *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength)); - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData)); - ndr->flags = _flags_save_uint8; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (r->SensitiveData) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->DataLength)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength)); - } - ndr->flags = _flags_save_uint8; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r) -{ - uint32_t _ptr_SensitiveData; - TALLOC_CTX *_mem_save_SensitiveData_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength)); - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData)); - if (_ptr_SensitiveData) { - NDR_PULL_ALLOC(ndr, r->SensitiveData); - } else { - r->SensitiveData = NULL; - } - ndr->flags = _flags_save_uint8; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (r->SensitiveData) { - _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData)); - NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0); - } - ndr->flags = _flags_save_uint8; - } - if (r->SensitiveData) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r) -{ - ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO"); - ndr->depth++; - ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag); - ndr_print_uint32(ndr, "DataLength", r->DataLength); - ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData); - ndr->depth++; - if (r->SensitiveData) { - ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page)); - NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters)); - NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page)); - NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters)); - NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_USER"); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr_print_lsa_String(ndr, "home_directory", &r->home_directory); - ndr_print_lsa_String(ndr, "home_drive", &r->home_drive); - ndr_print_lsa_String(ndr, "logon_script", &r->logon_script); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_lsa_String(ndr, "workstations", &r->workstations); - ndr_print_NTTIME(ndr, "last_logon", r->last_logon); - ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff); - ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours); - ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count); - ndr_print_uint16(ndr, "logon_count", r->logon_count); - ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change); - ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword); - ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword); - ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present); - ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present); - ndr_print_uint8(ndr, "password_expired", r->password_expired); - ndr_print_lsa_String(ndr, "comment", &r->comment); - ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters); - ndr_print_uint16(ndr, "country_code", r->country_code); - ndr_print_uint16(ndr, "code_page", r->code_page); - ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "profile_path", &r->profile_path); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information)); - NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length)); - NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age)); - NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information)); - NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length)); - NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age)); - NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN"); - ndr->depth++; - ndr_print_lsa_String(ndr, "domain_name", &r->domain_name); - ndr_print_lsa_String(ndr, "oem_information", &r->oem_information); - ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time); - ndr_print_uint16(ndr, "min_password_length", r->min_password_length); - ndr_print_uint16(ndr, "password_history_length", r->password_history_length); - ndr_print_dlong(ndr, "max_password_age", r->max_password_age); - ndr_print_dlong(ndr, "min_password_age", r->min_password_age); - ndr_print_udlong(ndr, "sequence_num", r->sequence_num); - ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_GROUP"); - ndr->depth++; - ndr_print_lsa_String(ndr, "group_name", &r->group_name); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "attributes", r->attributes); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_RENAME"); - ndr->depth++; - ndr_print_lsa_String(ndr, "OldName", &r->OldName); - ndr_print_lsa_String(ndr, "NewName", &r->NewName); - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_GROUP_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP_MEMBER *r) -{ - uint32_t cntr_rids_1; - uint32_t cntr_attribs_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->rids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids)); - for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1])); - } - } - if (r->attribs) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids)); - for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r) -{ - uint32_t _ptr_rids; - uint32_t cntr_rids_1; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_rids_1; - uint32_t _ptr_attribs; - uint32_t cntr_attribs_1; - TALLOC_CTX *_mem_save_attribs_0; - TALLOC_CTX *_mem_save_attribs_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids)); - if (_ptr_rids) { - NDR_PULL_ALLOC(ndr, r->rids); - } else { - r->rids = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs)); - if (_ptr_attribs) { - NDR_PULL_ALLOC(ndr, r->attribs); - } else { - r->attribs = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->rids) { - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->rids)); - NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids)); - _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); - for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0); - } - if (r->attribs) { - _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs)); - NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs)); - _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0); - for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0); - } - if (r->rids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids)); - } - if (r->attribs) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r) -{ - uint32_t cntr_rids_1; - uint32_t cntr_attribs_1; - ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER"); - ndr->depth++; - ndr_print_ptr(ndr, "rids", r->rids); - ndr->depth++; - if (r->rids) { - ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids); - ndr->depth++; - for (cntr_rids_1=0;cntr_rids_1num_rids;cntr_rids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) { - ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "attribs", r->attribs); - ndr->depth++; - if (r->attribs) { - ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids); - ndr->depth++; - for (cntr_attribs_1=0;cntr_attribs_1num_rids;cntr_attribs_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) { - ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "num_rids", r->num_rids); - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr_print_uint32(ndr, "unknown3", r->unknown3); - ndr_print_uint32(ndr, "unknown4", r->unknown4); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_ALIAS"); - ndr->depth++; - ndr_print_lsa_String(ndr, "alias_name", &r->alias_name); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_ALIAS_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS_MEMBER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER"); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", &r->sids); - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr_print_uint32(ndr, "unknown3", r->unknown3); - ndr_print_uint32(ndr, "unknown4", r->unknown4); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r) -{ - ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS"); - ndr->depth++; - ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit); - ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit); - ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize); - ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize); - ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit); - ndr_print_NTTIME(ndr, "timelimit", r->timelimit); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r) -{ - uint32_t cntr_eventauditoptions_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->eventauditoptions) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxauditeventcount + 1)); - for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1])); - } - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name)); - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r) -{ - uint32_t _ptr_eventauditoptions; - uint32_t cntr_eventauditoptions_1; - TALLOC_CTX *_mem_save_eventauditoptions_0; - TALLOC_CTX *_mem_save_eventauditoptions_1; - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions)); - if (_ptr_eventauditoptions) { - NDR_PULL_ALLOC(ndr, r->eventauditoptions); - } else { - r->eventauditoptions = NULL; - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->eventauditoptions) { - _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions)); - NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions)); - _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0); - for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0); - } - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name)); - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - if (r->eventauditoptions) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r) -{ - uint32_t cntr_eventauditoptions_1; - ndr_print_struct(ndr, name, "netr_DELTA_POLICY"); - ndr->depth++; - ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize); - ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod); - ndr_print_uint8(ndr, "auditingmode", r->auditingmode); - ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount); - ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions); - ndr->depth++; - if (r->eventauditoptions) { - ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1); - ndr->depth++; - for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1maxauditeventcount + 1;cntr_eventauditoptions_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) { - ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits); - ndr_print_udlong(ndr, "sequence_num", r->sequence_num); - ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_TRUSTED_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_TRUSTED_DOMAIN *r) -{ - uint32_t cntr_controller_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - if (r->controller_names) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_controllers)); - for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1])); - } - for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1])); - } - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r) -{ - uint32_t _ptr_controller_names; - uint32_t cntr_controller_names_1; - TALLOC_CTX *_mem_save_controller_names_0; - TALLOC_CTX *_mem_save_controller_names_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names)); - if (_ptr_controller_names) { - NDR_PULL_ALLOC(ndr, r->controller_names); - } else { - r->controller_names = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - if (r->controller_names) { - _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names)); - NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names)); - _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0); - for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1])); - } - for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0); - } - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - if (r->controller_names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r) -{ - uint32_t cntr_controller_names_1; - ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN"); - ndr->depth++; - ndr_print_lsa_String(ndr, "domain_name", &r->domain_name); - ndr_print_uint32(ndr, "num_controllers", r->num_controllers); - ndr_print_ptr(ndr, "controller_names", r->controller_names); - ndr->depth++; - if (r->controller_names) { - ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers); - ndr->depth++; - for (cntr_controller_names_1=0;cntr_controller_names_1num_controllers;cntr_controller_names_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) { - ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "posix_offset", r->posix_offset); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_DELETE_TRUST(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_TRUST *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST"); - ndr->depth++; - ndr_print_uint16(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r) -{ - uint32_t cntr_privilege_attrib_1; - uint32_t cntr_privilege_name_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name)); - NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->privilege_attrib) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries)); - for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1])); - } - } - if (r->privilege_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries)); - for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1])); - } - for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1])); - } - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r) -{ - uint32_t _ptr_privilege_attrib; - uint32_t cntr_privilege_attrib_1; - TALLOC_CTX *_mem_save_privilege_attrib_0; - TALLOC_CTX *_mem_save_privilege_attrib_1; - uint32_t _ptr_privilege_name; - uint32_t cntr_privilege_name_1; - TALLOC_CTX *_mem_save_privilege_name_0; - TALLOC_CTX *_mem_save_privilege_name_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib)); - if (_ptr_privilege_attrib) { - NDR_PULL_ALLOC(ndr, r->privilege_attrib); - } else { - r->privilege_attrib = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name)); - if (_ptr_privilege_name) { - NDR_PULL_ALLOC(ndr, r->privilege_name); - } else { - r->privilege_name = NULL; - } - NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->privilege_attrib) { - _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib)); - NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib)); - _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0); - for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0); - } - if (r->privilege_name) { - _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name)); - NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name)); - _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0); - for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1])); - } - for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0); - } - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - if (r->privilege_attrib) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries)); - } - if (r->privilege_name) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r) -{ - uint32_t cntr_privilege_attrib_1; - uint32_t cntr_privilege_name_1; - ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT"); - ndr->depth++; - ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries); - ndr_print_uint32(ndr, "privilege_control", r->privilege_control); - ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib); - ndr->depth++; - if (r->privilege_attrib) { - ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries); - ndr->depth++; - for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1privilege_entries;cntr_privilege_attrib_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) { - ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "privilege_name", r->privilege_name); - ndr->depth++; - if (r->privilege_name) { - ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries); - ndr->depth++; - for (cntr_privilege_name_1=0;cntr_privilege_name_1privilege_entries;cntr_privilege_name_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) { - ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits); - ndr_print_uint32(ndr, "system_flags", r->system_flags); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_DELETE_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_ACCOUNT *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT"); - ndr->depth++; - ndr_print_uint16(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_DELETE_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_SECRET *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET"); - ndr->depth++; - ndr_print_uint16(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->cipher_data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxlen)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r) -{ - uint32_t _ptr_cipher_data; - TALLOC_CTX *_mem_save_cipher_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data)); - if (_ptr_cipher_data) { - NDR_PULL_ALLOC(ndr, r->cipher_data); - } else { - r->cipher_data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->cipher_data) { - _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data)); - if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->cipher_data), ndr_get_array_length(ndr, &r->cipher_data)); - } - NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0); - } - if (r->cipher_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen)); - } - if (r->cipher_data) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r) -{ - ndr_print_struct(ndr, name, "netr_CIPHER_VALUE"); - ndr->depth++; - ndr_print_uint32(ndr, "len", r->len); - ndr_print_uint32(ndr, "maxlen", r->maxlen); - ndr_print_ptr(ndr, "cipher_data", r->cipher_data); - ndr->depth++; - if (r->cipher_data) { - ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time)); - NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher)); - NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time)); - NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher)); - NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher)); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_SECRET"); - ndr->depth++; - ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher); - ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time); - ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher); - ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time); - ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation); - ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf); - ndr_print_lsa_String(ndr, "unknown1", &r->unknown1); - ndr_print_lsa_String(ndr, "unknown2", &r->unknown2); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_lsa_String(ndr, "unknown4", &r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr_print_uint32(ndr, "unknown6", r->unknown6); - ndr_print_uint32(ndr, "unknown7", r->unknown7); - ndr_print_uint32(ndr, "unknown8", r->unknown8); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r) -{ - const char *val = NULL; - - switch (r) { - case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break; - case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break; - case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break; - case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break; - case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break; - case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break; - case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break; - case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break; - case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break; - case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break; - case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break; - case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break; - case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break; - case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break; - case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break; - case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break; - case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break; - case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break; - case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break; - case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break; - case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break; - case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case NETR_DELTA_DOMAIN: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - break; } - - case NETR_DELTA_GROUP: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->group)); - break; } - - case NETR_DELTA_DELETE_GROUP: { - break; } - - case NETR_DELTA_RENAME_GROUP: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group)); - break; } - - case NETR_DELTA_USER: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - break; } - - case NETR_DELTA_DELETE_USER: { - break; } - - case NETR_DELTA_RENAME_USER: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user)); - break; } - - case NETR_DELTA_GROUP_MEMBER: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member)); - break; } - - case NETR_DELTA_ALIAS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias)); - break; } - - case NETR_DELTA_DELETE_ALIAS: { - break; } - - case NETR_DELTA_RENAME_ALIAS: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias)); - break; } - - case NETR_DELTA_ALIAS_MEMBER: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member)); - break; } - - case NETR_DELTA_POLICY: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy)); - break; } - - case NETR_DELTA_TRUSTED_DOMAIN: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain)); - break; } - - case NETR_DELTA_DELETE_TRUST: { - NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust)); - break; } - - case NETR_DELTA_ACCOUNT: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->account)); - break; } - - case NETR_DELTA_DELETE_ACCOUNT: { - NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account)); - break; } - - case NETR_DELTA_SECRET: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret)); - break; } - - case NETR_DELTA_DELETE_SECRET: { - NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret)); - break; } - - case NETR_DELTA_DELETE_GROUP2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group)); - break; } - - case NETR_DELTA_DELETE_USER2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user)); - break; } - - case NETR_DELTA_MODIFY_COUNT: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NETR_DELTA_DOMAIN: - if (r->domain) { - NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain)); - } - break; - - case NETR_DELTA_GROUP: - if (r->group) { - NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group)); - } - break; - - case NETR_DELTA_DELETE_GROUP: - break; - - case NETR_DELTA_RENAME_GROUP: - if (r->rename_group) { - NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group)); - } - break; - - case NETR_DELTA_USER: - if (r->user) { - NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user)); - } - break; - - case NETR_DELTA_DELETE_USER: - break; - - case NETR_DELTA_RENAME_USER: - if (r->rename_user) { - NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user)); - } - break; - - case NETR_DELTA_GROUP_MEMBER: - if (r->group_member) { - NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member)); - } - break; - - case NETR_DELTA_ALIAS: - if (r->alias) { - NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias)); - } - break; - - case NETR_DELTA_DELETE_ALIAS: - break; - - case NETR_DELTA_RENAME_ALIAS: - if (r->rename_alias) { - NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias)); - } - break; - - case NETR_DELTA_ALIAS_MEMBER: - if (r->alias_member) { - NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member)); - } - break; - - case NETR_DELTA_POLICY: - if (r->policy) { - NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy)); - } - break; - - case NETR_DELTA_TRUSTED_DOMAIN: - if (r->trusted_domain) { - NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain)); - } - break; - - case NETR_DELTA_DELETE_TRUST: - break; - - case NETR_DELTA_ACCOUNT: - if (r->account) { - NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account)); - } - break; - - case NETR_DELTA_DELETE_ACCOUNT: - break; - - case NETR_DELTA_SECRET: - if (r->secret) { - NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret)); - } - break; - - case NETR_DELTA_DELETE_SECRET: - break; - - case NETR_DELTA_DELETE_GROUP2: - if (r->delete_group) { - NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group)); - } - break; - - case NETR_DELTA_DELETE_USER2: - if (r->delete_user) { - NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user)); - } - break; - - case NETR_DELTA_MODIFY_COUNT: - if (r->modified_count) { - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r) -{ - int level; - uint16_t _level; - TALLOC_CTX *_mem_save_domain_0; - TALLOC_CTX *_mem_save_group_0; - TALLOC_CTX *_mem_save_rename_group_0; - TALLOC_CTX *_mem_save_user_0; - TALLOC_CTX *_mem_save_rename_user_0; - TALLOC_CTX *_mem_save_group_member_0; - TALLOC_CTX *_mem_save_alias_0; - TALLOC_CTX *_mem_save_rename_alias_0; - TALLOC_CTX *_mem_save_alias_member_0; - TALLOC_CTX *_mem_save_policy_0; - TALLOC_CTX *_mem_save_trusted_domain_0; - TALLOC_CTX *_mem_save_account_0; - TALLOC_CTX *_mem_save_secret_0; - TALLOC_CTX *_mem_save_delete_group_0; - TALLOC_CTX *_mem_save_delete_user_0; - TALLOC_CTX *_mem_save_modified_count_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case NETR_DELTA_DOMAIN: { - uint32_t _ptr_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - break; } - - case NETR_DELTA_GROUP: { - uint32_t _ptr_group; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group)); - if (_ptr_group) { - NDR_PULL_ALLOC(ndr, r->group); - } else { - r->group = NULL; - } - break; } - - case NETR_DELTA_DELETE_GROUP: { - break; } - - case NETR_DELTA_RENAME_GROUP: { - uint32_t _ptr_rename_group; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group)); - if (_ptr_rename_group) { - NDR_PULL_ALLOC(ndr, r->rename_group); - } else { - r->rename_group = NULL; - } - break; } - - case NETR_DELTA_USER: { - uint32_t _ptr_user; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - break; } - - case NETR_DELTA_DELETE_USER: { - break; } - - case NETR_DELTA_RENAME_USER: { - uint32_t _ptr_rename_user; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user)); - if (_ptr_rename_user) { - NDR_PULL_ALLOC(ndr, r->rename_user); - } else { - r->rename_user = NULL; - } - break; } - - case NETR_DELTA_GROUP_MEMBER: { - uint32_t _ptr_group_member; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member)); - if (_ptr_group_member) { - NDR_PULL_ALLOC(ndr, r->group_member); - } else { - r->group_member = NULL; - } - break; } - - case NETR_DELTA_ALIAS: { - uint32_t _ptr_alias; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias)); - if (_ptr_alias) { - NDR_PULL_ALLOC(ndr, r->alias); - } else { - r->alias = NULL; - } - break; } - - case NETR_DELTA_DELETE_ALIAS: { - break; } - - case NETR_DELTA_RENAME_ALIAS: { - uint32_t _ptr_rename_alias; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias)); - if (_ptr_rename_alias) { - NDR_PULL_ALLOC(ndr, r->rename_alias); - } else { - r->rename_alias = NULL; - } - break; } - - case NETR_DELTA_ALIAS_MEMBER: { - uint32_t _ptr_alias_member; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member)); - if (_ptr_alias_member) { - NDR_PULL_ALLOC(ndr, r->alias_member); - } else { - r->alias_member = NULL; - } - break; } - - case NETR_DELTA_POLICY: { - uint32_t _ptr_policy; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy)); - if (_ptr_policy) { - NDR_PULL_ALLOC(ndr, r->policy); - } else { - r->policy = NULL; - } - break; } - - case NETR_DELTA_TRUSTED_DOMAIN: { - uint32_t _ptr_trusted_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain)); - if (_ptr_trusted_domain) { - NDR_PULL_ALLOC(ndr, r->trusted_domain); - } else { - r->trusted_domain = NULL; - } - break; } - - case NETR_DELTA_DELETE_TRUST: { - NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust)); - break; } - - case NETR_DELTA_ACCOUNT: { - uint32_t _ptr_account; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account)); - if (_ptr_account) { - NDR_PULL_ALLOC(ndr, r->account); - } else { - r->account = NULL; - } - break; } - - case NETR_DELTA_DELETE_ACCOUNT: { - NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account)); - break; } - - case NETR_DELTA_SECRET: { - uint32_t _ptr_secret; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret)); - if (_ptr_secret) { - NDR_PULL_ALLOC(ndr, r->secret); - } else { - r->secret = NULL; - } - break; } - - case NETR_DELTA_DELETE_SECRET: { - NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret)); - break; } - - case NETR_DELTA_DELETE_GROUP2: { - uint32_t _ptr_delete_group; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group)); - if (_ptr_delete_group) { - NDR_PULL_ALLOC(ndr, r->delete_group); - } else { - r->delete_group = NULL; - } - break; } - - case NETR_DELTA_DELETE_USER2: { - uint32_t _ptr_delete_user; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user)); - if (_ptr_delete_user) { - NDR_PULL_ALLOC(ndr, r->delete_user); - } else { - r->delete_user = NULL; - } - break; } - - case NETR_DELTA_MODIFY_COUNT: { - uint32_t _ptr_modified_count; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count)); - if (_ptr_modified_count) { - NDR_PULL_ALLOC(ndr, r->modified_count); - } else { - r->modified_count = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NETR_DELTA_DOMAIN: - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - break; - - case NETR_DELTA_GROUP: - if (r->group) { - _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->group, 0); - NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0); - } - break; - - case NETR_DELTA_DELETE_GROUP: - break; - - case NETR_DELTA_RENAME_GROUP: - if (r->rename_group) { - _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0); - NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0); - } - break; - - case NETR_DELTA_USER: - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - break; - - case NETR_DELTA_DELETE_USER: - break; - - case NETR_DELTA_RENAME_USER: - if (r->rename_user) { - _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0); - NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0); - } - break; - - case NETR_DELTA_GROUP_MEMBER: - if (r->group_member) { - _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0); - NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0); - } - break; - - case NETR_DELTA_ALIAS: - if (r->alias) { - _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0); - } - break; - - case NETR_DELTA_DELETE_ALIAS: - break; - - case NETR_DELTA_RENAME_ALIAS: - if (r->rename_alias) { - _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0); - NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0); - } - break; - - case NETR_DELTA_ALIAS_MEMBER: - if (r->alias_member) { - _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0); - } - break; - - case NETR_DELTA_POLICY: - if (r->policy) { - _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0); - NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0); - } - break; - - case NETR_DELTA_TRUSTED_DOMAIN: - if (r->trusted_domain) { - _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0); - NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0); - } - break; - - case NETR_DELTA_DELETE_TRUST: - break; - - case NETR_DELTA_ACCOUNT: - if (r->account) { - _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->account, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0); - } - break; - - case NETR_DELTA_DELETE_ACCOUNT: - break; - - case NETR_DELTA_SECRET: - if (r->secret) { - _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0); - NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0); - } - break; - - case NETR_DELTA_DELETE_SECRET: - break; - - case NETR_DELTA_DELETE_GROUP2: - if (r->delete_group) { - _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0); - NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0); - } - break; - - case NETR_DELTA_DELETE_USER2: - if (r->delete_user) { - _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0); - NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0); - } - break; - - case NETR_DELTA_MODIFY_COUNT: - if (r->modified_count) { - _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_DELTA_UNION"); - switch (level) { - case NETR_DELTA_DOMAIN: - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain); - } - ndr->depth--; - break; - - case NETR_DELTA_GROUP: - ndr_print_ptr(ndr, "group", r->group); - ndr->depth++; - if (r->group) { - ndr_print_netr_DELTA_GROUP(ndr, "group", r->group); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_GROUP: - break; - - case NETR_DELTA_RENAME_GROUP: - ndr_print_ptr(ndr, "rename_group", r->rename_group); - ndr->depth++; - if (r->rename_group) { - ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group); - } - ndr->depth--; - break; - - case NETR_DELTA_USER: - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_netr_DELTA_USER(ndr, "user", r->user); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_USER: - break; - - case NETR_DELTA_RENAME_USER: - ndr_print_ptr(ndr, "rename_user", r->rename_user); - ndr->depth++; - if (r->rename_user) { - ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user); - } - ndr->depth--; - break; - - case NETR_DELTA_GROUP_MEMBER: - ndr_print_ptr(ndr, "group_member", r->group_member); - ndr->depth++; - if (r->group_member) { - ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member); - } - ndr->depth--; - break; - - case NETR_DELTA_ALIAS: - ndr_print_ptr(ndr, "alias", r->alias); - ndr->depth++; - if (r->alias) { - ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_ALIAS: - break; - - case NETR_DELTA_RENAME_ALIAS: - ndr_print_ptr(ndr, "rename_alias", r->rename_alias); - ndr->depth++; - if (r->rename_alias) { - ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias); - } - ndr->depth--; - break; - - case NETR_DELTA_ALIAS_MEMBER: - ndr_print_ptr(ndr, "alias_member", r->alias_member); - ndr->depth++; - if (r->alias_member) { - ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member); - } - ndr->depth--; - break; - - case NETR_DELTA_POLICY: - ndr_print_ptr(ndr, "policy", r->policy); - ndr->depth++; - if (r->policy) { - ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy); - } - ndr->depth--; - break; - - case NETR_DELTA_TRUSTED_DOMAIN: - ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain); - ndr->depth++; - if (r->trusted_domain) { - ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_TRUST: - ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust); - break; - - case NETR_DELTA_ACCOUNT: - ndr_print_ptr(ndr, "account", r->account); - ndr->depth++; - if (r->account) { - ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_ACCOUNT: - ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account); - break; - - case NETR_DELTA_SECRET: - ndr_print_ptr(ndr, "secret", r->secret); - ndr->depth++; - if (r->secret) { - ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_SECRET: - ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret); - break; - - case NETR_DELTA_DELETE_GROUP2: - ndr_print_ptr(ndr, "delete_group", r->delete_group); - ndr->depth++; - if (r->delete_group) { - ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_USER2: - ndr_print_ptr(ndr, "delete_user", r->delete_user); - ndr->depth++; - if (r->delete_user) { - ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user); - } - ndr->depth--; - break; - - case NETR_DELTA_MODIFY_COUNT: - ndr_print_ptr(ndr, "modified_count", r->modified_count); - ndr->depth++; - if (r->modified_count) { - ndr_print_udlong(ndr, "modified_count", *r->modified_count); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_netr_DELTA_ID_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_ID_UNION *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case NETR_DELTA_DOMAIN: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_GROUP: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_DELETE_GROUP: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_RENAME_GROUP: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_USER: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_DELETE_USER: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_RENAME_USER: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_GROUP_MEMBER: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_ALIAS: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_DELETE_ALIAS: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_RENAME_ALIAS: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_ALIAS_MEMBER: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_POLICY: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - break; } - - case NETR_DELTA_TRUSTED_DOMAIN: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - break; } - - case NETR_DELTA_DELETE_TRUST: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - break; } - - case NETR_DELTA_ACCOUNT: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - break; } - - case NETR_DELTA_DELETE_ACCOUNT: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - break; } - - case NETR_DELTA_SECRET: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - break; } - - case NETR_DELTA_DELETE_SECRET: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - break; } - - case NETR_DELTA_DELETE_GROUP2: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_DELETE_USER2: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - break; } - - case NETR_DELTA_MODIFY_COUNT: { - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NETR_DELTA_DOMAIN: - break; - - case NETR_DELTA_GROUP: - break; - - case NETR_DELTA_DELETE_GROUP: - break; - - case NETR_DELTA_RENAME_GROUP: - break; - - case NETR_DELTA_USER: - break; - - case NETR_DELTA_DELETE_USER: - break; - - case NETR_DELTA_RENAME_USER: - break; - - case NETR_DELTA_GROUP_MEMBER: - break; - - case NETR_DELTA_ALIAS: - break; - - case NETR_DELTA_DELETE_ALIAS: - break; - - case NETR_DELTA_RENAME_ALIAS: - break; - - case NETR_DELTA_ALIAS_MEMBER: - break; - - case NETR_DELTA_POLICY: - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - break; - - case NETR_DELTA_TRUSTED_DOMAIN: - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - break; - - case NETR_DELTA_DELETE_TRUST: - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - break; - - case NETR_DELTA_ACCOUNT: - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - break; - - case NETR_DELTA_DELETE_ACCOUNT: - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - break; - - case NETR_DELTA_SECRET: - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETR_DELTA_DELETE_SECRET: - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETR_DELTA_DELETE_GROUP2: - break; - - case NETR_DELTA_DELETE_USER2: - break; - - case NETR_DELTA_MODIFY_COUNT: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r) -{ - int level; - uint16_t _level; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_name_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case NETR_DELTA_DOMAIN: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_GROUP: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_DELETE_GROUP: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_RENAME_GROUP: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_USER: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_DELETE_USER: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_RENAME_USER: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_GROUP_MEMBER: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_ALIAS: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_DELETE_ALIAS: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_RENAME_ALIAS: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_ALIAS_MEMBER: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_POLICY: { - uint32_t _ptr_sid; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - break; } - - case NETR_DELTA_TRUSTED_DOMAIN: { - uint32_t _ptr_sid; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - break; } - - case NETR_DELTA_DELETE_TRUST: { - uint32_t _ptr_sid; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - break; } - - case NETR_DELTA_ACCOUNT: { - uint32_t _ptr_sid; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - break; } - - case NETR_DELTA_DELETE_ACCOUNT: { - uint32_t _ptr_sid; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - break; } - - case NETR_DELTA_SECRET: { - uint32_t _ptr_name; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - break; } - - case NETR_DELTA_DELETE_SECRET: { - uint32_t _ptr_name; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - break; } - - case NETR_DELTA_DELETE_GROUP2: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_DELETE_USER2: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - break; } - - case NETR_DELTA_MODIFY_COUNT: { - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NETR_DELTA_DOMAIN: - break; - - case NETR_DELTA_GROUP: - break; - - case NETR_DELTA_DELETE_GROUP: - break; - - case NETR_DELTA_RENAME_GROUP: - break; - - case NETR_DELTA_USER: - break; - - case NETR_DELTA_DELETE_USER: - break; - - case NETR_DELTA_RENAME_USER: - break; - - case NETR_DELTA_GROUP_MEMBER: - break; - - case NETR_DELTA_ALIAS: - break; - - case NETR_DELTA_DELETE_ALIAS: - break; - - case NETR_DELTA_RENAME_ALIAS: - break; - - case NETR_DELTA_ALIAS_MEMBER: - break; - - case NETR_DELTA_POLICY: - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - break; - - case NETR_DELTA_TRUSTED_DOMAIN: - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - break; - - case NETR_DELTA_DELETE_TRUST: - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - break; - - case NETR_DELTA_ACCOUNT: - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - break; - - case NETR_DELTA_DELETE_ACCOUNT: - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - break; - - case NETR_DELTA_SECRET: - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - break; - - case NETR_DELTA_DELETE_SECRET: - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - break; - - case NETR_DELTA_DELETE_GROUP2: - break; - - case NETR_DELTA_DELETE_USER2: - break; - - case NETR_DELTA_MODIFY_COUNT: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION"); - switch (level) { - case NETR_DELTA_DOMAIN: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_GROUP: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_DELETE_GROUP: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_RENAME_GROUP: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_USER: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_DELETE_USER: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_RENAME_USER: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_GROUP_MEMBER: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_ALIAS: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_DELETE_ALIAS: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_RENAME_ALIAS: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_ALIAS_MEMBER: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_POLICY: - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - break; - - case NETR_DELTA_TRUSTED_DOMAIN: - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_TRUST: - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - break; - - case NETR_DELTA_ACCOUNT: - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_ACCOUNT: - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - break; - - case NETR_DELTA_SECRET: - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_SECRET: - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - break; - - case NETR_DELTA_DELETE_GROUP2: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_DELETE_USER2: - ndr_print_uint32(ndr, "rid", r->rid); - break; - - case NETR_DELTA_MODIFY_COUNT: - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type)); - NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type)); - NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union)); - NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type)); - NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type)); - NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union)); - NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r) -{ - ndr_print_struct(ndr, name, "netr_DELTA_ENUM"); - ndr->depth++; - ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type); - ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type); - ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union); - ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type); - ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DELTA_ENUM_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM_ARRAY *r) -{ - uint32_t cntr_delta_enum_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->delta_enum) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_deltas)); - for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) { - NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1])); - } - for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) { - NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r) -{ - uint32_t _ptr_delta_enum; - uint32_t cntr_delta_enum_1; - TALLOC_CTX *_mem_save_delta_enum_0; - TALLOC_CTX *_mem_save_delta_enum_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum)); - if (_ptr_delta_enum) { - NDR_PULL_ALLOC(ndr, r->delta_enum); - } else { - r->delta_enum = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->delta_enum) { - _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum)); - NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum)); - _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0); - for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) { - NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1])); - } - for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) { - NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0); - } - if (r->delta_enum) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r) -{ - uint32_t cntr_delta_enum_1; - ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY"); - ndr->depth++; - ndr_print_uint32(ndr, "num_deltas", r->num_deltas); - ndr_print_ptr(ndr, "delta_enum", r->delta_enum); - ndr->depth++; - if (r->delta_enum) { - ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas); - ndr->depth++; - for (cntr_delta_enum_1=0;cntr_delta_enum_1num_deltas;cntr_delta_enum_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) { - ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_UAS_INFO_0(struct ndr_push *ndr, int ndr_flags, const struct netr_UAS_INFO_0 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r) -{ - ndr_print_struct(ndr, name, "netr_UAS_INFO_0"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16); - ndr_print_uint32(ndr, "timecreated", r->timecreated); - ndr_print_uint32(ndr, "serial_number", r->serial_number); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r) -{ - ndr_print_struct(ndr, name, "netr_AccountBuffer"); - ndr->depth++; - ndr_print_DATA_BLOB(ndr, "blob", r->blob); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_NEEDED", NETLOGON_REPLICATION_NEEDED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_IN_PROGRESS", NETLOGON_REPLICATION_IN_PROGRESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_FULL_SYNC_REPLICATION", NETLOGON_FULL_SYNC_REPLICATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REDO_NEEDED", NETLOGON_REDO_NEEDED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_IP", NETLOGON_HAS_IP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_TIMESERV", NETLOGON_HAS_TIMESERV, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_DNS_UPDATE_FAILURE", NETLOGON_DNS_UPDATE_FAILURE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERIFY_STATUS_RETURNED", NETLOGON_VERIFY_STATUS_RETURNED, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_1(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r) -{ - ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1"); - ndr->depth++; - ndr_print_netr_InfoFlags(ndr, "flags", r->flags); - ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_2(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->tc_connection_status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->trusted_dc_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r) -{ - uint32_t _ptr_trusted_dc_name; - TALLOC_CTX *_mem_save_trusted_dc_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name)); - if (_ptr_trusted_dc_name) { - NDR_PULL_ALLOC(ndr, r->trusted_dc_name); - } else { - r->trusted_dc_name = NULL; - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->tc_connection_status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->trusted_dc_name) { - _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name)); - if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_dc_name), ndr_get_array_length(ndr, &r->trusted_dc_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r) -{ - ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2"); - ndr->depth++; - ndr_print_netr_InfoFlags(ndr, "flags", r->flags); - ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status); - ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name); - ndr->depth++; - if (r->trusted_dc_name) { - ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name); - } - ndr->depth--; - ndr_print_WERROR(ndr, "tc_connection_status", r->tc_connection_status); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_3(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r) -{ - ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3"); - ndr->depth++; - ndr_print_netr_InfoFlags(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts); - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr_print_uint32(ndr, "unknown3", r->unknown3); - ndr_print_uint32(ndr, "unknown4", r->unknown4); - ndr_print_uint32(ndr, "unknown5", r->unknown5); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->trusted_dc_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->trusted_domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r) -{ - uint32_t _ptr_trusted_dc_name; - TALLOC_CTX *_mem_save_trusted_dc_name_0; - uint32_t _ptr_trusted_domain_name; - TALLOC_CTX *_mem_save_trusted_domain_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name)); - if (_ptr_trusted_dc_name) { - NDR_PULL_ALLOC(ndr, r->trusted_dc_name); - } else { - r->trusted_dc_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name)); - if (_ptr_trusted_domain_name) { - NDR_PULL_ALLOC(ndr, r->trusted_domain_name); - } else { - r->trusted_domain_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->trusted_dc_name) { - _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name)); - if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_dc_name), ndr_get_array_length(ndr, &r->trusted_dc_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0); - } - if (r->trusted_domain_name) { - _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name)); - if (ndr_get_array_length(ndr, &r->trusted_domain_name) > ndr_get_array_size(ndr, &r->trusted_domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_domain_name), ndr_get_array_length(ndr, &r->trusted_domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r) -{ - ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4"); - ndr->depth++; - ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name); - ndr->depth++; - if (r->trusted_dc_name) { - ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name); - ndr->depth++; - if (r->trusted_domain_name) { - ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_CONTROL_QUERY_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_QUERY_INFORMATION *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3)); - } - break; - - case 4: - if (r->info4) { - NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - TALLOC_CTX *_mem_save_info4_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_info4; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4)); - if (_ptr_info4) { - NDR_PULL_ALLOC(ndr, r->info4); - } else { - r->info4 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - case 4: - if (r->info4) { - _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0); - NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "info4", r->info4); - ndr->depth++; - if (r->info4) { - ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r) -{ - const char *val = NULL; - - switch (r) { - case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break; - case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break; - case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break; - case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break; - case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break; - case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break; - case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break; - case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break; - case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break; - case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break; - case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break; - case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break; - case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break; - case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break; - case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break; - case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_netr_CONTROL_DATA_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_DATA_INFORMATION *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case NETLOGON_CONTROL_REDISCOVER: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - break; } - - case NETLOGON_CONTROL_TC_QUERY: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - break; } - - case NETLOGON_CONTROL_TRANSPORT_NOTIFY: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - break; } - - case NETLOGON_CONTROL_CHANGE_PASSWORD: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - break; } - - case NETLOGON_CONTROL_TC_VERIFY: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - break; } - - case NETLOGON_CONTROL_FIND_USER: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - break; } - - case NETLOGON_CONTROL_SET_DBFLAG: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NETLOGON_CONTROL_REDISCOVER: - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETLOGON_CONTROL_TC_QUERY: - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETLOGON_CONTROL_TRANSPORT_NOTIFY: - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETLOGON_CONTROL_CHANGE_PASSWORD: - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETLOGON_CONTROL_TC_VERIFY: - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETLOGON_CONTROL_FIND_USER: - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - break; - - case NETLOGON_CONTROL_SET_DBFLAG: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_domain_0; - TALLOC_CTX *_mem_save_user_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case NETLOGON_CONTROL_REDISCOVER: { - uint32_t _ptr_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - break; } - - case NETLOGON_CONTROL_TC_QUERY: { - uint32_t _ptr_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - break; } - - case NETLOGON_CONTROL_TRANSPORT_NOTIFY: { - uint32_t _ptr_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - break; } - - case NETLOGON_CONTROL_CHANGE_PASSWORD: { - uint32_t _ptr_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - break; } - - case NETLOGON_CONTROL_TC_VERIFY: { - uint32_t _ptr_domain; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - break; } - - case NETLOGON_CONTROL_FIND_USER: { - uint32_t _ptr_user; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - break; } - - case NETLOGON_CONTROL_SET_DBFLAG: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NETLOGON_CONTROL_REDISCOVER: - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - break; - - case NETLOGON_CONTROL_TC_QUERY: - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - break; - - case NETLOGON_CONTROL_TRANSPORT_NOTIFY: - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - break; - - case NETLOGON_CONTROL_CHANGE_PASSWORD: - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - break; - - case NETLOGON_CONTROL_TC_VERIFY: - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - break; - - case NETLOGON_CONTROL_FIND_USER: - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - break; - - case NETLOGON_CONTROL_SET_DBFLAG: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION"); - switch (level) { - case NETLOGON_CONTROL_REDISCOVER: - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - break; - - case NETLOGON_CONTROL_TC_QUERY: - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - break; - - case NETLOGON_CONTROL_TRANSPORT_NOTIFY: - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - break; - - case NETLOGON_CONTROL_CHANGE_PASSWORD: - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - break; - - case NETLOGON_CONTROL_TC_VERIFY: - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - break; - - case NETLOGON_CONTROL_FIND_USER: - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - break; - - case NETLOGON_CONTROL_SET_DBFLAG: - ndr_print_uint32(ndr, "debug_level", r->debug_level); - break; - - default: - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r) -{ - const char *val = NULL; - - switch (r) { - case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break; - case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break; - case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break; - case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break; - case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break; - case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break; - case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break; - case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break; - case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r) -{ - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r) -{ - ndr_print_uint16(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case NETR_CHANGELOG_SID_INCLUDED: { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid)); - break; } - - case NETR_CHANGELOG_NAME_INCLUDED: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name)); - ndr->flags = _flags_save_string; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NETR_CHANGELOG_SID_INCLUDED: - break; - - case NETR_CHANGELOG_NAME_INCLUDED: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case NETR_CHANGELOG_SID_INCLUDED: { - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid)); - break; } - - case NETR_CHANGELOG_NAME_INCLUDED: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name)); - ndr->flags = _flags_save_string; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NETR_CHANGELOG_SID_INCLUDED: - break; - - case NETR_CHANGELOG_NAME_INCLUDED: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_ChangeLogObject"); - switch (level) { - case NETR_CHANGELOG_SID_INCLUDED: - ndr_print_dom_sid(ndr, "object_sid", &r->object_sid); - break; - - case NETR_CHANGELOG_NAME_INCLUDED: - ndr_print_string(ndr, "object_name", r->object_name); - break; - - default: - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid)); - NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index)); - NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED))); - NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid)); - NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index)); - NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED))); - NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r) -{ - ndr_print_struct(ndr, name, "netr_ChangeLogEntry"); - ndr->depth++; - ndr_print_uint32(ndr, "serial_number1", r->serial_number1); - ndr_print_uint32(ndr, "serial_number2", r->serial_number2); - ndr_print_uint32(ndr, "object_rid", r->object_rid); - ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags); - ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index); - ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type); - ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)); - ndr_print_netr_ChangeLogObject(ndr, "object", &r->object); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic); -} - -static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r) -{ - ndr_print_struct(ndr, name, "netr_Blob"); - ndr->depth++; - ndr_print_uint32(ndr, "length", r->length); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WEB_SERVICE_REQUIRED", DS_WEB_SERVICE_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r) -{ - const char *val = NULL; - - switch (r) { - case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break; - case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST_ROOT", DS_DNS_FOREST_ROOT, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address)); - NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name)); - NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dc_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dc_address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->forest_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dc_site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_site_name, ndr_charset_length(r->dc_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->client_site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_site_name, ndr_charset_length(r->client_site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r) -{ - uint32_t _ptr_dc_unc; - TALLOC_CTX *_mem_save_dc_unc_0; - uint32_t _ptr_dc_address; - TALLOC_CTX *_mem_save_dc_address_0; - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - uint32_t _ptr_forest_name; - TALLOC_CTX *_mem_save_forest_name_0; - uint32_t _ptr_dc_site_name; - TALLOC_CTX *_mem_save_dc_site_name_0; - uint32_t _ptr_client_site_name; - TALLOC_CTX *_mem_save_client_site_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc)); - if (_ptr_dc_unc) { - NDR_PULL_ALLOC(ndr, r->dc_unc); - } else { - r->dc_unc = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address)); - if (_ptr_dc_address) { - NDR_PULL_ALLOC(ndr, r->dc_address); - } else { - r->dc_address = NULL; - } - NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->domain_name); - } else { - r->domain_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name)); - if (_ptr_forest_name) { - NDR_PULL_ALLOC(ndr, r->forest_name); - } else { - r->forest_name = NULL; - } - NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name)); - if (_ptr_dc_site_name) { - NDR_PULL_ALLOC(ndr, r->dc_site_name); - } else { - r->dc_site_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name)); - if (_ptr_client_site_name) { - NDR_PULL_ALLOC(ndr, r->client_site_name); - } else { - r->client_site_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->dc_unc) { - _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc)); - if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_unc), ndr_get_array_length(ndr, &r->dc_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0); - } - if (r->dc_address) { - _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address)); - if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_address), ndr_get_array_length(ndr, &r->dc_address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0); - } - if (r->domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name)); - if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - if (r->forest_name) { - _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name)); - if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->forest_name), ndr_get_array_length(ndr, &r->forest_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0); - } - if (r->dc_site_name) { - _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name)); - if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_site_name), ndr_get_array_length(ndr, &r->dc_site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0); - } - if (r->client_site_name) { - _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name)); - if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_site_name), ndr_get_array_length(ndr, &r->client_site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r) -{ - ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "dc_unc", r->dc_unc); - ndr->depth++; - if (r->dc_unc) { - ndr_print_string(ndr, "dc_unc", r->dc_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "dc_address", r->dc_address); - ndr->depth++; - if (r->dc_address) { - ndr_print_string(ndr, "dc_address", r->dc_address); - } - ndr->depth--; - ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type); - ndr_print_GUID(ndr, "domain_guid", &r->domain_guid); - ndr_print_ptr(ndr, "domain_name", r->domain_name); - ndr->depth++; - if (r->domain_name) { - ndr_print_string(ndr, "domain_name", r->domain_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "forest_name", r->forest_name); - ndr->depth++; - if (r->forest_name) { - ndr_print_string(ndr, "forest_name", r->forest_name); - } - ndr->depth--; - ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags); - ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name); - ndr->depth++; - if (r->dc_site_name) { - ndr_print_string(ndr, "dc_site_name", r->dc_site_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "client_site_name", r->client_site_name); - ndr->depth++; - if (r->client_site_name) { - ndr_print_string(ndr, "client_site_name", r->client_site_name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_Capabilities"); - switch (level) { - case 1: - ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r) -{ - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r) -{ - ndr_print_uint16(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r) -{ - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r) -{ - ndr_print_uint8(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->policy) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->policy_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r) -{ - uint32_t _ptr_policy; - TALLOC_CTX *_mem_save_policy_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy)); - if (_ptr_policy) { - NDR_PULL_ALLOC(ndr, r->policy); - } else { - r->policy = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->policy) { - _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->policy)); - NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0); - } - if (r->policy) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r) -{ - ndr_print_struct(ndr, name, "netr_LsaPolicyInformation"); - ndr->depth++; - ndr_print_uint32(ndr, "policy_size", r->policy_size); - ndr_print_ptr(ndr, "policy", r->policy); - ndr->depth++; - if (r->policy) { - ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - { - struct ndr_push *_ndr_CSDVersion; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256)); - NDR_CHECK(ndr_push_string(_ndr_CSDVersion, NDR_SCALARS, r->CSDVersion)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_CSDVersion, 0, 256)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor)); - NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask)); - NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - { - struct ndr_pull *_ndr_CSDVersion; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256)); - NDR_CHECK(ndr_pull_string(_ndr_CSDVersion, NDR_SCALARS, &r->CSDVersion)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_CSDVersion, 0, 256)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor)); - NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask)); - NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r) -{ - ndr_print_struct(ndr, name, "netr_OsVersionInfoEx"); - ndr->depth++; - ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize); - ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion); - ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion); - ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber); - ndr_print_uint32(ndr, "PlatformId", r->PlatformId); - ndr_print_string(ndr, "CSDVersion", r->CSDVersion); - ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor); - ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor); - ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask); - ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType); - ndr_print_uint8(ndr, "Reserved", r->Reserved); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142)); - NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r) -{ - ndr_print_struct(ndr, name, "netr_OsVersion"); - ndr->depth++; - ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length); - ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy); - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size); - ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->os)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->os) { - NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r) -{ - uint32_t _ptr_os; - TALLOC_CTX *_mem_save_os_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os)); - if (_ptr_os) { - NDR_PULL_ALLOC(ndr, r->os); - } else { - r->os = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->os) { - _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->os, 0); - NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r) -{ - ndr_print_struct(ndr, name, "netr_OsVersionContainer"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size); - ndr_print_ptr(ndr, "os", r->os); - ndr->depth++; - if (r->os) { - ndr_print_netr_OsVersion(ndr, "os", r->os); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4)); - NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4)); - NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy)); - if (r->dns_hostname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->sitename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dummy1) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dummy2) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dummy3) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dummy4) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r) -{ - uint32_t _ptr_dns_hostname; - TALLOC_CTX *_mem_save_dns_hostname_0; - uint32_t _ptr_sitename; - TALLOC_CTX *_mem_save_sitename_0; - uint32_t _ptr_dummy1; - TALLOC_CTX *_mem_save_dummy1_0; - uint32_t _ptr_dummy2; - TALLOC_CTX *_mem_save_dummy2_0; - uint32_t _ptr_dummy3; - TALLOC_CTX *_mem_save_dummy3_0; - uint32_t _ptr_dummy4; - TALLOC_CTX *_mem_save_dummy4_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname)); - if (_ptr_dns_hostname) { - NDR_PULL_ALLOC(ndr, r->dns_hostname); - } else { - r->dns_hostname = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename)); - if (_ptr_sitename) { - NDR_PULL_ALLOC(ndr, r->sitename); - } else { - r->sitename = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1)); - if (_ptr_dummy1) { - NDR_PULL_ALLOC(ndr, r->dummy1); - } else { - r->dummy1 = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2)); - if (_ptr_dummy2) { - NDR_PULL_ALLOC(ndr, r->dummy2); - } else { - r->dummy2 = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3)); - if (_ptr_dummy3) { - NDR_PULL_ALLOC(ndr, r->dummy3); - } else { - r->dummy3 = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4)); - if (_ptr_dummy4) { - NDR_PULL_ALLOC(ndr, r->dummy4); - } else { - r->dummy4 = NULL; - } - NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4)); - NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy)); - if (r->dns_hostname) { - _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname)); - if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_hostname), ndr_get_array_length(ndr, &r->dns_hostname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0); - } - if (r->sitename) { - _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename)); - if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sitename), ndr_get_array_length(ndr, &r->sitename)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0); - } - if (r->dummy1) { - _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1)); - if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy1), ndr_get_array_length(ndr, &r->dummy1)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0); - } - if (r->dummy2) { - _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2)); - if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy2), ndr_get_array_length(ndr, &r->dummy2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0); - } - if (r->dummy3) { - _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3)); - if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy3), ndr_get_array_length(ndr, &r->dummy3)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0); - } - if (r->dummy4) { - _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4)); - if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy4), ndr_get_array_length(ndr, &r->dummy4)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0); - } - NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r) -{ - ndr_print_struct(ndr, name, "netr_WorkstationInformation"); - ndr->depth++; - ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy); - ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname); - ndr->depth++; - if (r->dns_hostname) { - ndr_print_string(ndr, "dns_hostname", r->dns_hostname); - } - ndr->depth--; - ndr_print_ptr(ndr, "sitename", r->sitename); - ndr->depth++; - if (r->sitename) { - ndr_print_string(ndr, "sitename", r->sitename); - } - ndr->depth--; - ndr_print_ptr(ndr, "dummy1", r->dummy1); - ndr->depth++; - if (r->dummy1) { - ndr_print_string(ndr, "dummy1", r->dummy1); - } - ndr->depth--; - ndr_print_ptr(ndr, "dummy2", r->dummy2); - ndr->depth++; - if (r->dummy2) { - ndr_print_string(ndr, "dummy2", r->dummy2); - } - ndr->depth--; - ndr_print_ptr(ndr, "dummy3", r->dummy3); - ndr->depth++; - if (r->dummy3) { - ndr_print_string(ndr, "dummy3", r->dummy3); - } - ndr->depth--; - ndr_print_ptr(ndr, "dummy4", r->dummy4); - ndr->depth++; - if (r->dummy4) { - ndr_print_string(ndr, "dummy4", r->dummy4); - } - ndr->depth--; - ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version); - ndr_print_lsa_String(ndr, "os_name", &r->os_name); - ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3); - ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4); - ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags); - ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2); - ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3); - ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->workstation_info) { - NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info)); - } - break; - - case 2: - if (r->lsa_policy_info) { - NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_workstation_info_0; - TALLOC_CTX *_mem_save_lsa_policy_info_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_workstation_info; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info)); - if (_ptr_workstation_info) { - NDR_PULL_ALLOC(ndr, r->workstation_info); - } else { - r->workstation_info = NULL; - } - break; } - - case 2: { - uint32_t _ptr_lsa_policy_info; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info)); - if (_ptr_lsa_policy_info) { - NDR_PULL_ALLOC(ndr, r->lsa_policy_info); - } else { - r->lsa_policy_info = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->workstation_info) { - _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0); - NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0); - } - break; - - case 2: - if (r->lsa_policy_info) { - _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0); - NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_WorkstationInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "workstation_info", r->workstation_info); - ndr->depth++; - if (r->workstation_info) { - ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info); - ndr->depth++; - if (r->lsa_policy_info) { - ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8)); - NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r) -{ - ndr_print_struct(ndr, name, "netr_trust_extension"); - ndr->depth++; - ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length); - ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy); - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size); - ndr_print_netr_TrustFlags(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "parent_index", r->parent_index); - ndr_print_uint32(ndr, "trust_type", r->trust_type); - ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_info_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->info); - } else { - r->info = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info, 0); - NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r) -{ - ndr_print_struct(ndr, name, "netr_trust_extension_container"); - ndr->depth++; - ndr_print_uint16(ndr, "length", r->length); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size); - ndr_print_ptr(ndr, "info", r->info); - ndr->depth++; - if (r->info) { - ndr_print_netr_trust_extension(ndr, "info", r->info); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid)); - NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname)); - if (r->domain_sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid)); - } - NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r) -{ - uint32_t _ptr_domain_sid; - TALLOC_CTX *_mem_save_domain_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid)); - if (_ptr_domain_sid) { - NDR_PULL_ALLOC(ndr, r->domain_sid); - } else { - r->domain_sid = NULL; - } - NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname)); - if (r->domain_sid) { - _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0); - } - NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r) -{ - ndr_print_struct(ndr, name, "netr_OneDomainInfo"); - ndr->depth++; - ndr_print_lsa_StringLarge(ndr, "domainname", &r->domainname); - ndr_print_lsa_StringLarge(ndr, "dns_domainname", &r->dns_domainname); - ndr_print_lsa_StringLarge(ndr, "dns_forestname", &r->dns_forestname); - ndr_print_GUID(ndr, "domain_guid", &r->domain_guid); - ndr_print_ptr(ndr, "domain_sid", r->domain_sid); - ndr->depth++; - if (r->domain_sid) { - ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid); - } - ndr->depth--; - ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension); - ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2); - ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3); - ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4); - ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1); - ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2); - ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3); - ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_SupportedEncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_SupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SupportedEncTypes(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_CRC32", ENC_CRC32, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RSA_MD5", ENC_RSA_MD5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RC4_HMAC_MD5", ENC_RC4_HMAC_MD5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES128", ENC_HMAC_SHA1_96_AES128, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES256", ENC_HMAC_SHA1_96_AES256, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r) -{ - uint32_t cntr_trusted_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains)); - NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4)); - NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags)); - NDR_CHECK(ndr_push_netr_SupportedEncTypes(ndr, NDR_SCALARS, r->supported_enc_types)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain)); - if (r->trusted_domains) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->trusted_domain_count)); - for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) { - NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1])); - } - for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) { - NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1])); - } - } - NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r) -{ - uint32_t _ptr_trusted_domains; - uint32_t cntr_trusted_domains_1; - TALLOC_CTX *_mem_save_trusted_domains_0; - TALLOC_CTX *_mem_save_trusted_domains_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains)); - if (_ptr_trusted_domains) { - NDR_PULL_ALLOC(ndr, r->trusted_domains); - } else { - r->trusted_domains = NULL; - } - NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4)); - NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags)); - NDR_CHECK(ndr_pull_netr_SupportedEncTypes(ndr, NDR_SCALARS, &r->supported_enc_types)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain)); - if (r->trusted_domains) { - _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains)); - NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains)); - _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0); - for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) { - NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1])); - } - for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) { - NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0); - } - NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4)); - if (r->trusted_domains) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r) -{ - uint32_t cntr_trusted_domains_1; - ndr_print_struct(ndr, name, "netr_DomainInformation"); - ndr->depth++; - ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain); - ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count); - ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains); - ndr->depth++; - if (r->trusted_domains) { - ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count); - ndr->depth++; - for (cntr_trusted_domains_1=0;cntr_trusted_domains_1trusted_domain_count;cntr_trusted_domains_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) { - ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy); - ndr_print_lsa_StringLarge(ndr, "dns_hostname", &r->dns_hostname); - ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2); - ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3); - ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4); - ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags); - ndr_print_netr_SupportedEncTypes(ndr, "supported_enc_types", r->supported_enc_types); - ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3); - ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->domain_info) { - NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info)); - } - break; - - case 2: - if (r->lsa_policy_info) { - NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_domain_info_0; - TALLOC_CTX *_mem_save_lsa_policy_info_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_domain_info; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info)); - if (_ptr_domain_info) { - NDR_PULL_ALLOC(ndr, r->domain_info); - } else { - r->domain_info = NULL; - } - break; } - - case 2: { - uint32_t _ptr_lsa_policy_info; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info)); - if (_ptr_lsa_policy_info) { - NDR_PULL_ALLOC(ndr, r->lsa_policy_info); - } else { - r->lsa_policy_info = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->domain_info) { - _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0); - NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0); - } - break; - - case 2: - if (r->lsa_policy_info) { - _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0); - NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "netr_DomainInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "domain_info", r->domain_info); - ndr->depth++; - if (r->domain_info) { - ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info); - ndr->depth++; - if (r->lsa_policy_info) { - ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r) -{ - ndr_print_struct(ndr, name, "netr_CryptPassword"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->data, 512); - ndr_print_uint32(ndr, "length", r->length); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r) -{ - uint32_t cntr_sitename_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sitename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1])); - } - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r) -{ - uint32_t _ptr_sitename; - uint32_t cntr_sitename_1; - TALLOC_CTX *_mem_save_sitename_0; - TALLOC_CTX *_mem_save_sitename_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename)); - if (_ptr_sitename) { - NDR_PULL_ALLOC(ndr, r->sitename); - } else { - r->sitename = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sitename) { - _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename)); - NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename)); - _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0); - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1])); - } - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0); - } - if (r->sitename) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r) -{ - uint32_t cntr_sitename_1; - ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "sitename", r->sitename); - ndr->depth++; - if (r->sitename) { - ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count); - ndr->depth++; - for (cntr_sitename_1=0;cntr_sitename_1count;cntr_sitename_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) { - ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r) -{ - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_buffer_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->buffer); - } else { - r->buffer = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer)); - NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (r->buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r) -{ - ndr_print_struct(ndr, name, "netr_DsRAddress"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->buffer); - ndr->depth++; - if (r->buffer) { - ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size); - } - ndr->depth--; - ndr_print_uint32(ndr, "size", r->size); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r) -{ - const char *val = NULL; - - switch (r) { - case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break; - case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break; - case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break; - case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name)); - NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index)); - NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type)); - NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dns_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r) -{ - uint32_t _ptr_netbios_name; - TALLOC_CTX *_mem_save_netbios_name_0; - uint32_t _ptr_dns_name; - TALLOC_CTX *_mem_save_dns_name_0; - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name)); - if (_ptr_netbios_name) { - NDR_PULL_ALLOC(ndr, r->netbios_name); - } else { - r->netbios_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name)); - if (_ptr_dns_name) { - NDR_PULL_ALLOC(ndr, r->dns_name); - } else { - r->dns_name = NULL; - } - NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index)); - NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type)); - NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->netbios_name) { - _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name)); - if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0); - } - if (r->dns_name) { - _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name)); - if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0); - } - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r) -{ - ndr_print_struct(ndr, name, "netr_DomainTrust"); - ndr->depth++; - ndr_print_ptr(ndr, "netbios_name", r->netbios_name); - ndr->depth++; - if (r->netbios_name) { - ndr_print_string(ndr, "netbios_name", r->netbios_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "dns_name", r->dns_name); - ndr->depth++; - if (r->dns_name) { - ndr_print_string(ndr, "dns_name", r->dns_name); - } - ndr->depth--; - ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags); - ndr_print_uint32(ndr, "parent_index", r->parent_index); - ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type); - ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid2(ndr, "sid", r->sid); - } - ndr->depth--; - ndr_print_GUID(ndr, "guid", &r->guid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "netr_DomainTrustList"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r) -{ - uint32_t cntr_sitename_1; - uint32_t cntr_subnetname_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sitename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1])); - } - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1])); - } - } - if (r->subnetname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1])); - } - for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r) -{ - uint32_t _ptr_sitename; - uint32_t cntr_sitename_1; - TALLOC_CTX *_mem_save_sitename_0; - TALLOC_CTX *_mem_save_sitename_1; - uint32_t _ptr_subnetname; - uint32_t cntr_subnetname_1; - TALLOC_CTX *_mem_save_subnetname_0; - TALLOC_CTX *_mem_save_subnetname_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename)); - if (_ptr_sitename) { - NDR_PULL_ALLOC(ndr, r->sitename); - } else { - r->sitename = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname)); - if (_ptr_subnetname) { - NDR_PULL_ALLOC(ndr, r->subnetname); - } else { - r->subnetname = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sitename) { - _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename)); - NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename)); - _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0); - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1])); - } - for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0); - } - if (r->subnetname) { - _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname)); - NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname)); - _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0); - for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1])); - } - for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0); - } - if (r->sitename) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count)); - } - if (r->subnetname) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r) -{ - uint32_t cntr_sitename_1; - uint32_t cntr_subnetname_1; - ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "sitename", r->sitename); - ndr->depth++; - if (r->sitename) { - ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count); - ndr->depth++; - for (cntr_sitename_1=0;cntr_sitename_1count;cntr_sitename_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) { - ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "subnetname", r->subnetname); - ndr->depth++; - if (r->subnetname) { - ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count); - ndr->depth++; - for (cntr_subnetname_1=0;cntr_subnetname_1count;cntr_subnetname_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) { - ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r) -{ - uint32_t cntr_sites_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sites) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sites)); - for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1])); - } - for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r) -{ - uint32_t _ptr_sites; - uint32_t cntr_sites_1; - TALLOC_CTX *_mem_save_sites_0; - TALLOC_CTX *_mem_save_sites_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites)); - if (_ptr_sites) { - NDR_PULL_ALLOC(ndr, r->sites); - } else { - r->sites = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sites) { - _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sites)); - NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites)); - _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0); - for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1])); - } - for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0); - } - if (r->sites) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r) -{ - uint32_t cntr_sites_1; - ndr_print_struct(ndr, name, "DcSitesCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "num_sites", r->num_sites); - ndr_print_ptr(ndr, "sites", r->sites); - ndr->depth++; - if (r->sites) { - ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites); - ndr->depth++; - for (cntr_sites_1=0;cntr_sites_1num_sites;cntr_sites_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) { - ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r) -{ - uint32_t cntr_data_1; - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1])); - } - } - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r) -{ - uint32_t _ptr_data; - uint32_t cntr_data_1; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_data_1; - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count)); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r) -{ - uint32_t cntr_data_1; - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "netr_TrustInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count); - ndr->depth++; - for (cntr_data_1=0;cntr_data_1count;cntr_data_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) { - ndr_print_uint32(ndr, "data", r->data[cntr_data_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "entry_count", r->entry_count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.workstation == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation)); - if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r) -{ - ndr_print_struct(ndr, name, "netr_LogonUasLogon"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonUasLogon"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_ptr(ndr, "workstation", r->in.workstation); - ndr->depth++; - ndr_print_string(ndr, "workstation", r->in.workstation); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonUasLogon"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_netr_UasInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.workstation == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation)); - if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r) -{ - ndr_print_struct(ndr, name, "netr_LogonUasLogoff"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonUasLogoff"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_ptr(ndr, "workstation", r->in.workstation); - ndr->depth++; - ndr_print_string(ndr, "workstation", r->in.workstation); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonUasLogoff"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential)); - if (r->in.credential) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator)); - if (r->in.return_authenticator) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - } - NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level)); - if (r->in.logon == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator)); - if (r->out.return_authenticator) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - } - if (r->out.validation == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level)); - NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation)); - if (r->out.authoritative == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_computer_name; - uint32_t _ptr_credential; - uint32_t _ptr_return_authenticator; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_logon_0; - TALLOC_CTX *_mem_save_validation_0; - TALLOC_CTX *_mem_save_authoritative_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential)); - if (_ptr_credential) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } else { - r->in.credential = NULL; - } - if (r->in.credential) { - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator)); - if (_ptr_return_authenticator) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } else { - r->in.return_authenticator = NULL; - } - if (r->in.return_authenticator) { - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.logon); - } - _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level)); - NDR_PULL_ALLOC(ndr, r->out.validation); - ZERO_STRUCTP(r->out.validation); - NDR_PULL_ALLOC(ndr, r->out.authoritative); - ZERO_STRUCTP(r->out.authoritative); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator)); - if (_ptr_return_authenticator) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } else { - r->out.return_authenticator = NULL; - } - if (r->out.return_authenticator) { - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.validation); - } - _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level)); - NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.authoritative); - } - _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r) -{ - ndr_print_struct(ndr, name, "netr_LogonSamLogon"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonSamLogon"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - if (r->in.credential) { - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - } - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - if (r->in.return_authenticator) { - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - } - ndr->depth--; - ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level); - ndr_print_ptr(ndr, "logon", r->in.logon); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level); - ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon); - ndr->depth--; - ndr_print_uint16(ndr, "validation_level", r->in.validation_level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonSamLogon"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - if (r->out.return_authenticator) { - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - } - ndr->depth--; - ndr_print_ptr(ndr, "validation", r->out.validation); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level); - ndr_print_netr_Validation(ndr, "validation", r->out.validation); - ndr->depth--; - ndr_print_ptr(ndr, "authoritative", r->out.authoritative); - ndr->depth++; - ndr_print_uint8(ndr, "authoritative", *r->out.authoritative); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential)); - if (r->in.credential) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator)); - if (r->in.return_authenticator) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - } - NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator)); - if (r->out.return_authenticator) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_computer_name; - uint32_t _ptr_credential; - uint32_t _ptr_return_authenticator; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential)); - if (_ptr_credential) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } else { - r->in.credential = NULL; - } - if (r->in.credential) { - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator)); - if (_ptr_return_authenticator) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } else { - r->in.return_authenticator = NULL; - } - if (r->in.return_authenticator) { - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator)); - if (_ptr_return_authenticator) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } else { - r->out.return_authenticator = NULL; - } - if (r->out.return_authenticator) { - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); - } - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r) -{ - ndr_print_struct(ndr, name, "netr_LogonSamLogoff"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonSamLogoff"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - if (r->in.credential) { - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - } - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - if (r->in.return_authenticator) { - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - } - ndr->depth--; - ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level); - ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level); - ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonSamLogoff"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - if (r->out.return_authenticator) { - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - } - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - } - if (flags & NDR_OUT) { - if (r->out.return_credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credentials_0; - TALLOC_CTX *_mem_save_return_credentials_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credentials); - } - _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - ZERO_STRUCTP(r->out.return_credentials); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - } - _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r) -{ - ndr_print_struct(ndr, name, "netr_ServerReqChallenge"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerReqChallenge"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credentials", r->in.credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "credentials", r->in.credentials); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerReqChallenge"); - ndr->depth++; - ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - } - if (flags & NDR_OUT) { - if (r->out.return_credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credentials_0; - TALLOC_CTX *_mem_save_return_credentials_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credentials); - } - _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - ZERO_STRUCTP(r->out.return_credentials); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - } - _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r) -{ - ndr_print_struct(ndr, name, "netr_ServerAuthenticate"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerAuthenticate"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credentials", r->in.credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "credentials", r->in.credentials); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerAuthenticate"); - ndr->depth++; - ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.new_password == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_new_password_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.new_password); - } - _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - ZERO_STRUCTP(r->out.return_authenticator); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r) -{ - ndr_print_struct(ndr, name, "netr_ServerPasswordSet"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerPasswordSet"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "new_password", r->in.new_password); - ndr->depth++; - ndr_print_samr_Password(ndr, "new_password", r->in.new_password); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerPasswordSet"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r) -{ - if (flags & NDR_IN) { - if (r->in.logon_server == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.computername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id)); - if (r->in.sequence_num == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.sequence_num == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num)); - if (r->out.delta_enum_array == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array)); - if (*r->out.delta_enum_array) { - NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r) -{ - uint32_t _ptr_delta_enum_array; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_sequence_num_0; - TALLOC_CTX *_mem_save_delta_enum_array_0; - TALLOC_CTX *_mem_save_delta_enum_array_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername)); - if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sequence_num); - } - _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.sequence_num); - *r->out.sequence_num = *r->in.sequence_num; - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - ZERO_STRUCTP(r->out.delta_enum_array); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sequence_num); - } - _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - } - _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array)); - if (_ptr_delta_enum_array) { - NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array); - } else { - *r->out.delta_enum_array = NULL; - } - if (*r->out.delta_enum_array) { - _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r) -{ - ndr_print_struct(ndr, name, "netr_DatabaseDeltas"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DatabaseDeltas"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - ndr_print_string(ndr, "logon_server", r->in.logon_server); - ndr->depth--; - ndr_print_ptr(ndr, "computername", r->in.computername); - ndr->depth++; - ndr_print_string(ndr, "computername", r->in.computername); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id); - ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num); - ndr->depth++; - ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num); - ndr->depth--; - ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DatabaseDeltas"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num); - ndr->depth++; - ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num); - ndr->depth--; - ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array); - ndr->depth++; - ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array); - ndr->depth++; - if (*r->out.delta_enum_array) { - ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r) -{ - if (flags & NDR_IN) { - if (r->in.logon_server == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.computername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id)); - if (r->in.sync_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.sync_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context)); - if (r->out.delta_enum_array == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array)); - if (*r->out.delta_enum_array) { - NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r) -{ - uint32_t _ptr_delta_enum_array; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_sync_context_0; - TALLOC_CTX *_mem_save_delta_enum_array_0; - TALLOC_CTX *_mem_save_delta_enum_array_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername)); - if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sync_context); - } - _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.sync_context); - *r->out.sync_context = *r->in.sync_context; - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - ZERO_STRUCTP(r->out.delta_enum_array); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sync_context); - } - _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - } - _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array)); - if (_ptr_delta_enum_array) { - NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array); - } else { - *r->out.delta_enum_array = NULL; - } - if (*r->out.delta_enum_array) { - _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r) -{ - ndr_print_struct(ndr, name, "netr_DatabaseSync"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DatabaseSync"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - ndr_print_string(ndr, "logon_server", r->in.logon_server); - ndr->depth--; - ndr_print_ptr(ndr, "computername", r->in.computername); - ndr->depth++; - ndr_print_string(ndr, "computername", r->in.computername); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id); - ndr_print_ptr(ndr, "sync_context", r->in.sync_context); - ndr->depth++; - ndr_print_uint32(ndr, "sync_context", *r->in.sync_context); - ndr->depth--; - ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DatabaseSync"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "sync_context", r->out.sync_context); - ndr->depth++; - ndr_print_uint32(ndr, "sync_context", *r->out.sync_context); - ndr->depth--; - ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array); - ndr->depth++; - ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array); - ndr->depth++; - if (*r->out.delta_enum_array) { - ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server)); - if (r->in.logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.computername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - { - struct ndr_push *_ndr_buffer; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1)); - NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1)); - } - if (r->out.count_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned)); - if (r->out.total_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries)); - if (r->out.recordid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r) -{ - uint32_t _ptr_logon_server; - TALLOC_CTX *_mem_save_logon_server_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_count_returned_0; - TALLOC_CTX *_mem_save_total_entries_0; - TALLOC_CTX *_mem_save_recordid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->in.logon_server); - } else { - r->in.logon_server = NULL; - } - if (r->in.logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername)); - if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.buffer); - ZERO_STRUCTP(r->out.buffer); - NDR_PULL_ALLOC(ndr, r->out.count_returned); - ZERO_STRUCTP(r->out.count_returned); - NDR_PULL_ALLOC(ndr, r->out.total_entries); - ZERO_STRUCTP(r->out.total_entries); - NDR_PULL_ALLOC(ndr, r->out.recordid); - ZERO_STRUCTP(r->out.recordid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.buffer); - } - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC); - { - struct ndr_pull *_ndr_buffer; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1)); - NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count_returned); - } - _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.total_entries); - } - _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.recordid); - } - _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r) -{ - ndr_print_struct(ndr, name, "netr_AccountDeltas"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_AccountDeltas"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - if (r->in.logon_server) { - ndr_print_string(ndr, "logon_server", r->in.logon_server); - } - ndr->depth--; - ndr_print_ptr(ndr, "computername", r->in.computername); - ndr->depth++; - ndr_print_string(ndr, "computername", r->in.computername); - ndr->depth--; - ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential); - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas); - ndr_print_uint32(ndr, "count", r->in.count); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "buffersize", r->in.buffersize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_AccountDeltas"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer); - ndr->depth--; - ndr_print_ptr(ndr, "count_returned", r->out.count_returned); - ndr->depth++; - ndr_print_uint32(ndr, "count_returned", *r->out.count_returned); - ndr->depth--; - ndr_print_ptr(ndr, "total_entries", r->out.total_entries); - ndr->depth++; - ndr_print_uint32(ndr, "total_entries", *r->out.total_entries); - ndr->depth--; - ndr_print_ptr(ndr, "recordid", r->out.recordid); - ndr->depth++; - ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server)); - if (r->in.logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.computername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize)); - if (r->in.recordid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - { - struct ndr_push *_ndr_buffer; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1)); - NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1)); - } - if (r->out.count_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned)); - if (r->out.total_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries)); - if (r->out.next_reference == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference)); - if (r->out.recordid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r) -{ - uint32_t _ptr_logon_server; - TALLOC_CTX *_mem_save_logon_server_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_count_returned_0; - TALLOC_CTX *_mem_save_total_entries_0; - TALLOC_CTX *_mem_save_next_reference_0; - TALLOC_CTX *_mem_save_recordid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->in.logon_server); - } else { - r->in.logon_server = NULL; - } - if (r->in.logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername)); - if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.recordid); - } - _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.buffer); - ZERO_STRUCTP(r->out.buffer); - NDR_PULL_ALLOC(ndr, r->out.count_returned); - ZERO_STRUCTP(r->out.count_returned); - NDR_PULL_ALLOC(ndr, r->out.total_entries); - ZERO_STRUCTP(r->out.total_entries); - NDR_PULL_ALLOC(ndr, r->out.next_reference); - ZERO_STRUCTP(r->out.next_reference); - NDR_PULL_ALLOC(ndr, r->out.recordid); - *r->out.recordid = *r->in.recordid; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.buffer); - } - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC); - { - struct ndr_pull *_ndr_buffer; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1)); - NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count_returned); - } - _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.total_entries); - } - _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.next_reference); - } - _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.recordid); - } - _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r) -{ - ndr_print_struct(ndr, name, "netr_AccountSync"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_AccountSync"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - if (r->in.logon_server) { - ndr_print_string(ndr, "logon_server", r->in.logon_server); - } - ndr->depth--; - ndr_print_ptr(ndr, "computername", r->in.computername); - ndr->depth++; - ndr_print_string(ndr, "computername", r->in.computername); - ndr->depth--; - ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential); - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_uint32(ndr, "reference", r->in.reference); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "buffersize", r->in.buffersize); - ndr_print_ptr(ndr, "recordid", r->in.recordid); - ndr->depth++; - ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_AccountSync"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer); - ndr->depth--; - ndr_print_ptr(ndr, "count_returned", r->out.count_returned); - ndr->depth++; - ndr_print_uint32(ndr, "count_returned", *r->out.count_returned); - ndr->depth--; - ndr_print_ptr(ndr, "total_entries", r->out.total_entries); - ndr->depth++; - ndr_print_uint32(ndr, "total_entries", *r->out.total_entries); - ndr->depth--; - ndr_print_ptr(ndr, "next_reference", r->out.next_reference); - ndr->depth++; - ndr_print_uint32(ndr, "next_reference", *r->out.next_reference); - ndr->depth--; - ndr_print_ptr(ndr, "recordid", r->out.recordid); - ndr->depth++; - ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r) -{ - if (flags & NDR_IN) { - if (r->in.logon_server == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname)); - if (r->in.domainname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.dcname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname)); - if (*r->out.dcname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r) -{ - uint32_t _ptr_domainname; - uint32_t _ptr_dcname; - TALLOC_CTX *_mem_save_domainname_0; - TALLOC_CTX *_mem_save_dcname_0; - TALLOC_CTX *_mem_save_dcname_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname)); - if (_ptr_domainname) { - NDR_PULL_ALLOC(ndr, r->in.domainname); - } else { - r->in.domainname = NULL; - } - if (r->in.domainname) { - _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname)); - if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.dcname); - ZERO_STRUCTP(r->out.dcname); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.dcname); - } - _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname)); - if (_ptr_dcname) { - NDR_PULL_ALLOC(ndr, *r->out.dcname); - } else { - *r->out.dcname = NULL; - } - if (*r->out.dcname) { - _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname)); - if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r) -{ - ndr_print_struct(ndr, name, "netr_GetDcName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_GetDcName"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - ndr_print_string(ndr, "logon_server", r->in.logon_server); - ndr->depth--; - ndr_print_ptr(ndr, "domainname", r->in.domainname); - ndr->depth++; - if (r->in.domainname) { - ndr_print_string(ndr, "domainname", r->in.domainname); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_GetDcName"); - ndr->depth++; - ndr_print_ptr(ndr, "dcname", r->out.dcname); - ndr->depth++; - ndr_print_ptr(ndr, "dcname", *r->out.dcname); - ndr->depth++; - if (*r->out.dcname) { - ndr_print_string(ndr, "dcname", *r->out.dcname); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server)); - if (r->in.logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.query == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level)); - NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r) -{ - uint32_t _ptr_logon_server; - TALLOC_CTX *_mem_save_logon_server_0; - TALLOC_CTX *_mem_save_query_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->in.logon_server); - } else { - r->in.logon_server = NULL; - } - if (r->in.logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.query); - ZERO_STRUCTP(r->out.query); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.query); - } - _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level)); - NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r) -{ - ndr_print_struct(ndr, name, "netr_LogonControl"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonControl"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - if (r->in.logon_server) { - ndr_print_string(ndr, "logon_server", r->in.logon_server); - } - ndr->depth--; - ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code); - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonControl"); - ndr->depth++; - ndr_print_ptr(ndr, "query", r->out.query); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.query, r->in.level); - ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server)); - if (r->in.logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname)); - if (r->in.domainname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.dcname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname)); - if (*r->out.dcname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r) -{ - uint32_t _ptr_logon_server; - uint32_t _ptr_domainname; - uint32_t _ptr_dcname; - TALLOC_CTX *_mem_save_logon_server_0; - TALLOC_CTX *_mem_save_domainname_0; - TALLOC_CTX *_mem_save_dcname_0; - TALLOC_CTX *_mem_save_dcname_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->in.logon_server); - } else { - r->in.logon_server = NULL; - } - if (r->in.logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname)); - if (_ptr_domainname) { - NDR_PULL_ALLOC(ndr, r->in.domainname); - } else { - r->in.domainname = NULL; - } - if (r->in.domainname) { - _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname)); - if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.dcname); - ZERO_STRUCTP(r->out.dcname); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.dcname); - } - _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname)); - if (_ptr_dcname) { - NDR_PULL_ALLOC(ndr, *r->out.dcname); - } else { - *r->out.dcname = NULL; - } - if (*r->out.dcname) { - _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname)); - if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r) -{ - ndr_print_struct(ndr, name, "netr_GetAnyDCName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_GetAnyDCName"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - if (r->in.logon_server) { - ndr_print_string(ndr, "logon_server", r->in.logon_server); - } - ndr->depth--; - ndr_print_ptr(ndr, "domainname", r->in.domainname); - ndr->depth++; - if (r->in.domainname) { - ndr_print_string(ndr, "domainname", r->in.domainname); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_GetAnyDCName"); - ndr->depth++; - ndr_print_ptr(ndr, "dcname", r->out.dcname); - ndr->depth++; - ndr_print_ptr(ndr, "dcname", *r->out.dcname); - ndr->depth++; - if (*r->out.dcname) { - ndr_print_string(ndr, "dcname", *r->out.dcname); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server)); - if (r->in.logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code)); - NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data)); - } - if (flags & NDR_OUT) { - if (r->out.query == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level)); - NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r) -{ - uint32_t _ptr_logon_server; - TALLOC_CTX *_mem_save_logon_server_0; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_query_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->in.logon_server); - } else { - r->in.logon_server = NULL; - } - if (r->in.logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.data); - } - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code)); - NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.query); - ZERO_STRUCTP(r->out.query); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.query); - } - _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level)); - NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r) -{ - ndr_print_struct(ndr, name, "netr_LogonControl2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonControl2"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - if (r->in.logon_server) { - ndr_print_string(ndr, "logon_server", r->in.logon_server); - } - ndr->depth--; - ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code); - ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonControl2"); - ndr->depth++; - ndr_print_ptr(ndr, "query", r->out.query); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.query, r->in.level); - ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - if (r->in.negotiate_flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags)); - } - if (flags & NDR_OUT) { - if (r->out.return_credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - if (r->out.negotiate_flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credentials_0; - TALLOC_CTX *_mem_save_return_credentials_0; - TALLOC_CTX *_mem_save_negotiate_flags_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credentials); - } - _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.negotiate_flags); - } - _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - ZERO_STRUCTP(r->out.return_credentials); - NDR_PULL_ALLOC(ndr, r->out.negotiate_flags); - *r->out.negotiate_flags = *r->in.negotiate_flags; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - } - _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.negotiate_flags); - } - _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r) -{ - ndr_print_struct(ndr, name, "netr_ServerAuthenticate2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credentials", r->in.credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "credentials", r->in.credentials); - ndr->depth--; - ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags); - ndr->depth++; - ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2"); - ndr->depth++; - ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials); - ndr->depth--; - ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags); - ndr->depth++; - ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r) -{ - if (flags & NDR_IN) { - if (r->in.logon_server == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.computername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id)); - NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state)); - if (r->in.sync_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.sync_context == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context)); - if (r->out.delta_enum_array == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array)); - if (*r->out.delta_enum_array) { - NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r) -{ - uint32_t _ptr_delta_enum_array; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_sync_context_0; - TALLOC_CTX *_mem_save_delta_enum_array_0; - TALLOC_CTX *_mem_save_delta_enum_array_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername)); - if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id)); - NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sync_context); - } - _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.sync_context); - *r->out.sync_context = *r->in.sync_context; - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - ZERO_STRUCTP(r->out.delta_enum_array); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sync_context); - } - _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - } - _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array)); - if (_ptr_delta_enum_array) { - NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array); - } else { - *r->out.delta_enum_array = NULL; - } - if (*r->out.delta_enum_array) { - _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r) -{ - ndr_print_struct(ndr, name, "netr_DatabaseSync2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DatabaseSync2"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - ndr_print_string(ndr, "logon_server", r->in.logon_server); - ndr->depth--; - ndr_print_ptr(ndr, "computername", r->in.computername); - ndr->depth++; - ndr_print_string(ndr, "computername", r->in.computername); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id); - ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state); - ndr_print_ptr(ndr, "sync_context", r->in.sync_context); - ndr->depth++; - ndr_print_uint32(ndr, "sync_context", *r->in.sync_context); - ndr->depth--; - ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DatabaseSync2"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "sync_context", r->out.sync_context); - ndr->depth++; - ndr_print_uint32(ndr, "sync_context", *r->out.sync_context); - ndr->depth--; - ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array); - ndr->depth++; - ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array); - ndr->depth++; - if (*r->out.delta_enum_array) { - ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r) -{ - if (flags & NDR_IN) { - if (r->in.logon_server == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.computername == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - { - struct ndr_push *_ndr_change_log_entry; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1)); - NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, -1)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags))); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.delta_enum_array == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array)); - if (*r->out.delta_enum_array) { - NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r) -{ - uint32_t _ptr_delta_enum_array; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_delta_enum_array_0; - TALLOC_CTX *_mem_save_delta_enum_array_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername)); - if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - { - struct ndr_pull *_ndr_change_log_entry; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1)); - NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, -1)); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - ZERO_STRUCTP(r->out.delta_enum_array); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.delta_enum_array); - } - _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array)); - if (_ptr_delta_enum_array) { - NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array); - } else { - *r->out.delta_enum_array = NULL; - } - if (*r->out.delta_enum_array) { - _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0); - NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r) -{ - ndr_print_struct(ndr, name, "netr_DatabaseRedo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DatabaseRedo"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - ndr_print_string(ndr, "logon_server", r->in.logon_server); - ndr->depth--; - ndr_print_ptr(ndr, "computername", r->in.computername); - ndr->depth++; - ndr_print_string(ndr, "computername", r->in.computername); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry); - ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags):r->in.change_log_entry_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DatabaseRedo"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array); - ndr->depth++; - ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array); - ndr->depth++; - if (*r->out.delta_enum_array) { - ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server)); - if (r->in.logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code)); - NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data)); - } - if (flags & NDR_OUT) { - if (r->out.query == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level)); - NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r) -{ - uint32_t _ptr_logon_server; - TALLOC_CTX *_mem_save_logon_server_0; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_query_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->in.logon_server); - } else { - r->in.logon_server = NULL; - } - if (r->in.logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server)); - if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.data); - } - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code)); - NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.query); - ZERO_STRUCTP(r->out.query); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.query); - } - _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level)); - NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r) -{ - ndr_print_struct(ndr, name, "netr_LogonControl2Ex"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonControl2Ex"); - ndr->depth++; - ndr_print_ptr(ndr, "logon_server", r->in.logon_server); - ndr->depth++; - if (r->in.logon_server) { - ndr_print_string(ndr, "logon_server", r->in.logon_server); - } - ndr->depth--; - ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code); - ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonControl2Ex"); - ndr->depth++; - ndr_print_ptr(ndr, "query", r->out.query); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.query, r->in.level); - ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.trusted_domains_blob == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_trusted_domains_blob_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob); - ZERO_STRUCTP(r->out.trusted_domains_blob); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob); - } - _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r) -{ - ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains"); - ndr->depth++; - ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob); - ndr->depth++; - ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name)); - if (r->in.domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid)); - if (r->in.domain_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid)); - if (r->in.site_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid)); - } - NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_domain_name; - uint32_t _ptr_domain_guid; - uint32_t _ptr_site_guid; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_domain_name_0; - TALLOC_CTX *_mem_save_domain_guid_0; - TALLOC_CTX *_mem_save_site_guid_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->in.domain_name); - } else { - r->in.domain_name = NULL; - } - if (r->in.domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid)); - if (_ptr_domain_guid) { - NDR_PULL_ALLOC(ndr, r->in.domain_guid); - } else { - r->in.domain_guid = NULL; - } - if (r->in.domain_guid) { - _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid)); - if (_ptr_site_guid) { - NDR_PULL_ALLOC(ndr, r->in.site_guid); - } else { - r->in.site_guid = NULL; - } - if (r->in.site_guid) { - _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0); - } - NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r) -{ - ndr_print_struct(ndr, name, "netr_DsRGetDCName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRGetDCName"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - if (r->in.domain_name) { - ndr_print_string(ndr, "domain_name", r->in.domain_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid); - ndr->depth++; - if (r->in.domain_guid) { - ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_guid", r->in.site_guid); - ndr->depth++; - if (r->in.site_guid) { - ndr_print_GUID(ndr, "site_guid", r->in.site_guid); - } - ndr->depth--; - ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRGetDCName"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r) -{ - if (flags & NDR_IN) { - if (r->in.server_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.capabilities == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level)); - NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r) -{ - uint32_t _ptr_computer_name; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_capabilities_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.capabilities); - ZERO_STRUCTP(r->out.capabilities); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.capabilities); - } - _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level)); - NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r) -{ - ndr_print_struct(ndr, name, "netr_LogonGetCapabilities"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - ndr_print_string(ndr, "server_name", r->in.server_name); - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_uint32(ndr, "query_level", r->in.query_level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "capabilities", r->out.capabilities); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level); - ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r) -{ - ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name)); - if (r->in.domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.rid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_domain_name_0; - TALLOC_CTX *_mem_save_rid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->in.domain_name); - } else { - r->in.domain_name = NULL; - } - if (r->in.domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.rid); - ZERO_STRUCTP(r->out.rid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rid); - } - _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r) -{ - ndr_print_struct(ndr, name, "netr_LogonGetTrustRid"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - if (r->in.domain_name) { - ndr_print_string(ndr, "domain_name", r->in.domain_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid"); - ndr->depth++; - ndr_print_ptr(ndr, "rid", r->out.rid); - ndr->depth++; - ndr_print_uint32(ndr, "rid", *r->out.rid); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r) -{ - ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r) -{ - ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - if (r->in.negotiate_flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags)); - } - if (flags & NDR_OUT) { - if (r->out.return_credentials == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - if (r->out.negotiate_flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags)); - if (r->out.rid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credentials_0; - TALLOC_CTX *_mem_save_return_credentials_0; - TALLOC_CTX *_mem_save_negotiate_flags_0; - TALLOC_CTX *_mem_save_rid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credentials); - } - _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.negotiate_flags); - } - _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - ZERO_STRUCTP(r->out.return_credentials); - NDR_PULL_ALLOC(ndr, r->out.negotiate_flags); - *r->out.negotiate_flags = *r->in.negotiate_flags; - NDR_PULL_ALLOC(ndr, r->out.rid); - ZERO_STRUCTP(r->out.rid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_credentials); - } - _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.negotiate_flags); - } - _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rid); - } - _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r) -{ - ndr_print_struct(ndr, name, "netr_ServerAuthenticate3"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credentials", r->in.credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "credentials", r->in.credentials); - ndr->depth--; - ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags); - ndr->depth++; - ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3"); - ndr->depth++; - ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials); - ndr->depth++; - ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials); - ndr->depth--; - ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags); - ndr->depth++; - ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags); - ndr->depth--; - ndr_print_ptr(ndr, "rid", r->out.rid); - ndr->depth++; - ndr_print_uint32(ndr, "rid", *r->out.rid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name)); - if (r->in.domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid)); - if (r->in.domain_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name)); - if (r->in.site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_domain_name; - uint32_t _ptr_domain_guid; - uint32_t _ptr_site_name; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_domain_name_0; - TALLOC_CTX *_mem_save_domain_guid_0; - TALLOC_CTX *_mem_save_site_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->in.domain_name); - } else { - r->in.domain_name = NULL; - } - if (r->in.domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid)); - if (_ptr_domain_guid) { - NDR_PULL_ALLOC(ndr, r->in.domain_guid); - } else { - r->in.domain_guid = NULL; - } - if (r->in.domain_guid) { - _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name)); - if (_ptr_site_name) { - NDR_PULL_ALLOC(ndr, r->in.site_name); - } else { - r->in.site_name = NULL; - } - if (r->in.site_name) { - _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name)); - if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0); - } - NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r) -{ - ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - if (r->in.domain_name) { - ndr_print_string(ndr, "domain_name", r->in.domain_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid); - ndr->depth++; - if (r->in.domain_guid) { - ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_name", r->in.site_name); - ndr->depth++; - if (r->in.site_name) { - ndr_print_string(ndr, "site_name", r->in.site_name); - } - ndr->depth--; - ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.site == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site)); - if (*r->out.site) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r) -{ - uint32_t _ptr_computer_name; - uint32_t _ptr_site; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_site_0; - TALLOC_CTX *_mem_save_site_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.site); - ZERO_STRUCTP(r->out.site); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.site); - } - _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site)); - if (_ptr_site) { - NDR_PULL_ALLOC(ndr, *r->out.site); - } else { - *r->out.site = NULL; - } - if (*r->out.site) { - _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.site)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.site)); - if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.site), ndr_get_array_length(ndr, r->out.site)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r) -{ - ndr_print_struct(ndr, name, "netr_DsRGetSiteName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRGetSiteName"); - ndr->depth++; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRGetSiteName"); - ndr->depth++; - ndr_print_ptr(ndr, "site", r->out.site); - ndr->depth++; - ndr_print_ptr(ndr, "site", *r->out.site); - ndr->depth++; - if (*r->out.site) { - ndr_print_string(ndr, "site", *r->out.site); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.server_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.query == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level)); - NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r) -{ - uint32_t _ptr_computer_name; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_query_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.query); - } - _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level)); - NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - *r->out.return_authenticator = *r->in.return_authenticator; - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r) -{ - ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - ndr_print_string(ndr, "server_name", r->in.server_name); - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "query", r->in.query); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.query, r->in.level); - ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_netr_DomainInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - if (r->in.new_password == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_new_password_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.new_password); - } - _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - ZERO_STRUCTP(r->out.return_authenticator); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r) -{ - ndr_print_struct(ndr, name, "netr_ServerPasswordSet2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_ptr(ndr, "new_password", r->in.new_password); - ndr->depth++; - ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.password == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_password_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - ZERO_STRUCTP(r->out.return_authenticator); - NDR_PULL_ALLOC(ndr, r->out.password); - ZERO_STRUCTP(r->out.password); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.password); - } - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r) -{ - ndr_print_struct(ndr, name, "netr_ServerPasswordGet"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerPasswordGet"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerPasswordGet"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "password", r->out.password); - ndr->depth++; - ndr_print_samr_Password(ndr, "password", r->out.password); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r) -{ - ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r) -{ - uint32_t cntr_addresses_1; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - if (r->in.addresses == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count)); - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1])); - } - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1])); - } - } - if (flags & NDR_OUT) { - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr)); - if (*r->out.ctr) { - NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r) -{ - uint32_t _ptr_server_name; - uint32_t cntr_addresses_1; - uint32_t _ptr_ctr; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_addresses_1; - TALLOC_CTX *_mem_save_ctr_0; - TALLOC_CTX *_mem_save_ctr_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - if (r->in.count > 32000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses)); - } - _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0); - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1])); - } - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - if (r->in.addresses) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr)); - if (_ptr_ctr) { - NDR_PULL_ALLOC(ndr, *r->out.ctr); - } else { - *r->out.ctr = NULL; - } - if (*r->out.ctr) { - _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0); - NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r) -{ - uint32_t cntr_addresses_1; - ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "count", r->in.count); - ndr_print_ptr(ndr, "addresses", r->in.addresses); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count); - ndr->depth++; - for (cntr_addresses_1=0;cntr_addresses_1in.count;cntr_addresses_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) { - ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW"); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", *r->out.ctr); - ndr->depth++; - if (*r->out.ctr) { - ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account)); - if (r->in.client_account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client_account, ndr_charset_length(r->in.client_account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name)); - if (r->in.domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid)); - if (r->in.domain_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name)); - if (r->in.site_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.site_name, ndr_charset_length(r->in.site_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_client_account; - uint32_t _ptr_domain_name; - uint32_t _ptr_domain_guid; - uint32_t _ptr_site_name; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_client_account_0; - TALLOC_CTX *_mem_save_domain_name_0; - TALLOC_CTX *_mem_save_domain_guid_0; - TALLOC_CTX *_mem_save_site_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account)); - if (_ptr_client_account) { - NDR_PULL_ALLOC(ndr, r->in.client_account); - } else { - r->in.client_account = NULL; - } - if (r->in.client_account) { - _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account)); - if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client_account), ndr_get_array_length(ndr, &r->in.client_account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0); - } - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->in.domain_name); - } else { - r->in.domain_name = NULL; - } - if (r->in.domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid)); - if (_ptr_domain_guid) { - NDR_PULL_ALLOC(ndr, r->in.domain_guid); - } else { - r->in.domain_guid = NULL; - } - if (r->in.domain_guid) { - _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name)); - if (_ptr_site_name) { - NDR_PULL_ALLOC(ndr, r->in.site_name); - } else { - r->in.site_name = NULL; - } - if (r->in.site_name) { - _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name)); - if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0); - } - NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r) -{ - ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "client_account", r->in.client_account); - ndr->depth++; - if (r->in.client_account) { - ndr_print_string(ndr, "client_account", r->in.client_account); - } - ndr->depth--; - ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask); - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - if (r->in.domain_name) { - ndr_print_string(ndr, "domain_name", r->in.domain_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid); - ndr->depth++; - if (r->in.domain_guid) { - ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid); - } - ndr->depth--; - ndr_print_ptr(ndr, "site_name", r->in.site_name); - ndr->depth++; - if (r->in.site_name) { - ndr_print_string(ndr, "site_name", r->in.site_name); - } - ndr->depth--; - ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r) -{ - ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.dom_trust_list == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_dom_trust_list_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.dom_trust_list); - ZERO_STRUCTP(r->out.dom_trust_list); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.dom_trust_list); - } - _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r) -{ - ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx"); - ndr->depth++; - ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list); - ndr->depth++; - ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r) -{ - uint32_t cntr_addresses_1; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - if (r->in.addresses == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count)); - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1])); - } - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1])); - } - } - if (flags & NDR_OUT) { - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr)); - if (*r->out.ctr) { - NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r) -{ - uint32_t _ptr_server_name; - uint32_t cntr_addresses_1; - uint32_t _ptr_ctr; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_addresses_1; - TALLOC_CTX *_mem_save_ctr_0; - TALLOC_CTX *_mem_save_ctr_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - if (r->in.count > 32000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses)); - } - _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0); - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1])); - } - for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) { - NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - if (r->in.addresses) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr)); - if (_ptr_ctr) { - NDR_PULL_ALLOC(ndr, *r->out.ctr); - } else { - *r->out.ctr = NULL; - } - if (*r->out.ctr) { - _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0); - NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r) -{ - uint32_t cntr_addresses_1; - ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "count", r->in.count); - ndr_print_ptr(ndr, "addresses", r->in.addresses); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count); - ndr->depth++; - for (cntr_addresses_1=0;cntr_addresses_1in.count;cntr_addresses_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) { - ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW"); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", *r->out.ctr); - ndr->depth++; - if (*r->out.ctr) { - ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr)); - if (*r->out.ctr) { - NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_ctr; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_ctr_0; - TALLOC_CTX *_mem_save_ctr_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr)); - if (_ptr_ctr) { - NDR_PULL_ALLOC(ndr, *r->out.ctr); - } else { - *r->out.ctr = NULL; - } - if (*r->out.ctr) { - _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0); - NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r) -{ - ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW"); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", *r->out.ctr); - ndr->depth++; - if (*r->out.ctr) { - ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level)); - if (r->in.logon == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level)); - if (r->in.flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.validation == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level)); - NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation)); - if (r->out.authoritative == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative)); - if (r->out.flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_computer_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_logon_0; - TALLOC_CTX *_mem_save_validation_0; - TALLOC_CTX *_mem_save_authoritative_0; - TALLOC_CTX *_mem_save_flags_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.logon); - } - _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.flags); - } - _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.validation); - ZERO_STRUCTP(r->out.validation); - NDR_PULL_ALLOC(ndr, r->out.authoritative); - ZERO_STRUCTP(r->out.authoritative); - NDR_PULL_ALLOC(ndr, r->out.flags); - *r->out.flags = *r->in.flags; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.validation); - } - _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level)); - NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.authoritative); - } - _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.flags); - } - _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r) -{ - ndr_print_struct(ndr, name, "netr_LogonSamLogonEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level); - ndr_print_ptr(ndr, "logon", r->in.logon); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level); - ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon); - ndr->depth--; - ndr_print_uint16(ndr, "validation_level", r->in.validation_level); - ndr_print_ptr(ndr, "flags", r->in.flags); - ndr->depth++; - ndr_print_uint32(ndr, "flags", *r->in.flags); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx"); - ndr->depth++; - ndr_print_ptr(ndr, "validation", r->out.validation); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level); - ndr_print_netr_Validation(ndr, "validation", r->out.validation); - ndr->depth--; - ndr_print_ptr(ndr, "authoritative", r->out.authoritative); - ndr->depth++; - ndr_print_uint8(ndr, "authoritative", *r->out.authoritative); - ndr->depth--; - ndr_print_ptr(ndr, "flags", r->out.flags); - ndr->depth++; - ndr_print_uint32(ndr, "flags", *r->out.flags); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags)); - } - if (flags & NDR_OUT) { - if (r->out.trusts == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_trusts_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags)); - NDR_PULL_ALLOC(ndr, r->out.trusts); - ZERO_STRUCTP(r->out.trusts); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trusts); - } - _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r) -{ - ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts"); - ndr->depth++; - ndr_print_ptr(ndr, "trusts", r->out.trusts); - ndr->depth++; - ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain)); - if (r->in.domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid)); - if (r->in.domain_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid)); - if (r->in.dsa_guid) { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid)); - } - if (r->in.dns_host == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dns_host, ndr_charset_length(r->in.dns_host, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_domain; - uint32_t _ptr_domain_guid; - uint32_t _ptr_dsa_guid; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_domain_0; - TALLOC_CTX *_mem_save_domain_guid_0; - TALLOC_CTX *_mem_save_dsa_guid_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->in.domain); - } else { - r->in.domain = NULL; - } - if (r->in.domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain)); - if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid)); - if (_ptr_domain_guid) { - NDR_PULL_ALLOC(ndr, r->in.domain_guid); - } else { - r->in.domain_guid = NULL; - } - if (r->in.domain_guid) { - _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid)); - if (_ptr_dsa_guid) { - NDR_PULL_ALLOC(ndr, r->in.dsa_guid); - } else { - r->in.dsa_guid = NULL; - } - if (r->in.dsa_guid) { - _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host)); - if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_host), ndr_get_array_length(ndr, &r->in.dns_host)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r) -{ - ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain", r->in.domain); - ndr->depth++; - if (r->in.domain) { - ndr_print_string(ndr, "domain", r->in.domain); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid); - ndr->depth++; - if (r->in.domain_guid) { - ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid); - } - ndr->depth--; - ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid); - ndr->depth++; - if (r->in.dsa_guid) { - ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid); - } - ndr->depth--; - ndr_print_ptr(ndr, "dns_host", r->in.dns_host); - ndr->depth++; - ndr_print_string(ndr, "dns_host", r->in.dns_host); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.password == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password)); - if (r->out.password2 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_password_0; - TALLOC_CTX *_mem_save_password2_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - ZERO_STRUCTP(r->out.return_authenticator); - NDR_PULL_ALLOC(ndr, r->out.password); - ZERO_STRUCTP(r->out.password); - NDR_PULL_ALLOC(ndr, r->out.password2); - ZERO_STRUCTP(r->out.password2); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.password); - } - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.password2); - } - _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r) -{ - ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "password", r->out.password); - ndr->depth++; - ndr_print_samr_Password(ndr, "password", r->out.password); - ndr->depth--; - ndr_print_ptr(ndr, "password2", r->out.password2); - ndr->depth++; - ndr_print_samr_Password(ndr, "password2", r->out.password2); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name)); - if (r->in.trusted_domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.trusted_domain_name, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.forest_trust_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info)); - if (*r->out.forest_trust_info) { - NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_trusted_domain_name; - uint32_t _ptr_forest_trust_info; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_trusted_domain_name_0; - TALLOC_CTX *_mem_save_forest_trust_info_0; - TALLOC_CTX *_mem_save_forest_trust_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name)); - if (_ptr_trusted_domain_name) { - NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name); - } else { - r->in.trusted_domain_name = NULL; - } - if (r->in.trusted_domain_name) { - _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name)); - if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.forest_trust_info); - ZERO_STRUCTP(r->out.forest_trust_info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.forest_trust_info); - } - _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info)); - if (_ptr_forest_trust_info) { - NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info); - } else { - *r->out.forest_trust_info = NULL; - } - if (*r->out.forest_trust_info) { - _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0); - NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r) -{ - ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name); - ndr->depth++; - if (r->in.trusted_domain_name) { - ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info); - ndr->depth++; - ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info); - ndr->depth++; - if (*r->out.forest_trust_info) { - ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.forest_trust_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info)); - if (*r->out.forest_trust_info) { - NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_forest_trust_info; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_forest_trust_info_0; - TALLOC_CTX *_mem_save_forest_trust_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - ZERO_STRUCTP(r->out.return_authenticator); - NDR_PULL_ALLOC(ndr, r->out.forest_trust_info); - ZERO_STRUCTP(r->out.forest_trust_info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.forest_trust_info); - } - _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info)); - if (_ptr_forest_trust_info) { - NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info); - } else { - *r->out.forest_trust_info = NULL; - } - if (*r->out.forest_trust_info) { - _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0); - NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r) -{ - ndr_print_struct(ndr, name, "netr_GetForestTrustInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info); - ndr->depth++; - ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info); - ndr->depth++; - if (*r->out.forest_trust_info) { - ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); - if (r->in.computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential)); - if (r->in.credential) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator)); - if (r->in.return_authenticator) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - } - NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level)); - if (r->in.logon == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level)); - if (r->in.flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator)); - if (r->out.return_authenticator) { - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - } - if (r->out.validation == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level)); - NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation)); - if (r->out.authoritative == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative)); - if (r->out.flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_computer_name; - uint32_t _ptr_credential; - uint32_t _ptr_return_authenticator; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_logon_0; - TALLOC_CTX *_mem_save_validation_0; - TALLOC_CTX *_mem_save_authoritative_0; - TALLOC_CTX *_mem_save_flags_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->in.computer_name); - } else { - r->in.computer_name = NULL; - } - if (r->in.computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential)); - if (_ptr_credential) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } else { - r->in.credential = NULL; - } - if (r->in.credential) { - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator)); - if (_ptr_return_authenticator) { - NDR_PULL_ALLOC(ndr, r->in.return_authenticator); - } else { - r->in.return_authenticator = NULL; - } - if (r->in.return_authenticator) { - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); - } - NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.logon); - } - _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level)); - NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.flags); - } - _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.validation); - ZERO_STRUCTP(r->out.validation); - NDR_PULL_ALLOC(ndr, r->out.authoritative); - ZERO_STRUCTP(r->out.authoritative); - NDR_PULL_ALLOC(ndr, r->out.flags); - *r->out.flags = *r->in.flags; - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator)); - if (_ptr_return_authenticator) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } else { - r->out.return_authenticator = NULL; - } - if (r->out.return_authenticator) { - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.validation); - } - _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level)); - NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.authoritative); - } - _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.flags); - } - _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r) -{ - ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - if (r->in.computer_name) { - ndr_print_string(ndr, "computer_name", r->in.computer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - if (r->in.credential) { - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - } - ndr->depth--; - ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); - ndr->depth++; - if (r->in.return_authenticator) { - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); - } - ndr->depth--; - ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level); - ndr_print_ptr(ndr, "logon", r->in.logon); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level); - ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon); - ndr->depth--; - ndr_print_uint16(ndr, "validation_level", r->in.validation_level); - ndr_print_ptr(ndr, "flags", r->in.flags); - ndr->depth++; - ndr_print_uint32(ndr, "flags", *r->in.flags); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - if (r->out.return_authenticator) { - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - } - ndr->depth--; - ndr_print_ptr(ndr, "validation", r->out.validation); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level); - ndr_print_netr_Validation(ndr, "validation", r->out.validation); - ndr->depth--; - ndr_print_ptr(ndr, "authoritative", r->out.authoritative); - ndr->depth++; - ndr_print_uint8(ndr, "authoritative", *r->out.authoritative); - ndr->depth--; - ndr_print_ptr(ndr, "flags", r->out.flags); - ndr->depth++; - ndr_print_uint32(ndr, "flags", *r->out.flags); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_name, ndr_charset_length(r->in.account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type)); - if (r->in.computer_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.credential == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - } - if (flags & NDR_OUT) { - if (r->out.return_authenticator == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - if (r->out.new_owf_password == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password)); - if (r->out.old_owf_password == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password)); - if (r->out.trust_info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info)); - if (*r->out.trust_info) { - NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_trust_info; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_credential_0; - TALLOC_CTX *_mem_save_return_authenticator_0; - TALLOC_CTX *_mem_save_new_owf_password_0; - TALLOC_CTX *_mem_save_old_owf_password_0; - TALLOC_CTX *_mem_save_trust_info_0; - TALLOC_CTX *_mem_save_trust_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name)); - if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.credential); - } - _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - ZERO_STRUCTP(r->out.return_authenticator); - NDR_PULL_ALLOC(ndr, r->out.new_owf_password); - ZERO_STRUCTP(r->out.new_owf_password); - NDR_PULL_ALLOC(ndr, r->out.old_owf_password); - ZERO_STRUCTP(r->out.old_owf_password); - NDR_PULL_ALLOC(ndr, r->out.trust_info); - ZERO_STRUCTP(r->out.trust_info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.return_authenticator); - } - _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.new_owf_password); - } - _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.old_owf_password); - } - _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.trust_info); - } - _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info)); - if (_ptr_trust_info) { - NDR_PULL_ALLOC(ndr, *r->out.trust_info); - } else { - *r->out.trust_info = NULL; - } - if (*r->out.trust_info) { - _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0); - NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r) -{ - ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_string(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type); - ndr_print_ptr(ndr, "computer_name", r->in.computer_name); - ndr->depth++; - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - ndr_print_ptr(ndr, "credential", r->in.credential); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth++; - ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); - ndr->depth--; - ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password); - ndr->depth++; - ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password); - ndr->depth--; - ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password); - ndr->depth++; - ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password); - ndr->depth--; - ndr_print_ptr(ndr, "trust_info", r->out.trust_info); - ndr->depth++; - ndr_print_ptr(ndr, "trust_info", *r->out.trust_info); - ndr->depth++; - if (*r->out.trust_info) { - ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call netlogon_calls[] = { - { - "netr_LogonUasLogon", - sizeof(struct netr_LogonUasLogon), - (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon, - (ndr_print_function_t) ndr_print_netr_LogonUasLogon, - false, - }, - { - "netr_LogonUasLogoff", - sizeof(struct netr_LogonUasLogoff), - (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff, - (ndr_print_function_t) ndr_print_netr_LogonUasLogoff, - false, - }, - { - "netr_LogonSamLogon", - sizeof(struct netr_LogonSamLogon), - (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon, - (ndr_print_function_t) ndr_print_netr_LogonSamLogon, - false, - }, - { - "netr_LogonSamLogoff", - sizeof(struct netr_LogonSamLogoff), - (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff, - (ndr_print_function_t) ndr_print_netr_LogonSamLogoff, - false, - }, - { - "netr_ServerReqChallenge", - sizeof(struct netr_ServerReqChallenge), - (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge, - (ndr_print_function_t) ndr_print_netr_ServerReqChallenge, - false, - }, - { - "netr_ServerAuthenticate", - sizeof(struct netr_ServerAuthenticate), - (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate, - (ndr_print_function_t) ndr_print_netr_ServerAuthenticate, - false, - }, - { - "netr_ServerPasswordSet", - sizeof(struct netr_ServerPasswordSet), - (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet, - (ndr_print_function_t) ndr_print_netr_ServerPasswordSet, - false, - }, - { - "netr_DatabaseDeltas", - sizeof(struct netr_DatabaseDeltas), - (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas, - (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas, - (ndr_print_function_t) ndr_print_netr_DatabaseDeltas, - false, - }, - { - "netr_DatabaseSync", - sizeof(struct netr_DatabaseSync), - (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync, - (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync, - (ndr_print_function_t) ndr_print_netr_DatabaseSync, - false, - }, - { - "netr_AccountDeltas", - sizeof(struct netr_AccountDeltas), - (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas, - (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas, - (ndr_print_function_t) ndr_print_netr_AccountDeltas, - false, - }, - { - "netr_AccountSync", - sizeof(struct netr_AccountSync), - (ndr_push_flags_fn_t) ndr_push_netr_AccountSync, - (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync, - (ndr_print_function_t) ndr_print_netr_AccountSync, - false, - }, - { - "netr_GetDcName", - sizeof(struct netr_GetDcName), - (ndr_push_flags_fn_t) ndr_push_netr_GetDcName, - (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName, - (ndr_print_function_t) ndr_print_netr_GetDcName, - false, - }, - { - "netr_LogonControl", - sizeof(struct netr_LogonControl), - (ndr_push_flags_fn_t) ndr_push_netr_LogonControl, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl, - (ndr_print_function_t) ndr_print_netr_LogonControl, - false, - }, - { - "netr_GetAnyDCName", - sizeof(struct netr_GetAnyDCName), - (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName, - (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName, - (ndr_print_function_t) ndr_print_netr_GetAnyDCName, - false, - }, - { - "netr_LogonControl2", - sizeof(struct netr_LogonControl2), - (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2, - (ndr_print_function_t) ndr_print_netr_LogonControl2, - false, - }, - { - "netr_ServerAuthenticate2", - sizeof(struct netr_ServerAuthenticate2), - (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2, - (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2, - false, - }, - { - "netr_DatabaseSync2", - sizeof(struct netr_DatabaseSync2), - (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2, - (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2, - (ndr_print_function_t) ndr_print_netr_DatabaseSync2, - false, - }, - { - "netr_DatabaseRedo", - sizeof(struct netr_DatabaseRedo), - (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo, - (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo, - (ndr_print_function_t) ndr_print_netr_DatabaseRedo, - false, - }, - { - "netr_LogonControl2Ex", - sizeof(struct netr_LogonControl2Ex), - (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex, - (ndr_print_function_t) ndr_print_netr_LogonControl2Ex, - false, - }, - { - "netr_NetrEnumerateTrustedDomains", - sizeof(struct netr_NetrEnumerateTrustedDomains), - (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains, - (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains, - (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains, - false, - }, - { - "netr_DsRGetDCName", - sizeof(struct netr_DsRGetDCName), - (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName, - (ndr_print_function_t) ndr_print_netr_DsRGetDCName, - false, - }, - { - "netr_LogonGetCapabilities", - sizeof(struct netr_LogonGetCapabilities), - (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities, - (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities, - false, - }, - { - "netr_NETRLOGONSETSERVICEBITS", - sizeof(struct netr_NETRLOGONSETSERVICEBITS), - (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS, - (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS, - (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS, - false, - }, - { - "netr_LogonGetTrustRid", - sizeof(struct netr_LogonGetTrustRid), - (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid, - (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid, - false, - }, - { - "netr_NETRLOGONCOMPUTESERVERDIGEST", - sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST), - (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST, - (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST, - (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST, - false, - }, - { - "netr_NETRLOGONCOMPUTECLIENTDIGEST", - sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST), - (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST, - (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST, - (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST, - false, - }, - { - "netr_ServerAuthenticate3", - sizeof(struct netr_ServerAuthenticate3), - (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3, - (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3, - false, - }, - { - "netr_DsRGetDCNameEx", - sizeof(struct netr_DsRGetDCNameEx), - (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx, - (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx, - false, - }, - { - "netr_DsRGetSiteName", - sizeof(struct netr_DsRGetSiteName), - (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName, - (ndr_print_function_t) ndr_print_netr_DsRGetSiteName, - false, - }, - { - "netr_LogonGetDomainInfo", - sizeof(struct netr_LogonGetDomainInfo), - (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo, - (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo, - false, - }, - { - "netr_ServerPasswordSet2", - sizeof(struct netr_ServerPasswordSet2), - (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2, - (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2, - false, - }, - { - "netr_ServerPasswordGet", - sizeof(struct netr_ServerPasswordGet), - (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet, - (ndr_print_function_t) ndr_print_netr_ServerPasswordGet, - false, - }, - { - "netr_NETRLOGONSENDTOSAM", - sizeof(struct netr_NETRLOGONSENDTOSAM), - (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM, - (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM, - (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM, - false, - }, - { - "netr_DsRAddressToSitenamesW", - sizeof(struct netr_DsRAddressToSitenamesW), - (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW, - (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW, - false, - }, - { - "netr_DsRGetDCNameEx2", - sizeof(struct netr_DsRGetDCNameEx2), - (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2, - (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2, - false, - }, - { - "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN", - sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN), - (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, - (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, - (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, - false, - }, - { - "netr_NetrEnumerateTrustedDomainsEx", - sizeof(struct netr_NetrEnumerateTrustedDomainsEx), - (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx, - (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx, - (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx, - false, - }, - { - "netr_DsRAddressToSitenamesExW", - sizeof(struct netr_DsRAddressToSitenamesExW), - (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW, - (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW, - false, - }, - { - "netr_DsrGetDcSiteCoverageW", - sizeof(struct netr_DsrGetDcSiteCoverageW), - (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW, - (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW, - false, - }, - { - "netr_LogonSamLogonEx", - sizeof(struct netr_LogonSamLogonEx), - (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx, - (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx, - false, - }, - { - "netr_DsrEnumerateDomainTrusts", - sizeof(struct netr_DsrEnumerateDomainTrusts), - (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts, - (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts, - false, - }, - { - "netr_DsrDeregisterDNSHostRecords", - sizeof(struct netr_DsrDeregisterDNSHostRecords), - (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords, - (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords, - false, - }, - { - "netr_ServerTrustPasswordsGet", - sizeof(struct netr_ServerTrustPasswordsGet), - (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet, - (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet, - false, - }, - { - "netr_DsRGetForestTrustInformation", - sizeof(struct netr_DsRGetForestTrustInformation), - (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation, - (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation, - (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation, - false, - }, - { - "netr_GetForestTrustInformation", - sizeof(struct netr_GetForestTrustInformation), - (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation, - (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation, - (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation, - false, - }, - { - "netr_LogonSamLogonWithFlags", - sizeof(struct netr_LogonSamLogonWithFlags), - (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags, - (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags, - (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags, - false, - }, - { - "netr_ServerGetTrustInfo", - sizeof(struct netr_ServerGetTrustInfo), - (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo, - (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo, - (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const netlogon_endpoint_strings[] = { - "ncacn_np:[\\pipe\\netlogon]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array netlogon_endpoints = { - .count = 3, - .names = netlogon_endpoint_strings -}; - -static const char * const netlogon_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array netlogon_authservices = { - .count = 1, - .names = netlogon_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_netlogon = { - .name = "netlogon", - .syntax_id = { - {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}}, - NDR_NETLOGON_VERSION - }, - .helpstring = NDR_NETLOGON_HELPSTRING, - .num_calls = 47, - .calls = netlogon_calls, - .endpoints = &netlogon_endpoints, - .authservices = &netlogon_authservices -}; - diff --git a/librpc/gen_ndr/ndr_netlogon.h b/librpc/gen_ndr/ndr_netlogon.h deleted file mode 100644 index 7b6f9a1c546..00000000000 --- a/librpc/gen_ndr/ndr_netlogon.h +++ /dev/null @@ -1,291 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/netlogon.h" - -#ifndef _HEADER_NDR_netlogon -#define _HEADER_NDR_netlogon - -#include "../librpc/ndr/ndr_netlogon.h" -#define NDR_NETLOGON_UUID "12345678-1234-abcd-ef00-01234567cffb" -#define NDR_NETLOGON_VERSION 1.0 -#define NDR_NETLOGON_NAME "netlogon" -#define NDR_NETLOGON_HELPSTRING NULL -extern const struct ndr_interface_table ndr_table_netlogon; -#define NDR_NETR_LOGONUASLOGON (0x00) - -#define NDR_NETR_LOGONUASLOGOFF (0x01) - -#define NDR_NETR_LOGONSAMLOGON (0x02) - -#define NDR_NETR_LOGONSAMLOGOFF (0x03) - -#define NDR_NETR_SERVERREQCHALLENGE (0x04) - -#define NDR_NETR_SERVERAUTHENTICATE (0x05) - -#define NDR_NETR_SERVERPASSWORDSET (0x06) - -#define NDR_NETR_DATABASEDELTAS (0x07) - -#define NDR_NETR_DATABASESYNC (0x08) - -#define NDR_NETR_ACCOUNTDELTAS (0x09) - -#define NDR_NETR_ACCOUNTSYNC (0x0a) - -#define NDR_NETR_GETDCNAME (0x0b) - -#define NDR_NETR_LOGONCONTROL (0x0c) - -#define NDR_NETR_GETANYDCNAME (0x0d) - -#define NDR_NETR_LOGONCONTROL2 (0x0e) - -#define NDR_NETR_SERVERAUTHENTICATE2 (0x0f) - -#define NDR_NETR_DATABASESYNC2 (0x10) - -#define NDR_NETR_DATABASEREDO (0x11) - -#define NDR_NETR_LOGONCONTROL2EX (0x12) - -#define NDR_NETR_NETRENUMERATETRUSTEDDOMAINS (0x13) - -#define NDR_NETR_DSRGETDCNAME (0x14) - -#define NDR_NETR_LOGONGETCAPABILITIES (0x15) - -#define NDR_NETR_NETRLOGONSETSERVICEBITS (0x16) - -#define NDR_NETR_LOGONGETTRUSTRID (0x17) - -#define NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST (0x18) - -#define NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST (0x19) - -#define NDR_NETR_SERVERAUTHENTICATE3 (0x1a) - -#define NDR_NETR_DSRGETDCNAMEEX (0x1b) - -#define NDR_NETR_DSRGETSITENAME (0x1c) - -#define NDR_NETR_LOGONGETDOMAININFO (0x1d) - -#define NDR_NETR_SERVERPASSWORDSET2 (0x1e) - -#define NDR_NETR_SERVERPASSWORDGET (0x1f) - -#define NDR_NETR_NETRLOGONSENDTOSAM (0x20) - -#define NDR_NETR_DSRADDRESSTOSITENAMESW (0x21) - -#define NDR_NETR_DSRGETDCNAMEEX2 (0x22) - -#define NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN (0x23) - -#define NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX (0x24) - -#define NDR_NETR_DSRADDRESSTOSITENAMESEXW (0x25) - -#define NDR_NETR_DSRGETDCSITECOVERAGEW (0x26) - -#define NDR_NETR_LOGONSAMLOGONEX (0x27) - -#define NDR_NETR_DSRENUMERATEDOMAINTRUSTS (0x28) - -#define NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS (0x29) - -#define NDR_NETR_SERVERTRUSTPASSWORDSGET (0x2a) - -#define NDR_NETR_DSRGETFORESTTRUSTINFORMATION (0x2b) - -#define NDR_NETR_GETFORESTTRUSTINFORMATION (0x2c) - -#define NDR_NETR_LOGONSAMLOGONWITHFLAGS (0x2d) - -#define NDR_NETR_SERVERGETTRUSTINFO (0x2e) - -#define NDR_NETLOGON_CALL_COUNT (47) -void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r); -void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r); -enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r); -enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r); -void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r); -enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r); -void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r); -void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r); -void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r); -void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r); -void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r); -enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r); -enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r); -void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r); -enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r); -enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r); -void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r); -enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r); -enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r); -void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r); -enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r); -void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r); -void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r); -enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r); -enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r); -void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r); -void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r); -void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r); -void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r); -enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r); -enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r); -void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r); -enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r); -enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r); -void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r); -enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r); -enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r); -void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r); -void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r); -void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r); -void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r); -void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r); -void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r); -enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r); -enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r); -void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r); -void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r); -void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r); -void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r); -void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r); -void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r); -void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r); -void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r); -void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r); -void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r); -void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r); -void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r); -void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r); -void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r); -void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r); -void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r); -void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r); -void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r); -void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r); -void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r); -void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r); -void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r); -void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r); -void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r); -void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r); -void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r); -void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r); -void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r); -void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r); -void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r); -void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r); -void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r); -enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r); -void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r); -void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r); -enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r); -enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r); -void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r); -size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r); -void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r); -void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r); -enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r); -void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r); -void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r); -void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r); -void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r); -void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r); -void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r); -void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r); -void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r); -void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r); -void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r); -void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r); -void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r); -void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r); -enum ndr_err_code ndr_push_netr_SupportedEncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_netr_SupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_netr_SupportedEncTypes(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r); -void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r); -void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r); -void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r); -void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r); -void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r); -void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r); -void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r); -void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r); -void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r); -void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r); -void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r); -void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r); -void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r); -void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r); -enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r); -enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r); -void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r); -void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r); -void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r); -void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r); -void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r); -void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r); -void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r); -void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r); -void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r); -void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r); -void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r); -void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r); -void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r); -void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r); -void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r); -void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r); -void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r); -void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r); -void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r); -void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r); -void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r); -void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r); -enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r); -enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r); -void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r); -void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r); -void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r); -void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r); -void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r); -void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r); -void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r); -void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r); -void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r); -void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r); -void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r); -void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r); -void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r); -void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r); -void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r); -void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r); -void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r); -void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r); -void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r); -void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r); -void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r); -#endif /* _HEADER_NDR_netlogon */ diff --git a/librpc/gen_ndr/ndr_ntlmssp.c b/librpc/gen_ndr/ndr_ntlmssp.c deleted file mode 100644 index 1e59bcd0946..00000000000 --- a/librpc/gen_ndr/ndr_ntlmssp.c +++ /dev/null @@ -1,2386 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_ntlmssp.h" - -static enum ndr_err_code ndr_push_ntlmssp_MessageType(struct ndr_push *ndr, int ndr_flags, enum ntlmssp_MessageType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_MessageType(struct ndr_pull *ndr, int ndr_flags, enum ntlmssp_MessageType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_MessageType(struct ndr_print *ndr, const char *name, enum ntlmssp_MessageType r) -{ - const char *val = NULL; - - switch (r) { - case NtLmNegotiate: val = "NtLmNegotiate"; break; - case NtLmChallenge: val = "NtLmChallenge"; break; - case NtLmAuthenticate: val = "NtLmAuthenticate"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_NEGOTIATE(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NEGOTIATE(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NEGOTIATE(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_UNICODE", NTLMSSP_NEGOTIATE_UNICODE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_OEM", NTLMSSP_NEGOTIATE_OEM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_REQUEST_TARGET", NTLMSSP_REQUEST_TARGET, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_SIGN", NTLMSSP_NEGOTIATE_SIGN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_SEAL", NTLMSSP_NEGOTIATE_SEAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_DATAGRAM", NTLMSSP_NEGOTIATE_DATAGRAM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_LM_KEY", NTLMSSP_NEGOTIATE_LM_KEY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_NETWARE", NTLMSSP_NEGOTIATE_NETWARE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_NTLM", NTLMSSP_NEGOTIATE_NTLM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_NT_ONLY", NTLMSSP_NEGOTIATE_NT_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_ANONYMOUS", NTLMSSP_ANONYMOUS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED", NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED", NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL", NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_ALWAYS_SIGN", NTLMSSP_NEGOTIATE_ALWAYS_SIGN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_TARGET_TYPE_DOMAIN", NTLMSSP_TARGET_TYPE_DOMAIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_TARGET_TYPE_SERVER", NTLMSSP_TARGET_TYPE_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_TARGET_TYPE_SHARE", NTLMSSP_TARGET_TYPE_SHARE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY", NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_IDENTIFY", NTLMSSP_NEGOTIATE_IDENTIFY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_REQUEST_NON_NT_SESSION_KEY", NTLMSSP_REQUEST_NON_NT_SESSION_KEY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_TARGET_INFO", NTLMSSP_NEGOTIATE_TARGET_INFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_VERSION", NTLMSSP_NEGOTIATE_VERSION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_128", NTLMSSP_NEGOTIATE_128, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_KEY_EXCH", NTLMSSP_NEGOTIATE_KEY_EXCH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_NEGOTIATE_56", NTLMSSP_NEGOTIATE_56, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ntlmssp_WindowsMajorVersion(struct ndr_push *ndr, int ndr_flags, enum ntlmssp_WindowsMajorVersion r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_WindowsMajorVersion(struct ndr_pull *ndr, int ndr_flags, enum ntlmssp_WindowsMajorVersion *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_WindowsMajorVersion(struct ndr_print *ndr, const char *name, enum ntlmssp_WindowsMajorVersion r) -{ - const char *val = NULL; - - switch (r) { - case NTLMSSP_WINDOWS_MAJOR_VERSION_5: val = "NTLMSSP_WINDOWS_MAJOR_VERSION_5"; break; - case NTLMSSP_WINDOWS_MAJOR_VERSION_6: val = "NTLMSSP_WINDOWS_MAJOR_VERSION_6"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_ntlmssp_WindowsMinorVersion(struct ndr_push *ndr, int ndr_flags, enum ntlmssp_WindowsMinorVersion r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_WindowsMinorVersion(struct ndr_pull *ndr, int ndr_flags, enum ntlmssp_WindowsMinorVersion *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_WindowsMinorVersion(struct ndr_print *ndr, const char *name, enum ntlmssp_WindowsMinorVersion r) -{ - const char *val = NULL; - - switch (r) { - case NTLMSSP_WINDOWS_MINOR_VERSION_0: val = "NTLMSSP_WINDOWS_MINOR_VERSION_0"; break; - case NTLMSSP_WINDOWS_MINOR_VERSION_1: val = "NTLMSSP_WINDOWS_MINOR_VERSION_1"; break; - case NTLMSSP_WINDOWS_MINOR_VERSION_2: val = "NTLMSSP_WINDOWS_MINOR_VERSION_2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_ntlmssp_NTLMRevisionCurrent(struct ndr_push *ndr, int ndr_flags, enum ntlmssp_NTLMRevisionCurrent r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_NTLMRevisionCurrent(struct ndr_pull *ndr, int ndr_flags, enum ntlmssp_NTLMRevisionCurrent *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_NTLMRevisionCurrent(struct ndr_print *ndr, const char *name, enum ntlmssp_NTLMRevisionCurrent r) -{ - const char *val = NULL; - - switch (r) { - case NTLMSSP_REVISION_W2K3_RC1: val = "NTLMSSP_REVISION_W2K3_RC1"; break; - case NTLMSSP_REVISION_W2K3: val = "NTLMSSP_REVISION_W2K3"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_VERSION(struct ndr_push *ndr, int ndr_flags, const struct VERSION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_ntlmssp_WindowsMajorVersion(ndr, NDR_SCALARS, r->ProductMajorVersion)); - NDR_CHECK(ndr_push_ntlmssp_WindowsMinorVersion(ndr, NDR_SCALARS, r->ProductMinorVersion)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ProductBuild)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Reserved, 3)); - NDR_CHECK(ndr_push_ntlmssp_NTLMRevisionCurrent(ndr, NDR_SCALARS, r->NTLMRevisionCurrent)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_VERSION(struct ndr_pull *ndr, int ndr_flags, struct VERSION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_ntlmssp_WindowsMajorVersion(ndr, NDR_SCALARS, &r->ProductMajorVersion)); - NDR_CHECK(ndr_pull_ntlmssp_WindowsMinorVersion(ndr, NDR_SCALARS, &r->ProductMinorVersion)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ProductBuild)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Reserved, 3)); - NDR_CHECK(ndr_pull_ntlmssp_NTLMRevisionCurrent(ndr, NDR_SCALARS, &r->NTLMRevisionCurrent)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_VERSION(struct ndr_print *ndr, const char *name, const struct VERSION *r) -{ - ndr_print_struct(ndr, name, "VERSION"); - ndr->depth++; - ndr_print_ntlmssp_WindowsMajorVersion(ndr, "ProductMajorVersion", r->ProductMajorVersion); - ndr_print_ntlmssp_WindowsMinorVersion(ndr, "ProductMinorVersion", r->ProductMinorVersion); - ndr_print_uint16(ndr, "ProductBuild", r->ProductBuild); - ndr_print_array_uint8(ndr, "Reserved", r->Reserved, 3); - ndr_print_ntlmssp_NTLMRevisionCurrent(ndr, "NTLMRevisionCurrent", r->NTLMRevisionCurrent); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ntlmssp_Version(struct ndr_push *ndr, int ndr_flags, const union ntlmssp_Version *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 2)); - switch (level) { - case NTLMSSP_NEGOTIATE_VERSION: { - NDR_CHECK(ndr_push_VERSION(ndr, NDR_SCALARS, &r->version)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NTLMSSP_NEGOTIATE_VERSION: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_Version(struct ndr_pull *ndr, int ndr_flags, union ntlmssp_Version *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 2)); - switch (level) { - case NTLMSSP_NEGOTIATE_VERSION: { - NDR_CHECK(ndr_pull_VERSION(ndr, NDR_SCALARS, &r->version)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NTLMSSP_NEGOTIATE_VERSION: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct NEGOTIATE_MESSAGE *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "NTLMSSP", 8, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_ntlmssp_MessageType(ndr, NDR_SCALARS, NtLmNegotiate)); - NDR_CHECK(ndr_push_NEGOTIATE(ndr, NDR_SCALARS, r->NegotiateFlags)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->DomainName))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->DomainName))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->DomainName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->Workstation))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->Workstation))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->Workstation)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)); - NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - if (r->DomainName) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->DomainName)); - { - struct ndr_push *_ndr_DomainName; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_DomainName, 0, strlen(r->DomainName))); - NDR_CHECK(ndr_push_string(_ndr_DomainName, NDR_SCALARS, r->DomainName)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_DomainName, 0, strlen(r->DomainName))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->DomainName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - if (r->Workstation) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->Workstation)); - { - struct ndr_push *_ndr_Workstation; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Workstation, 0, strlen(r->Workstation))); - NDR_CHECK(ndr_push_string(_ndr_Workstation, NDR_SCALARS, r->Workstation)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Workstation, 0, strlen(r->Workstation))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->Workstation)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NEGOTIATE_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct NEGOTIATE_MESSAGE *r) -{ - uint32_t _ptr_DomainName; - TALLOC_CTX *_mem_save_DomainName_0; - uint32_t _ptr_Workstation; - TALLOC_CTX *_mem_save_Workstation_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Signature, 8, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_ntlmssp_MessageType(ndr, NDR_SCALARS, &r->MessageType)); - NDR_CHECK(ndr_pull_NEGOTIATE(ndr, NDR_SCALARS, &r->NegotiateFlags)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DomainNameLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DomainNameMaxLen)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DomainName)); - if (_ptr_DomainName) { - NDR_PULL_ALLOC(ndr, r->DomainName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DomainName, _ptr_DomainName)); - } else { - r->DomainName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->WorkstationLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->WorkstationMaxLen)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Workstation)); - if (_ptr_Workstation) { - NDR_PULL_ALLOC(ndr, r->Workstation); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Workstation, _ptr_Workstation)); - } else { - r->Workstation = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)); - NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - if (r->DomainName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DomainName)); - _mem_save_DomainName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DomainName, 0); - { - struct ndr_pull *_ndr_DomainName; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_DomainName, 0, r->DomainNameLen)); - NDR_CHECK(ndr_pull_string(_ndr_DomainName, NDR_SCALARS, &r->DomainName)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_DomainName, 0, r->DomainNameLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DomainName_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM)); - if (r->Workstation) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Workstation)); - _mem_save_Workstation_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->Workstation, 0); - { - struct ndr_pull *_ndr_Workstation; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_Workstation, 0, r->WorkstationLen)); - NDR_CHECK(ndr_pull_string(_ndr_Workstation, NDR_SCALARS, &r->Workstation)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_Workstation, 0, r->WorkstationLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Workstation_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NEGOTIATE_MESSAGE(struct ndr_print *ndr, const char *name, const struct NEGOTIATE_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "NEGOTIATE_MESSAGE"); - ndr->depth++; - ndr_print_string(ndr, "Signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"NTLMSSP":r->Signature); - ndr_print_ntlmssp_MessageType(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NtLmNegotiate:r->MessageType); - ndr_print_NEGOTIATE(ndr, "NegotiateFlags", r->NegotiateFlags); - ndr_print_uint16(ndr, "DomainNameLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->DomainName):r->DomainNameLen); - ndr_print_uint16(ndr, "DomainNameMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->DomainNameLen:r->DomainNameMaxLen); - ndr_print_ptr(ndr, "DomainName", r->DomainName); - ndr->depth++; - if (r->DomainName) { - ndr_print_string(ndr, "DomainName", r->DomainName); - } - ndr->depth--; - ndr_print_uint16(ndr, "WorkstationLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->Workstation):r->WorkstationLen); - ndr_print_uint16(ndr, "WorkstationMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->WorkstationLen:r->WorkstationMaxLen); - ndr_print_ptr(ndr, "Workstation", r->Workstation); - ndr->depth++; - if (r->Workstation) { - ndr_print_string(ndr, "Workstation", r->Workstation); - } - ndr->depth--; - ndr_print_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION); - ndr_print_ntlmssp_Version(ndr, "Version", &r->Version); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ntlmssp_AvId(struct ndr_push *ndr, int ndr_flags, enum ntlmssp_AvId r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_AvId(struct ndr_pull *ndr, int ndr_flags, enum ntlmssp_AvId *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_AvId(struct ndr_print *ndr, const char *name, enum ntlmssp_AvId r) -{ - const char *val = NULL; - - switch (r) { - case MsvAvEOL: val = "MsvAvEOL"; break; - case MsvAvNbComputerName: val = "MsvAvNbComputerName"; break; - case MsvAvNbDomainName: val = "MsvAvNbDomainName"; break; - case MsvAvDnsComputerName: val = "MsvAvDnsComputerName"; break; - case MsvAvDnsDomainName: val = "MsvAvDnsDomainName"; break; - case MsvAvDnsTreeName: val = "MsvAvDnsTreeName"; break; - case MsvAvFlags: val = "MsvAvFlags"; break; - case MsvAvTimestamp: val = "MsvAvTimestamp"; break; - case MsAvRestrictions: val = "MsAvRestrictions"; break; - case MsvAvTargetName: val = "MsvAvTargetName"; break; - case MsvChannelBindings: val = "MsvChannelBindings"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_Restriction_Encoding(struct ndr_push *ndr, int ndr_flags, const struct Restriction_Encoding *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->IntegrityLevel)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SubjectIntegrityLevel)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_Restriction_Encoding(struct ndr_pull *ndr, int ndr_flags, struct Restriction_Encoding *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Z4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->IntegrityLevel)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SubjectIntegrityLevel)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->MachineId, 32)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_Restriction_Encoding(struct ndr_print *ndr, const char *name, const struct Restriction_Encoding *r) -{ - ndr_print_struct(ndr, name, "Restriction_Encoding"); - ndr->depth++; - ndr_print_uint32(ndr, "Size", r->Size); - ndr_print_uint32(ndr, "Z4", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->Z4); - ndr_print_uint32(ndr, "IntegrityLevel", r->IntegrityLevel); - ndr_print_uint32(ndr, "SubjectIntegrityLevel", r->SubjectIntegrityLevel); - ndr_print_array_uint8(ndr, "MachineId", r->MachineId, 32); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ntlmssp_AvFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_AvFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_AvFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_AVFLAG_CONSTRAINTED_ACCOUNT", NTLMSSP_AVFLAG_CONSTRAINTED_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NTLMSSP_AVFLAG_MIC_IN_AUTHENTICATE_MESSAGE", NTLMSSP_AVFLAG_MIC_IN_AUTHENTICATE_MESSAGE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_ntlmssp_AvValue(struct ndr_push *ndr, int ndr_flags, const union ntlmssp_AvValue *r) -{ - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case MsvAvEOL: { - break; } - - case MsvAvNbComputerName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->AvNbComputerName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvNbDomainName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->AvNbDomainName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvDnsComputerName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->AvDnsComputerName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvDnsDomainName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->AvDnsDomainName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvDnsTreeName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->AvDnsTreeName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvFlags: { - NDR_CHECK(ndr_push_ntlmssp_AvFlags(ndr, NDR_SCALARS, r->AvFlags)); - break; } - - case MsvAvTimestamp: { - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->AvTimestamp)); - break; } - - case MsAvRestrictions: { - NDR_CHECK(ndr_push_Restriction_Encoding(ndr, NDR_SCALARS, &r->AvRestrictions)); - break; } - - case MsvAvTargetName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->AvTargetName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvChannelBindings: { - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->ChannelBindings, 16)); - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case MsvAvEOL: - break; - - case MsvAvNbComputerName: - break; - - case MsvAvNbDomainName: - break; - - case MsvAvDnsComputerName: - break; - - case MsvAvDnsDomainName: - break; - - case MsvAvDnsTreeName: - break; - - case MsvAvFlags: - break; - - case MsvAvTimestamp: - break; - - case MsAvRestrictions: - break; - - case MsvAvTargetName: - break; - - case MsvChannelBindings: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_AvValue(struct ndr_pull *ndr, int ndr_flags, union ntlmssp_AvValue *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case MsvAvEOL: { - break; } - - case MsvAvNbComputerName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->AvNbComputerName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvNbDomainName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->AvNbDomainName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvDnsComputerName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->AvDnsComputerName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvDnsDomainName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->AvDnsDomainName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvDnsTreeName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->AvDnsTreeName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvAvFlags: { - NDR_CHECK(ndr_pull_ntlmssp_AvFlags(ndr, NDR_SCALARS, &r->AvFlags)); - break; } - - case MsvAvTimestamp: { - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->AvTimestamp)); - break; } - - case MsAvRestrictions: { - NDR_CHECK(ndr_pull_Restriction_Encoding(ndr, NDR_SCALARS, &r->AvRestrictions)); - break; } - - case MsvAvTargetName: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->AvTargetName)); - ndr->flags = _flags_save_string; - } - break; } - - case MsvChannelBindings: { - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->ChannelBindings, 16)); - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case MsvAvEOL: - break; - - case MsvAvNbComputerName: - break; - - case MsvAvNbDomainName: - break; - - case MsvAvDnsComputerName: - break; - - case MsvAvDnsDomainName: - break; - - case MsvAvDnsTreeName: - break; - - case MsvAvFlags: - break; - - case MsvAvTimestamp: - break; - - case MsAvRestrictions: - break; - - case MsvAvTargetName: - break; - - case MsvChannelBindings: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_AvValue(struct ndr_print *ndr, const char *name, const union ntlmssp_AvValue *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ntlmssp_AvValue"); - switch (level) { - case MsvAvEOL: - break; - - case MsvAvNbComputerName: - ndr_print_string(ndr, "AvNbComputerName", r->AvNbComputerName); - break; - - case MsvAvNbDomainName: - ndr_print_string(ndr, "AvNbDomainName", r->AvNbDomainName); - break; - - case MsvAvDnsComputerName: - ndr_print_string(ndr, "AvDnsComputerName", r->AvDnsComputerName); - break; - - case MsvAvDnsDomainName: - ndr_print_string(ndr, "AvDnsDomainName", r->AvDnsDomainName); - break; - - case MsvAvDnsTreeName: - ndr_print_string(ndr, "AvDnsTreeName", r->AvDnsTreeName); - break; - - case MsvAvFlags: - ndr_print_ntlmssp_AvFlags(ndr, "AvFlags", r->AvFlags); - break; - - case MsvAvTimestamp: - ndr_print_NTTIME(ndr, "AvTimestamp", r->AvTimestamp); - break; - - case MsAvRestrictions: - ndr_print_Restriction_Encoding(ndr, "AvRestrictions", &r->AvRestrictions); - break; - - case MsvAvTargetName: - ndr_print_string(ndr, "AvTargetName", r->AvTargetName); - break; - - case MsvChannelBindings: - ndr_print_array_uint8(ndr, "ChannelBindings", r->ChannelBindings, 16); - break; - - default: - ndr_print_DATA_BLOB(ndr, "blob", r->blob); - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -static size_t ndr_size_ntlmssp_AvValue(const union ntlmssp_AvValue *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_NOALIGN; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_ntlmssp_AvValue, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_AV_PAIR(struct ndr_push *ndr, int ndr_flags, const struct AV_PAIR *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_ntlmssp_AvId(ndr, NDR_SCALARS, r->AvId)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_ntlmssp_AvValue(&r->Value, r->AvId, ndr->iconv_convenience, 0))); - { - struct ndr_push *_ndr_Value; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Value, 0, ndr_size_ntlmssp_AvValue(&r->Value, r->AvId, ndr->iconv_convenience, 0))); - NDR_CHECK(ndr_push_set_switch_value(_ndr_Value, &r->Value, r->AvId)); - NDR_CHECK(ndr_push_ntlmssp_AvValue(_ndr_Value, NDR_SCALARS|NDR_BUFFERS, &r->Value)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Value, 0, ndr_size_ntlmssp_AvValue(&r->Value, r->AvId, ndr->iconv_convenience, 0))); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_AV_PAIR(struct ndr_pull *ndr, int ndr_flags, struct AV_PAIR *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_ntlmssp_AvId(ndr, NDR_SCALARS, &r->AvId)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->AvLen)); - { - struct ndr_pull *_ndr_Value; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_Value, 0, r->AvLen)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_Value, &r->Value, r->AvId)); - NDR_CHECK(ndr_pull_ntlmssp_AvValue(_ndr_Value, NDR_SCALARS|NDR_BUFFERS, &r->Value)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_Value, 0, r->AvLen)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AV_PAIR(struct ndr_print *ndr, const char *name, const struct AV_PAIR *r) -{ - ndr_print_struct(ndr, name, "AV_PAIR"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_ntlmssp_AvId(ndr, "AvId", r->AvId); - ndr_print_uint16(ndr, "AvLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_ntlmssp_AvValue(&r->Value, r->AvId, ndr->iconv_convenience, 0):r->AvLen); - ndr_print_set_switch_value(ndr, &r->Value, r->AvId); - ndr_print_ntlmssp_AvValue(ndr, "Value", &r->Value); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ void ndr_print_AV_PAIR_LIST(struct ndr_print *ndr, const char *name, const struct AV_PAIR_LIST *r) -{ - uint32_t cntr_pair_0; - ndr_print_struct(ndr, name, "AV_PAIR_LIST"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "pair", (int)r->count); - ndr->depth++; - for (cntr_pair_0=0;cntr_pair_0count;cntr_pair_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_pair_0) != -1) { - ndr_print_AV_PAIR(ndr, "pair", &r->pair[cntr_pair_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static size_t ndr_size_AV_PAIR_LIST(const struct AV_PAIR_LIST *r, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_NOALIGN; - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_AV_PAIR_LIST, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_CHALLENGE_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct CHALLENGE_MESSAGE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "NTLMSSP", 8, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_ntlmssp_MessageType(ndr, NDR_SCALARS, NtLmChallenge)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->TargetName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_NEGOTIATE(ndr, NDR_SCALARS, r->NegotiateFlags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->ServerChallenge, 8)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Reserved, 8)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->TargetInfo)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)); - NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->TargetName) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->TargetName)); - { - struct ndr_push *_ndr_TargetName; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_TargetName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName))); - NDR_CHECK(ndr_push_string(_ndr_TargetName, NDR_SCALARS, r->TargetName)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_TargetName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->TargetName)); - } - ndr->flags = _flags_save_string; - } - if (r->TargetInfo) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->TargetInfo)); - { - struct ndr_push *_ndr_TargetInfo; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_TargetInfo, 0, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_AV_PAIR_LIST(_ndr_TargetInfo, NDR_SCALARS|NDR_BUFFERS, r->TargetInfo)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_TargetInfo, 0, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->TargetInfo)); - } - NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_CHALLENGE_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct CHALLENGE_MESSAGE *r) -{ - uint32_t _ptr_TargetName; - TALLOC_CTX *_mem_save_TargetName_0; - uint32_t _ptr_TargetInfo; - TALLOC_CTX *_mem_save_TargetInfo_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Signature, 8, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_ntlmssp_MessageType(ndr, NDR_SCALARS, &r->MessageType)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->TargetNameLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->TargetNameMaxLen)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_TargetName)); - if (_ptr_TargetName) { - NDR_PULL_ALLOC(ndr, r->TargetName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->TargetName, _ptr_TargetName)); - } else { - r->TargetName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_NEGOTIATE(ndr, NDR_SCALARS, &r->NegotiateFlags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->ServerChallenge, 8)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Reserved, 8)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->TargetInfoLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->TargetNameInfoMaxLen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_TargetInfo)); - if (_ptr_TargetInfo) { - NDR_PULL_ALLOC(ndr, r->TargetInfo); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->TargetInfo, _ptr_TargetInfo)); - } else { - r->TargetInfo = NULL; - } - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)); - NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->TargetName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->TargetName)); - _mem_save_TargetName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->TargetName, 0); - { - struct ndr_pull *_ndr_TargetName; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_TargetName, 0, r->TargetNameLen)); - NDR_CHECK(ndr_pull_string(_ndr_TargetName, NDR_SCALARS, &r->TargetName)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_TargetName, 0, r->TargetNameLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_TargetName_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - if (r->TargetInfo) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->TargetInfo)); - _mem_save_TargetInfo_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->TargetInfo, 0); - { - struct ndr_pull *_ndr_TargetInfo; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_TargetInfo, 0, r->TargetInfoLen)); - NDR_CHECK(ndr_pull_AV_PAIR_LIST(_ndr_TargetInfo, NDR_SCALARS|NDR_BUFFERS, r->TargetInfo)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_TargetInfo, 0, r->TargetInfoLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_TargetInfo_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_CHALLENGE_MESSAGE(struct ndr_print *ndr, const char *name, const struct CHALLENGE_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "CHALLENGE_MESSAGE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_string(ndr, "Signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"NTLMSSP":r->Signature); - ndr_print_ntlmssp_MessageType(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NtLmChallenge:r->MessageType); - ndr_print_uint16(ndr, "TargetNameLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName):r->TargetNameLen); - ndr_print_uint16(ndr, "TargetNameMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->TargetNameLen:r->TargetNameMaxLen); - ndr_print_ptr(ndr, "TargetName", r->TargetName); - ndr->depth++; - if (r->TargetName) { - ndr_print_string(ndr, "TargetName", r->TargetName); - } - ndr->depth--; - ndr_print_NEGOTIATE(ndr, "NegotiateFlags", r->NegotiateFlags); - ndr_print_array_uint8(ndr, "ServerChallenge", r->ServerChallenge, 8); - ndr_print_array_uint8(ndr, "Reserved", r->Reserved, 8); - ndr_print_uint16(ndr, "TargetInfoLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags):r->TargetInfoLen); - ndr_print_uint16(ndr, "TargetNameInfoMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->TargetInfoLen:r->TargetNameInfoMaxLen); - ndr_print_ptr(ndr, "TargetInfo", r->TargetInfo); - ndr->depth++; - if (r->TargetInfo) { - ndr_print_AV_PAIR_LIST(ndr, "TargetInfo", r->TargetInfo); - } - ndr->depth--; - ndr_print_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION); - ndr_print_ntlmssp_Version(ndr, "Version", &r->Version); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_LM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct LM_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Response, 24)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_LM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct LM_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Response, 24)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_LM_RESPONSE(struct ndr_print *ndr, const char *name, const struct LM_RESPONSE *r) -{ - ndr_print_struct(ndr, name, "LM_RESPONSE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "Response", r->Response, 24); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_LMv2_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct LMv2_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Response, 16)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->ChallengeFromClient, 8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_LMv2_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct LMv2_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Response, 16)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->ChallengeFromClient, 8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_LMv2_RESPONSE(struct ndr_print *ndr, const char *name, const struct LMv2_RESPONSE *r) -{ - ndr_print_struct(ndr, name, "LMv2_RESPONSE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "Response", r->Response, 16); - ndr_print_array_uint8(ndr, "ChallengeFromClient", r->ChallengeFromClient, 8); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_ntlmssp_LM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const union ntlmssp_LM_RESPONSE *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 1)); - switch (level) { - case 24: { - NDR_CHECK(ndr_push_LM_RESPONSE(ndr, NDR_SCALARS, &r->v1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 24: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_ntlmssp_LM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, union ntlmssp_LM_RESPONSE *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 1)); - switch (level) { - case 24: { - NDR_CHECK(ndr_pull_LM_RESPONSE(ndr, NDR_SCALARS, &r->v1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 24: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_LM_RESPONSE(struct ndr_print *ndr, const char *name, const union ntlmssp_LM_RESPONSE *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ntlmssp_LM_RESPONSE"); - switch (level) { - case 24: - ndr_print_LM_RESPONSE(ndr, "v1", &r->v1); - break; - - default: - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_NTLM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct NTLM_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Response, 24)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NTLM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct NTLM_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Response, 24)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NTLM_RESPONSE(struct ndr_print *ndr, const char *name, const struct NTLM_RESPONSE *r) -{ - ndr_print_struct(ndr, name, "NTLM_RESPONSE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "Response", r->Response, 24); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_NTLMv2_CLIENT_CHALLENGE(struct ndr_push *ndr, int ndr_flags, const struct NTLMv2_CLIENT_CHALLENGE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 1)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 1)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Reserved1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Reserved2)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->TimeStamp)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->ChallengeFromClient, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Reserved3)); - { - uint32_t _flags_save_AV_PAIR_LIST = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - { - struct ndr_push *_ndr_AvPairs; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_AvPairs, 0, -1)); - NDR_CHECK(ndr_push_AV_PAIR_LIST(_ndr_AvPairs, NDR_SCALARS|NDR_BUFFERS, &r->AvPairs)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_AvPairs, 0, -1)); - } - ndr->flags = _flags_save_AV_PAIR_LIST; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_AV_PAIR_LIST = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - ndr->flags = _flags_save_AV_PAIR_LIST; - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NTLMv2_CLIENT_CHALLENGE(struct ndr_pull *ndr, int ndr_flags, struct NTLMv2_CLIENT_CHALLENGE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->RespType)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->HiRespType)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Reserved1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Reserved2)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->TimeStamp)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->ChallengeFromClient, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Reserved3)); - { - uint32_t _flags_save_AV_PAIR_LIST = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - { - struct ndr_pull *_ndr_AvPairs; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_AvPairs, 0, -1)); - NDR_CHECK(ndr_pull_AV_PAIR_LIST(_ndr_AvPairs, NDR_SCALARS|NDR_BUFFERS, &r->AvPairs)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_AvPairs, 0, -1)); - } - ndr->flags = _flags_save_AV_PAIR_LIST; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_AV_PAIR_LIST = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - ndr->flags = _flags_save_AV_PAIR_LIST; - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NTLMv2_CLIENT_CHALLENGE(struct ndr_print *ndr, const char *name, const struct NTLMv2_CLIENT_CHALLENGE *r) -{ - ndr_print_struct(ndr, name, "NTLMv2_CLIENT_CHALLENGE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint8(ndr, "RespType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->RespType); - ndr_print_uint8(ndr, "HiRespType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->HiRespType); - ndr_print_uint16(ndr, "Reserved1", r->Reserved1); - ndr_print_uint32(ndr, "Reserved2", r->Reserved2); - ndr_print_NTTIME(ndr, "TimeStamp", r->TimeStamp); - ndr_print_array_uint8(ndr, "ChallengeFromClient", r->ChallengeFromClient, 8); - ndr_print_uint32(ndr, "Reserved3", r->Reserved3); - ndr_print_AV_PAIR_LIST(ndr, "AvPairs", &r->AvPairs); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_NTLMv2_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct NTLMv2_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Response, 16)); - NDR_CHECK(ndr_push_NTLMv2_CLIENT_CHALLENGE(ndr, NDR_SCALARS, &r->Challenge)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_NTLMv2_CLIENT_CHALLENGE(ndr, NDR_BUFFERS, &r->Challenge)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NTLMv2_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct NTLMv2_RESPONSE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Response, 16)); - NDR_CHECK(ndr_pull_NTLMv2_CLIENT_CHALLENGE(ndr, NDR_SCALARS, &r->Challenge)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_NTLMv2_CLIENT_CHALLENGE(ndr, NDR_BUFFERS, &r->Challenge)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NTLMv2_RESPONSE(struct ndr_print *ndr, const char *name, const struct NTLMv2_RESPONSE *r) -{ - ndr_print_struct(ndr, name, "NTLMv2_RESPONSE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "Response", r->Response, 16); - ndr_print_NTLMv2_CLIENT_CHALLENGE(ndr, "Challenge", &r->Challenge); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_ntlmssp_NTLM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const union ntlmssp_NTLM_RESPONSE *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 0: { - break; } - - case 0x18: { - NDR_CHECK(ndr_push_NTLM_RESPONSE(ndr, NDR_SCALARS, &r->v1)); - break; } - - default: { - NDR_CHECK(ndr_push_NTLMv2_RESPONSE(ndr, NDR_SCALARS, &r->v2)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 0x18: - break; - - default: - NDR_CHECK(ndr_push_NTLMv2_RESPONSE(ndr, NDR_BUFFERS, &r->v2)); - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ntlmssp_NTLM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, union ntlmssp_NTLM_RESPONSE *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 0: { - break; } - - case 0x18: { - NDR_CHECK(ndr_pull_NTLM_RESPONSE(ndr, NDR_SCALARS, &r->v1)); - break; } - - default: { - NDR_CHECK(ndr_pull_NTLMv2_RESPONSE(ndr, NDR_SCALARS, &r->v2)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 0x18: - break; - - default: - NDR_CHECK(ndr_pull_NTLMv2_RESPONSE(ndr, NDR_BUFFERS, &r->v2)); - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ntlmssp_NTLM_RESPONSE(struct ndr_print *ndr, const char *name, const union ntlmssp_NTLM_RESPONSE *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "ntlmssp_NTLM_RESPONSE"); - switch (level) { - case 0: - break; - - case 0x18: - ndr_print_NTLM_RESPONSE(ndr, "v1", &r->v1); - break; - - default: - ndr_print_NTLMv2_RESPONSE(ndr, "v2", &r->v2); - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct AUTHENTICATE_MESSAGE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "NTLMSSP", 8, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_ntlmssp_MessageType(ndr, NDR_SCALARS, NtLmAuthenticate)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LmChallengeResponseLen)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->LmChallengeResponseLen)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->LmChallengeResponse)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NtChallengeResponseLen)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NtChallengeResponseLen)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->NtChallengeResponse)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->DomainName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->UserName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation))); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation))); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->Workstation)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->EncryptedRandomSessionKey->length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->EncryptedRandomSessionKey->length)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->EncryptedRandomSessionKey)); - NDR_CHECK(ndr_push_NEGOTIATE(ndr, NDR_SCALARS, r->NegotiateFlags)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)); - NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->LmChallengeResponse) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->LmChallengeResponse)); - { - struct ndr_push *_ndr_LmChallengeResponse; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_LmChallengeResponse, r->LmChallengeResponse, r->LmChallengeResponseLen)); - NDR_CHECK(ndr_push_ntlmssp_LM_RESPONSE(_ndr_LmChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->LmChallengeResponse)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->LmChallengeResponse)); - } - if (r->NtChallengeResponse) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->NtChallengeResponse)); - { - struct ndr_push *_ndr_NtChallengeResponse; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_NtChallengeResponse, 0, r->NtChallengeResponseLen)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_NtChallengeResponse, r->NtChallengeResponse, r->NtChallengeResponseLen)); - NDR_CHECK(ndr_push_ntlmssp_NTLM_RESPONSE(_ndr_NtChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->NtChallengeResponse)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_NtChallengeResponse, 0, r->NtChallengeResponseLen)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->NtChallengeResponse)); - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->DomainName) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->DomainName)); - { - struct ndr_push *_ndr_DomainName; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_DomainName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName))); - NDR_CHECK(ndr_push_string(_ndr_DomainName, NDR_SCALARS, r->DomainName)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_DomainName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->DomainName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->UserName) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->UserName)); - { - struct ndr_push *_ndr_UserName; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_UserName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName))); - NDR_CHECK(ndr_push_string(_ndr_UserName, NDR_SCALARS, r->UserName)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_UserName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->UserName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->Workstation) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->Workstation)); - { - struct ndr_push *_ndr_Workstation; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Workstation, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation))); - NDR_CHECK(ndr_push_string(_ndr_Workstation, NDR_SCALARS, r->Workstation)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Workstation, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation))); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->Workstation)); - } - ndr->flags = _flags_save_string; - } - if (r->EncryptedRandomSessionKey) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->EncryptedRandomSessionKey)); - { - struct ndr_push *_ndr_EncryptedRandomSessionKey; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKey->length)); - NDR_CHECK(ndr_push_DATA_BLOB(_ndr_EncryptedRandomSessionKey, NDR_SCALARS, *r->EncryptedRandomSessionKey)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKey->length)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->EncryptedRandomSessionKey)); - } - NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct AUTHENTICATE_MESSAGE *r) -{ - uint32_t _ptr_LmChallengeResponse; - TALLOC_CTX *_mem_save_LmChallengeResponse_0; - uint32_t _ptr_NtChallengeResponse; - TALLOC_CTX *_mem_save_NtChallengeResponse_0; - uint32_t _ptr_DomainName; - TALLOC_CTX *_mem_save_DomainName_0; - uint32_t _ptr_UserName; - TALLOC_CTX *_mem_save_UserName_0; - uint32_t _ptr_Workstation; - TALLOC_CTX *_mem_save_Workstation_0; - uint32_t _ptr_EncryptedRandomSessionKey; - TALLOC_CTX *_mem_save_EncryptedRandomSessionKey_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->Signature, 8, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_ntlmssp_MessageType(ndr, NDR_SCALARS, &r->MessageType)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LmChallengeResponseLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->LmChallengeResponseMaxLen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_LmChallengeResponse)); - if (_ptr_LmChallengeResponse) { - NDR_PULL_ALLOC(ndr, r->LmChallengeResponse); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->LmChallengeResponse, _ptr_LmChallengeResponse)); - } else { - r->LmChallengeResponse = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NtChallengeResponseLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NtChallengeResponseMaxLen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NtChallengeResponse)); - if (_ptr_NtChallengeResponse) { - NDR_PULL_ALLOC(ndr, r->NtChallengeResponse); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->NtChallengeResponse, _ptr_NtChallengeResponse)); - } else { - r->NtChallengeResponse = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DomainNameLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DomainNameMaxLen)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DomainName)); - if (_ptr_DomainName) { - NDR_PULL_ALLOC(ndr, r->DomainName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DomainName, _ptr_DomainName)); - } else { - r->DomainName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameMaxLen)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_UserName)); - if (_ptr_UserName) { - NDR_PULL_ALLOC(ndr, r->UserName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName)); - } else { - r->UserName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->WorkstationLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->WorkstationMaxLen)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Workstation)); - if (_ptr_Workstation) { - NDR_PULL_ALLOC(ndr, r->Workstation); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Workstation, _ptr_Workstation)); - } else { - r->Workstation = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->EncryptedRandomSessionKeyLen)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->EncryptedRandomSessionKeyMaxLen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedRandomSessionKey)); - if (_ptr_EncryptedRandomSessionKey) { - NDR_PULL_ALLOC(ndr, r->EncryptedRandomSessionKey); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->EncryptedRandomSessionKey, _ptr_EncryptedRandomSessionKey)); - } else { - r->EncryptedRandomSessionKey = NULL; - } - NDR_CHECK(ndr_pull_NEGOTIATE(ndr, NDR_SCALARS, &r->NegotiateFlags)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)); - NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->LmChallengeResponse) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->LmChallengeResponse)); - _mem_save_LmChallengeResponse_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->LmChallengeResponse, 0); - { - struct ndr_pull *_ndr_LmChallengeResponse; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_LmChallengeResponse, r->LmChallengeResponse, r->LmChallengeResponseLen)); - NDR_CHECK(ndr_pull_ntlmssp_LM_RESPONSE(_ndr_LmChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->LmChallengeResponse)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LmChallengeResponse_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - if (r->NtChallengeResponse) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->NtChallengeResponse)); - _mem_save_NtChallengeResponse_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->NtChallengeResponse, 0); - { - struct ndr_pull *_ndr_NtChallengeResponse; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_NtChallengeResponse, 0, r->NtChallengeResponseMaxLen)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_NtChallengeResponse, r->NtChallengeResponse, r->NtChallengeResponseLen)); - NDR_CHECK(ndr_pull_ntlmssp_NTLM_RESPONSE(_ndr_NtChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->NtChallengeResponse)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_NtChallengeResponse, 0, r->NtChallengeResponseMaxLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NtChallengeResponse_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->DomainName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DomainName)); - _mem_save_DomainName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DomainName, 0); - { - struct ndr_pull *_ndr_DomainName; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_DomainName, 0, r->DomainNameLen)); - NDR_CHECK(ndr_pull_string(_ndr_DomainName, NDR_SCALARS, &r->DomainName)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_DomainName, 0, r->DomainNameLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DomainName_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->UserName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName)); - _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0); - { - struct ndr_pull *_ndr_UserName; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_UserName, 0, r->UserNameLen)); - NDR_CHECK(ndr_pull_string(_ndr_UserName, NDR_SCALARS, &r->UserName)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_UserName, 0, r->UserNameLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags)); - if (r->Workstation) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Workstation)); - _mem_save_Workstation_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->Workstation, 0); - { - struct ndr_pull *_ndr_Workstation; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_Workstation, 0, r->WorkstationLen)); - NDR_CHECK(ndr_pull_string(_ndr_Workstation, NDR_SCALARS, &r->Workstation)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_Workstation, 0, r->WorkstationLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Workstation_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - if (r->EncryptedRandomSessionKey) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->EncryptedRandomSessionKey)); - _mem_save_EncryptedRandomSessionKey_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->EncryptedRandomSessionKey, 0); - { - struct ndr_pull *_ndr_EncryptedRandomSessionKey; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKeyLen)); - NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_EncryptedRandomSessionKey, NDR_SCALARS, r->EncryptedRandomSessionKey)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKeyLen)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedRandomSessionKey_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_AUTHENTICATE_MESSAGE(struct ndr_print *ndr, const char *name, const struct AUTHENTICATE_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "AUTHENTICATE_MESSAGE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - ndr->depth++; - ndr_print_string(ndr, "Signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"NTLMSSP":r->Signature); - ndr_print_ntlmssp_MessageType(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NtLmAuthenticate:r->MessageType); - ndr_print_uint16(ndr, "LmChallengeResponseLen", r->LmChallengeResponseLen); - ndr_print_uint16(ndr, "LmChallengeResponseMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->LmChallengeResponseLen:r->LmChallengeResponseMaxLen); - ndr_print_ptr(ndr, "LmChallengeResponse", r->LmChallengeResponse); - ndr->depth++; - if (r->LmChallengeResponse) { - ndr_print_set_switch_value(ndr, r->LmChallengeResponse, r->LmChallengeResponseLen); - ndr_print_ntlmssp_LM_RESPONSE(ndr, "LmChallengeResponse", r->LmChallengeResponse); - } - ndr->depth--; - ndr_print_uint16(ndr, "NtChallengeResponseLen", r->NtChallengeResponseLen); - ndr_print_uint16(ndr, "NtChallengeResponseMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->NtChallengeResponseLen:r->NtChallengeResponseMaxLen); - ndr_print_ptr(ndr, "NtChallengeResponse", r->NtChallengeResponse); - ndr->depth++; - if (r->NtChallengeResponse) { - ndr_print_set_switch_value(ndr, r->NtChallengeResponse, r->NtChallengeResponseLen); - ndr_print_ntlmssp_NTLM_RESPONSE(ndr, "NtChallengeResponse", r->NtChallengeResponse); - } - ndr->depth--; - ndr_print_uint16(ndr, "DomainNameLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName):r->DomainNameLen); - ndr_print_uint16(ndr, "DomainNameMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->DomainNameLen:r->DomainNameMaxLen); - ndr_print_ptr(ndr, "DomainName", r->DomainName); - ndr->depth++; - if (r->DomainName) { - ndr_print_string(ndr, "DomainName", r->DomainName); - } - ndr->depth--; - ndr_print_uint16(ndr, "UserNameLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName):r->UserNameLen); - ndr_print_uint16(ndr, "UserNameMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->UserNameLen:r->UserNameMaxLen); - ndr_print_ptr(ndr, "UserName", r->UserName); - ndr->depth++; - if (r->UserName) { - ndr_print_string(ndr, "UserName", r->UserName); - } - ndr->depth--; - ndr_print_uint16(ndr, "WorkstationLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation):r->WorkstationLen); - ndr_print_uint16(ndr, "WorkstationMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->WorkstationLen:r->WorkstationMaxLen); - ndr_print_ptr(ndr, "Workstation", r->Workstation); - ndr->depth++; - if (r->Workstation) { - ndr_print_string(ndr, "Workstation", r->Workstation); - } - ndr->depth--; - ndr_print_uint16(ndr, "EncryptedRandomSessionKeyLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->EncryptedRandomSessionKey->length:r->EncryptedRandomSessionKeyLen); - ndr_print_uint16(ndr, "EncryptedRandomSessionKeyMaxLen", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->EncryptedRandomSessionKeyLen:r->EncryptedRandomSessionKeyMaxLen); - ndr_print_ptr(ndr, "EncryptedRandomSessionKey", r->EncryptedRandomSessionKey); - ndr->depth++; - if (r->EncryptedRandomSessionKey) { - ndr_print_DATA_BLOB(ndr, "EncryptedRandomSessionKey", *r->EncryptedRandomSessionKey); - } - ndr->depth--; - ndr_print_NEGOTIATE(ndr, "NegotiateFlags", r->NegotiateFlags); - ndr_print_set_switch_value(ndr, &r->Version, r->NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION); - ndr_print_ntlmssp_Version(ndr, "Version", &r->Version); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_NTLMSSP_MESSAGE_SIGNATURE(struct ndr_push *ndr, int ndr_flags, const struct NTLMSSP_MESSAGE_SIGNATURE *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NTLMSSP_SIGN_VERSION)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->RandomPad)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Checksum)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SeqNum)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NTLMSSP_MESSAGE_SIGNATURE(struct ndr_pull *ndr, int ndr_flags, struct NTLMSSP_MESSAGE_SIGNATURE *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->RandomPad)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Checksum)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SeqNum)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NTLMSSP_MESSAGE_SIGNATURE(struct ndr_print *ndr, const char *name, const struct NTLMSSP_MESSAGE_SIGNATURE *r) -{ - ndr_print_struct(ndr, name, "NTLMSSP_MESSAGE_SIGNATURE"); - ndr->depth++; - ndr_print_uint32(ndr, "Version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NTLMSSP_SIGN_VERSION:r->Version); - ndr_print_uint32(ndr, "RandomPad", r->RandomPad); - ndr_print_uint32(ndr, "Checksum", r->Checksum); - ndr_print_uint32(ndr, "SeqNum", r->SeqNum); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_NTLMSSP_MESSAGE_SIGNATURE_NTLMv2(struct ndr_push *ndr, int ndr_flags, const struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NTLMSSP_SIGN_VERSION)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Checksum, 8)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SeqNum)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NTLMSSP_MESSAGE_SIGNATURE_NTLMv2(struct ndr_pull *ndr, int ndr_flags, struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Version)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Checksum, 8)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SeqNum)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NTLMSSP_MESSAGE_SIGNATURE_NTLMv2(struct ndr_print *ndr, const char *name, const struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 *r) -{ - ndr_print_struct(ndr, name, "NTLMSSP_MESSAGE_SIGNATURE_NTLMv2"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint32(ndr, "Version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NTLMSSP_SIGN_VERSION:r->Version); - ndr_print_array_uint8(ndr, "Checksum", r->Checksum, 8); - ndr_print_uint32(ndr, "SeqNum", r->SeqNum); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_decode_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int flags, const struct decode_NEGOTIATE_MESSAGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_NEGOTIATE_MESSAGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.negotiate)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_NEGOTIATE_MESSAGE(struct ndr_pull *ndr, int flags, struct decode_NEGOTIATE_MESSAGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_NEGOTIATE_MESSAGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.negotiate)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_NEGOTIATE_MESSAGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_NEGOTIATE_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "decode_NEGOTIATE_MESSAGE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_NEGOTIATE_MESSAGE"); - ndr->depth++; - ndr_print_NEGOTIATE_MESSAGE(ndr, "negotiate", &r->in.negotiate); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_NEGOTIATE_MESSAGE"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_CHALLENGE_MESSAGE(struct ndr_push *ndr, int flags, const struct decode_CHALLENGE_MESSAGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_CHALLENGE_MESSAGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.challenge)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_CHALLENGE_MESSAGE(struct ndr_pull *ndr, int flags, struct decode_CHALLENGE_MESSAGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_CHALLENGE_MESSAGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.challenge)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_CHALLENGE_MESSAGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_CHALLENGE_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "decode_CHALLENGE_MESSAGE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_CHALLENGE_MESSAGE"); - ndr->depth++; - ndr_print_CHALLENGE_MESSAGE(ndr, "challenge", &r->in.challenge); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_CHALLENGE_MESSAGE"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, int flags, const struct decode_AUTHENTICATE_MESSAGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_AUTHENTICATE_MESSAGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.authenticate)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, int flags, struct decode_AUTHENTICATE_MESSAGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_AUTHENTICATE_MESSAGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.authenticate)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_AUTHENTICATE_MESSAGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_AUTHENTICATE_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "decode_AUTHENTICATE_MESSAGE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_AUTHENTICATE_MESSAGE"); - ndr->depth++; - ndr_print_AUTHENTICATE_MESSAGE(ndr, "authenticate", &r->in.authenticate); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_AUTHENTICATE_MESSAGE"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_decode_NTLMv2_CLIENT_CHALLENGE(struct ndr_push *ndr, int flags, const struct decode_NTLMv2_CLIENT_CHALLENGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_NTLMv2_CLIENT_CHALLENGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.challenge)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_decode_NTLMv2_CLIENT_CHALLENGE(struct ndr_pull *ndr, int flags, struct decode_NTLMv2_CLIENT_CHALLENGE *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_NTLMv2_CLIENT_CHALLENGE(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.challenge)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_decode_NTLMv2_CLIENT_CHALLENGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_NTLMv2_CLIENT_CHALLENGE *r) -{ - ndr_print_struct(ndr, name, "decode_NTLMv2_CLIENT_CHALLENGE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "decode_NTLMv2_CLIENT_CHALLENGE"); - ndr->depth++; - ndr_print_NTLMv2_CLIENT_CHALLENGE(ndr, "challenge", &r->in.challenge); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "decode_NTLMv2_CLIENT_CHALLENGE"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call ntlmssp_calls[] = { - { - "decode_NEGOTIATE_MESSAGE", - sizeof(struct decode_NEGOTIATE_MESSAGE), - (ndr_push_flags_fn_t) ndr_push_decode_NEGOTIATE_MESSAGE, - (ndr_pull_flags_fn_t) ndr_pull_decode_NEGOTIATE_MESSAGE, - (ndr_print_function_t) ndr_print_decode_NEGOTIATE_MESSAGE, - false, - }, - { - "decode_CHALLENGE_MESSAGE", - sizeof(struct decode_CHALLENGE_MESSAGE), - (ndr_push_flags_fn_t) ndr_push_decode_CHALLENGE_MESSAGE, - (ndr_pull_flags_fn_t) ndr_pull_decode_CHALLENGE_MESSAGE, - (ndr_print_function_t) ndr_print_decode_CHALLENGE_MESSAGE, - false, - }, - { - "decode_AUTHENTICATE_MESSAGE", - sizeof(struct decode_AUTHENTICATE_MESSAGE), - (ndr_push_flags_fn_t) ndr_push_decode_AUTHENTICATE_MESSAGE, - (ndr_pull_flags_fn_t) ndr_pull_decode_AUTHENTICATE_MESSAGE, - (ndr_print_function_t) ndr_print_decode_AUTHENTICATE_MESSAGE, - false, - }, - { - "decode_NTLMv2_CLIENT_CHALLENGE", - sizeof(struct decode_NTLMv2_CLIENT_CHALLENGE), - (ndr_push_flags_fn_t) ndr_push_decode_NTLMv2_CLIENT_CHALLENGE, - (ndr_pull_flags_fn_t) ndr_pull_decode_NTLMv2_CLIENT_CHALLENGE, - (ndr_print_function_t) ndr_print_decode_NTLMv2_CLIENT_CHALLENGE, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const ntlmssp_endpoint_strings[] = { - "ncacn_np:[\\pipe\\ntlmssp]", -}; - -static const struct ndr_interface_string_array ntlmssp_endpoints = { - .count = 1, - .names = ntlmssp_endpoint_strings -}; - -static const char * const ntlmssp_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array ntlmssp_authservices = { - .count = 1, - .names = ntlmssp_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_ntlmssp = { - .name = "ntlmssp", - .syntax_id = { - {0x6e746c6d,0x7373,0x700a,{0x00,0x00},{0x00,0x00,0x00,0x00}}, - NDR_NTLMSSP_VERSION - }, - .helpstring = NDR_NTLMSSP_HELPSTRING, - .num_calls = 4, - .calls = ntlmssp_calls, - .endpoints = &ntlmssp_endpoints, - .authservices = &ntlmssp_authservices -}; - diff --git a/librpc/gen_ndr/ndr_ntlmssp.h b/librpc/gen_ndr/ndr_ntlmssp.h deleted file mode 100644 index ab095d1cc2e..00000000000 --- a/librpc/gen_ndr/ndr_ntlmssp.h +++ /dev/null @@ -1,77 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/ntlmssp.h" - -#ifndef _HEADER_NDR_ntlmssp -#define _HEADER_NDR_ntlmssp - -#include "../librpc/ndr/ndr_ntlmssp.h" -#define NDR_NTLMSSP_UUID "6e746c6d-7373-700a-0000-00000000" -#define NDR_NTLMSSP_VERSION 0.0 -#define NDR_NTLMSSP_NAME "ntlmssp" -#define NDR_NTLMSSP_HELPSTRING "NTLM messages" -extern const struct ndr_interface_table ndr_table_ntlmssp; -#define NDR_DECODE_NEGOTIATE_MESSAGE (0x00) - -#define NDR_DECODE_CHALLENGE_MESSAGE (0x01) - -#define NDR_DECODE_AUTHENTICATE_MESSAGE (0x02) - -#define NDR_DECODE_NTLMV2_CLIENT_CHALLENGE (0x03) - -#define NDR_NTLMSSP_CALL_COUNT (4) -void ndr_print_ntlmssp_MessageType(struct ndr_print *ndr, const char *name, enum ntlmssp_MessageType r); -void ndr_print_NEGOTIATE(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_ntlmssp_WindowsMajorVersion(struct ndr_print *ndr, const char *name, enum ntlmssp_WindowsMajorVersion r); -void ndr_print_ntlmssp_WindowsMinorVersion(struct ndr_print *ndr, const char *name, enum ntlmssp_WindowsMinorVersion r); -void ndr_print_ntlmssp_NTLMRevisionCurrent(struct ndr_print *ndr, const char *name, enum ntlmssp_NTLMRevisionCurrent r); -void ndr_print_VERSION(struct ndr_print *ndr, const char *name, const struct VERSION *r); -void ndr_print_ntlmssp_Version(struct ndr_print *ndr, const char *name, const union ntlmssp_Version *r); -enum ndr_err_code ndr_push_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct NEGOTIATE_MESSAGE *r); -enum ndr_err_code ndr_pull_NEGOTIATE_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct NEGOTIATE_MESSAGE *r); -void ndr_print_NEGOTIATE_MESSAGE(struct ndr_print *ndr, const char *name, const struct NEGOTIATE_MESSAGE *r); -void ndr_print_ntlmssp_AvId(struct ndr_print *ndr, const char *name, enum ntlmssp_AvId r); -void ndr_print_Restriction_Encoding(struct ndr_print *ndr, const char *name, const struct Restriction_Encoding *r); -void ndr_print_ntlmssp_AvFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_ntlmssp_AvValue(struct ndr_print *ndr, const char *name, const union ntlmssp_AvValue *r); -enum ndr_err_code ndr_push_AV_PAIR(struct ndr_push *ndr, int ndr_flags, const struct AV_PAIR *r); -enum ndr_err_code ndr_pull_AV_PAIR(struct ndr_pull *ndr, int ndr_flags, struct AV_PAIR *r); -void ndr_print_AV_PAIR(struct ndr_print *ndr, const char *name, const struct AV_PAIR *r); -enum ndr_err_code ndr_push_AV_PAIR_LIST(struct ndr_push *ndr, int ndr_flags, const struct AV_PAIR_LIST *r); -enum ndr_err_code ndr_pull_AV_PAIR_LIST(struct ndr_pull *ndr, int ndr_flags, struct AV_PAIR_LIST *r); -void ndr_print_AV_PAIR_LIST(struct ndr_print *ndr, const char *name, const struct AV_PAIR_LIST *r); -enum ndr_err_code ndr_push_CHALLENGE_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct CHALLENGE_MESSAGE *r); -enum ndr_err_code ndr_pull_CHALLENGE_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct CHALLENGE_MESSAGE *r); -void ndr_print_CHALLENGE_MESSAGE(struct ndr_print *ndr, const char *name, const struct CHALLENGE_MESSAGE *r); -enum ndr_err_code ndr_push_LM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct LM_RESPONSE *r); -enum ndr_err_code ndr_pull_LM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct LM_RESPONSE *r); -void ndr_print_LM_RESPONSE(struct ndr_print *ndr, const char *name, const struct LM_RESPONSE *r); -enum ndr_err_code ndr_push_LMv2_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct LMv2_RESPONSE *r); -enum ndr_err_code ndr_pull_LMv2_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct LMv2_RESPONSE *r); -void ndr_print_LMv2_RESPONSE(struct ndr_print *ndr, const char *name, const struct LMv2_RESPONSE *r); -void ndr_print_ntlmssp_LM_RESPONSE(struct ndr_print *ndr, const char *name, const union ntlmssp_LM_RESPONSE *r); -enum ndr_err_code ndr_push_NTLM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct NTLM_RESPONSE *r); -enum ndr_err_code ndr_pull_NTLM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct NTLM_RESPONSE *r); -void ndr_print_NTLM_RESPONSE(struct ndr_print *ndr, const char *name, const struct NTLM_RESPONSE *r); -void ndr_print_NTLMv2_CLIENT_CHALLENGE(struct ndr_print *ndr, const char *name, const struct NTLMv2_CLIENT_CHALLENGE *r); -enum ndr_err_code ndr_push_NTLMv2_RESPONSE(struct ndr_push *ndr, int ndr_flags, const struct NTLMv2_RESPONSE *r); -enum ndr_err_code ndr_pull_NTLMv2_RESPONSE(struct ndr_pull *ndr, int ndr_flags, struct NTLMv2_RESPONSE *r); -void ndr_print_NTLMv2_RESPONSE(struct ndr_print *ndr, const char *name, const struct NTLMv2_RESPONSE *r); -enum ndr_err_code ndr_push_ntlmssp_NTLM_RESPONSE(struct ndr_push *ndr, int ndr_flags, const union ntlmssp_NTLM_RESPONSE *r); -enum ndr_err_code ndr_pull_ntlmssp_NTLM_RESPONSE(struct ndr_pull *ndr, int ndr_flags, union ntlmssp_NTLM_RESPONSE *r); -void ndr_print_ntlmssp_NTLM_RESPONSE(struct ndr_print *ndr, const char *name, const union ntlmssp_NTLM_RESPONSE *r); -enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct AUTHENTICATE_MESSAGE *r); -enum ndr_err_code ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct AUTHENTICATE_MESSAGE *r); -void ndr_print_AUTHENTICATE_MESSAGE(struct ndr_print *ndr, const char *name, const struct AUTHENTICATE_MESSAGE *r); -enum ndr_err_code ndr_push_NTLMSSP_MESSAGE_SIGNATURE(struct ndr_push *ndr, int ndr_flags, const struct NTLMSSP_MESSAGE_SIGNATURE *r); -enum ndr_err_code ndr_pull_NTLMSSP_MESSAGE_SIGNATURE(struct ndr_pull *ndr, int ndr_flags, struct NTLMSSP_MESSAGE_SIGNATURE *r); -void ndr_print_NTLMSSP_MESSAGE_SIGNATURE(struct ndr_print *ndr, const char *name, const struct NTLMSSP_MESSAGE_SIGNATURE *r); -enum ndr_err_code ndr_push_NTLMSSP_MESSAGE_SIGNATURE_NTLMv2(struct ndr_push *ndr, int ndr_flags, const struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 *r); -enum ndr_err_code ndr_pull_NTLMSSP_MESSAGE_SIGNATURE_NTLMv2(struct ndr_pull *ndr, int ndr_flags, struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 *r); -void ndr_print_NTLMSSP_MESSAGE_SIGNATURE_NTLMv2(struct ndr_print *ndr, const char *name, const struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 *r); -void ndr_print_decode_NEGOTIATE_MESSAGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_NEGOTIATE_MESSAGE *r); -void ndr_print_decode_CHALLENGE_MESSAGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_CHALLENGE_MESSAGE *r); -void ndr_print_decode_AUTHENTICATE_MESSAGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_AUTHENTICATE_MESSAGE *r); -void ndr_print_decode_NTLMv2_CLIENT_CHALLENGE(struct ndr_print *ndr, const char *name, int flags, const struct decode_NTLMv2_CLIENT_CHALLENGE *r); -#endif /* _HEADER_NDR_ntlmssp */ diff --git a/librpc/gen_ndr/ndr_ntsvcs.c b/librpc/gen_ndr/ndr_ntsvcs.c deleted file mode 100644 index 07a4a45d8f6..00000000000 --- a/librpc/gen_ndr/ndr_ntsvcs.c +++ /dev/null @@ -1,3923 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_ntsvcs.h" - -#include "librpc/gen_ndr/ndr_misc.h" -static enum ndr_err_code ndr_push_PNP_GetIdListFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetIdListFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetIdListFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_ENUMERATOR", CM_GETIDLIST_FILTER_ENUMERATOR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_SERVICE", CM_GETIDLIST_FILTER_SERVICE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_EJECTRELATIONS", CM_GETIDLIST_FILTER_EJECTRELATIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_REMOVALRELATIONS", CM_GETIDLIST_FILTER_REMOVALRELATIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_POWERRELATIONS", CM_GETIDLIST_FILTER_POWERRELATIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_BUSRELATIONS", CM_GETIDLIST_FILTER_BUSRELATIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_DONOTGENERATE", CM_GETIDLIST_DONOTGENERATE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_TRANSPORTRELATIONS", CM_GETIDLIST_FILTER_TRANSPORTRELATIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_PRESENT", CM_GETIDLIST_FILTER_PRESENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "CM_GETIDLIST_FILTER_CLASS", CM_GETIDLIST_FILTER_CLASS, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_HwProfInfo(struct ndr_push *ndr, int ndr_flags, const struct PNP_HwProfInfo *r) -{ - uint32_t cntr_friendly_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->profile_handle)); - for (cntr_friendly_name_0 = 0; cntr_friendly_name_0 < 80; cntr_friendly_name_0++) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->friendly_name[cntr_friendly_name_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_HwProfInfo(struct ndr_pull *ndr, int ndr_flags, struct PNP_HwProfInfo *r) -{ - uint32_t cntr_friendly_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->profile_handle)); - for (cntr_friendly_name_0 = 0; cntr_friendly_name_0 < 80; cntr_friendly_name_0++) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->friendly_name[cntr_friendly_name_0])); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_HwProfInfo(struct ndr_print *ndr, const char *name, const struct PNP_HwProfInfo *r) -{ - uint32_t cntr_friendly_name_0; - ndr_print_struct(ndr, name, "PNP_HwProfInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "profile_handle", r->profile_handle); - ndr->print(ndr, "%s: ARRAY(%d)", "friendly_name", (int)80); - ndr->depth++; - for (cntr_friendly_name_0=0;cntr_friendly_name_0<80;cntr_friendly_name_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_friendly_name_0) != -1) { - ndr_print_uint16(ndr, "friendly_name", r->friendly_name[cntr_friendly_name_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_Disconnect(struct ndr_push *ndr, int flags, const struct PNP_Disconnect *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_Disconnect(struct ndr_pull *ndr, int flags, struct PNP_Disconnect *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_Disconnect(struct ndr_print *ndr, const char *name, int flags, const struct PNP_Disconnect *r) -{ - ndr_print_struct(ndr, name, "PNP_Disconnect"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_Disconnect"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_Disconnect"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_Connect(struct ndr_push *ndr, int flags, const struct PNP_Connect *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_Connect(struct ndr_pull *ndr, int flags, struct PNP_Connect *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_Connect(struct ndr_print *ndr, const char *name, int flags, const struct PNP_Connect *r) -{ - ndr_print_struct(ndr, name, "PNP_Connect"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_Connect"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_Connect"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetVersion(struct ndr_push *ndr, int flags, const struct PNP_GetVersion *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - if (r->out.version == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.version)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetVersion(struct ndr_pull *ndr, int flags, struct PNP_GetVersion *r) -{ - TALLOC_CTX *_mem_save_version_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_PULL_ALLOC(ndr, r->out.version); - ZERO_STRUCTP(r->out.version); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.version); - } - _mem_save_version_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.version, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.version)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_version_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetVersion(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetVersion *r) -{ - ndr_print_struct(ndr, name, "PNP_GetVersion"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetVersion"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetVersion"); - ndr->depth++; - ndr_print_ptr(ndr, "version", r->out.version); - ndr->depth++; - ndr_print_uint16(ndr, "version", *r->out.version); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetGlobalState(struct ndr_push *ndr, int flags, const struct PNP_GetGlobalState *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetGlobalState(struct ndr_pull *ndr, int flags, struct PNP_GetGlobalState *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetGlobalState(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetGlobalState *r) -{ - ndr_print_struct(ndr, name, "PNP_GetGlobalState"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetGlobalState"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetGlobalState"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_InitDetection(struct ndr_push *ndr, int flags, const struct PNP_InitDetection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_InitDetection(struct ndr_pull *ndr, int flags, struct PNP_InitDetection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_InitDetection(struct ndr_print *ndr, const char *name, int flags, const struct PNP_InitDetection *r) -{ - ndr_print_struct(ndr, name, "PNP_InitDetection"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_InitDetection"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_InitDetection"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_ReportLogOn(struct ndr_push *ndr, int flags, const struct PNP_ReportLogOn *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_ReportLogOn(struct ndr_pull *ndr, int flags, struct PNP_ReportLogOn *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_ReportLogOn(struct ndr_print *ndr, const char *name, int flags, const struct PNP_ReportLogOn *r) -{ - ndr_print_struct(ndr, name, "PNP_ReportLogOn"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_ReportLogOn"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_ReportLogOn"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_ValidateDeviceInstance(struct ndr_push *ndr, int flags, const struct PNP_ValidateDeviceInstance *r) -{ - if (flags & NDR_IN) { - if (r->in.devicepath == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.devicepath, ndr_charset_length(r->in.devicepath, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_ValidateDeviceInstance(struct ndr_pull *ndr, int flags, struct PNP_ValidateDeviceInstance *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicepath)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicepath)); - if (ndr_get_array_length(ndr, &r->in.devicepath) > ndr_get_array_size(ndr, &r->in.devicepath)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicepath), ndr_get_array_length(ndr, &r->in.devicepath)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_ValidateDeviceInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_ValidateDeviceInstance *r) -{ - ndr_print_struct(ndr, name, "PNP_ValidateDeviceInstance"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_ValidateDeviceInstance"); - ndr->depth++; - ndr_print_ptr(ndr, "devicepath", r->in.devicepath); - ndr->depth++; - ndr_print_string(ndr, "devicepath", r->in.devicepath); - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_ValidateDeviceInstance"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetRootDeviceInstance(struct ndr_push *ndr, int flags, const struct PNP_GetRootDeviceInstance *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetRootDeviceInstance(struct ndr_pull *ndr, int flags, struct PNP_GetRootDeviceInstance *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetRootDeviceInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetRootDeviceInstance *r) -{ - ndr_print_struct(ndr, name, "PNP_GetRootDeviceInstance"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetRootDeviceInstance"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetRootDeviceInstance"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetRelatedDeviceInstance(struct ndr_push *ndr, int flags, const struct PNP_GetRelatedDeviceInstance *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetRelatedDeviceInstance(struct ndr_pull *ndr, int flags, struct PNP_GetRelatedDeviceInstance *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetRelatedDeviceInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetRelatedDeviceInstance *r) -{ - ndr_print_struct(ndr, name, "PNP_GetRelatedDeviceInstance"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetRelatedDeviceInstance"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetRelatedDeviceInstance"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_EnumerateSubKeys(struct ndr_push *ndr, int flags, const struct PNP_EnumerateSubKeys *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_EnumerateSubKeys(struct ndr_pull *ndr, int flags, struct PNP_EnumerateSubKeys *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_EnumerateSubKeys(struct ndr_print *ndr, const char *name, int flags, const struct PNP_EnumerateSubKeys *r) -{ - ndr_print_struct(ndr, name, "PNP_EnumerateSubKeys"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_EnumerateSubKeys"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_EnumerateSubKeys"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetDeviceList(struct ndr_push *ndr, int flags, const struct PNP_GetDeviceList *r) -{ - uint32_t cntr_buffer_1; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.filter)); - if (r->in.filter) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.filter, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.filter, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.filter, ndr_charset_length(r->in.filter, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.length == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.length)); - NDR_CHECK(ndr_push_PNP_GetIdListFlags(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.length)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.length)); - for (cntr_buffer_1 = 0; cntr_buffer_1 < *r->out.length; cntr_buffer_1++) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.buffer[cntr_buffer_1])); - } - if (r->out.length == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.length)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetDeviceList(struct ndr_pull *ndr, int flags, struct PNP_GetDeviceList *r) -{ - uint32_t _ptr_filter; - uint32_t cntr_buffer_1; - TALLOC_CTX *_mem_save_filter_0; - TALLOC_CTX *_mem_save_buffer_1; - TALLOC_CTX *_mem_save_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filter)); - if (_ptr_filter) { - NDR_PULL_ALLOC(ndr, r->in.filter); - } else { - r->in.filter = NULL; - } - if (r->in.filter) { - _mem_save_filter_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.filter, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.filter)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.filter)); - if (ndr_get_array_length(ndr, &r->in.filter) > ndr_get_array_size(ndr, &r->in.filter)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.filter), ndr_get_array_length(ndr, &r->in.filter)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.filter), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.filter, ndr_get_array_length(ndr, &r->in.filter), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filter_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.length); - } - _mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.length, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_PNP_GetIdListFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC_N(ndr, r->out.buffer, *r->in.length); - memset(r->out.buffer, 0, (*r->in.length) * sizeof(*r->out.buffer)); - NDR_PULL_ALLOC(ndr, r->out.length); - *r->out.length = *r->in.length; - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer)); - if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.buffer), ndr_get_array_length(ndr, &r->out.buffer)); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - } - _mem_save_buffer_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0); - for (cntr_buffer_1 = 0; cntr_buffer_1 < ndr_get_array_length(ndr, &r->out.buffer); cntr_buffer_1++) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.buffer[cntr_buffer_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_1, 0); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.length); - } - _mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.length, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, *r->out.length)); - } - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.buffer, *r->out.length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetDeviceList(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceList *r) -{ - uint32_t cntr_buffer_1; - ndr_print_struct(ndr, name, "PNP_GetDeviceList"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetDeviceList"); - ndr->depth++; - ndr_print_ptr(ndr, "filter", r->in.filter); - ndr->depth++; - if (r->in.filter) { - ndr_print_string(ndr, "filter", r->in.filter); - } - ndr->depth--; - ndr_print_ptr(ndr, "length", r->in.length); - ndr->depth++; - ndr_print_uint32(ndr, "length", *r->in.length); - ndr->depth--; - ndr_print_PNP_GetIdListFlags(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetDeviceList"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "buffer", (int)*r->out.length); - ndr->depth++; - for (cntr_buffer_1=0;cntr_buffer_1<*r->out.length;cntr_buffer_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_buffer_1) != -1) { - ndr_print_uint16(ndr, "buffer", r->out.buffer[cntr_buffer_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "length", r->out.length); - ndr->depth++; - ndr_print_uint32(ndr, "length", *r->out.length); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetDeviceListSize(struct ndr_push *ndr, int flags, const struct PNP_GetDeviceListSize *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.devicename)); - if (r->in.devicename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicename, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicename, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.devicename, ndr_charset_length(r->in.devicename, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_PNP_GetIdListFlags(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.size)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetDeviceListSize(struct ndr_pull *ndr, int flags, struct PNP_GetDeviceListSize *r) -{ - uint32_t _ptr_devicename; - TALLOC_CTX *_mem_save_devicename_0; - TALLOC_CTX *_mem_save_size_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devicename)); - if (_ptr_devicename) { - NDR_PULL_ALLOC(ndr, r->in.devicename); - } else { - r->in.devicename = NULL; - } - if (r->in.devicename) { - _mem_save_devicename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.devicename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicename)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicename)); - if (ndr_get_array_length(ndr, &r->in.devicename) > ndr_get_array_size(ndr, &r->in.devicename)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicename), ndr_get_array_length(ndr, &r->in.devicename)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicename), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicename, ndr_get_array_length(ndr, &r->in.devicename), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devicename_0, 0); - } - NDR_CHECK(ndr_pull_PNP_GetIdListFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.size); - ZERO_STRUCTP(r->out.size); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.size); - } - _mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetDeviceListSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceListSize *r) -{ - ndr_print_struct(ndr, name, "PNP_GetDeviceListSize"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetDeviceListSize"); - ndr->depth++; - ndr_print_ptr(ndr, "devicename", r->in.devicename); - ndr->depth++; - if (r->in.devicename) { - ndr_print_string(ndr, "devicename", r->in.devicename); - } - ndr->depth--; - ndr_print_PNP_GetIdListFlags(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetDeviceListSize"); - ndr->depth++; - ndr_print_ptr(ndr, "size", r->out.size); - ndr->depth++; - ndr_print_uint32(ndr, "size", *r->out.size); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetDepth(struct ndr_push *ndr, int flags, const struct PNP_GetDepth *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetDepth(struct ndr_pull *ndr, int flags, struct PNP_GetDepth *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetDepth(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDepth *r) -{ - ndr_print_struct(ndr, name, "PNP_GetDepth"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetDepth"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetDepth"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetDeviceRegProp(struct ndr_push *ndr, int flags, const struct PNP_GetDeviceRegProp *r) -{ - if (flags & NDR_IN) { - if (r->in.devicepath == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.devicepath, ndr_charset_length(r->in.devicepath, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.property)); - if (r->in.reg_data_type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.reg_data_type)); - if (r->in.buffer_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.buffer_size)); - if (r->in.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.needed)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.reg_data_type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.reg_data_type)); - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.buffer_size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.buffer_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, *r->out.buffer_size)); - if (r->out.buffer_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.buffer_size)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetDeviceRegProp(struct ndr_pull *ndr, int flags, struct PNP_GetDeviceRegProp *r) -{ - TALLOC_CTX *_mem_save_reg_data_type_0; - TALLOC_CTX *_mem_save_buffer_size_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicepath)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicepath)); - if (ndr_get_array_length(ndr, &r->in.devicepath) > ndr_get_array_size(ndr, &r->in.devicepath)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicepath), ndr_get_array_length(ndr, &r->in.devicepath)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.property)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.reg_data_type); - } - _mem_save_reg_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.reg_data_type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.reg_data_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reg_data_type_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.buffer_size); - } - _mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.buffer_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.reg_data_type); - *r->out.reg_data_type = *r->in.reg_data_type; - NDR_PULL_ALLOC_N(ndr, r->out.buffer, *r->in.buffer_size); - memset(r->out.buffer, 0, (*r->in.buffer_size) * sizeof(*r->out.buffer)); - NDR_PULL_ALLOC(ndr, r->out.buffer_size); - *r->out.buffer_size = *r->in.buffer_size; - NDR_PULL_ALLOC(ndr, r->out.needed); - *r->out.needed = *r->in.needed; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.reg_data_type); - } - _mem_save_reg_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.reg_data_type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.reg_data_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reg_data_type_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer)); - if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.buffer), ndr_get_array_length(ndr, &r->out.buffer)); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_length(ndr, &r->out.buffer))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.buffer_size); - } - _mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.buffer_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, *r->out.buffer_size)); - } - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.buffer, *r->out.buffer_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetDeviceRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceRegProp *r) -{ - ndr_print_struct(ndr, name, "PNP_GetDeviceRegProp"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetDeviceRegProp"); - ndr->depth++; - ndr_print_ptr(ndr, "devicepath", r->in.devicepath); - ndr->depth++; - ndr_print_string(ndr, "devicepath", r->in.devicepath); - ndr->depth--; - ndr_print_uint32(ndr, "property", r->in.property); - ndr_print_ptr(ndr, "reg_data_type", r->in.reg_data_type); - ndr->depth++; - ndr_print_winreg_Type(ndr, "reg_data_type", *r->in.reg_data_type); - ndr->depth--; - ndr_print_ptr(ndr, "buffer_size", r->in.buffer_size); - ndr->depth++; - ndr_print_uint32(ndr, "buffer_size", *r->in.buffer_size); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->in.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->in.needed); - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetDeviceRegProp"); - ndr->depth++; - ndr_print_ptr(ndr, "reg_data_type", r->out.reg_data_type); - ndr->depth++; - ndr_print_winreg_Type(ndr, "reg_data_type", *r->out.reg_data_type); - ndr->depth--; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, *r->out.buffer_size); - ndr->depth--; - ndr_print_ptr(ndr, "buffer_size", r->out.buffer_size); - ndr->depth++; - ndr_print_uint32(ndr, "buffer_size", *r->out.buffer_size); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_SetDeviceRegProp(struct ndr_push *ndr, int flags, const struct PNP_SetDeviceRegProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_SetDeviceRegProp(struct ndr_pull *ndr, int flags, struct PNP_SetDeviceRegProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_SetDeviceRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetDeviceRegProp *r) -{ - ndr_print_struct(ndr, name, "PNP_SetDeviceRegProp"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_SetDeviceRegProp"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_SetDeviceRegProp"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetClassInstance(struct ndr_push *ndr, int flags, const struct PNP_GetClassInstance *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetClassInstance(struct ndr_pull *ndr, int flags, struct PNP_GetClassInstance *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetClassInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassInstance *r) -{ - ndr_print_struct(ndr, name, "PNP_GetClassInstance"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetClassInstance"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetClassInstance"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_CreateKey(struct ndr_push *ndr, int flags, const struct PNP_CreateKey *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_CreateKey(struct ndr_pull *ndr, int flags, struct PNP_CreateKey *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_CreateKey(struct ndr_print *ndr, const char *name, int flags, const struct PNP_CreateKey *r) -{ - ndr_print_struct(ndr, name, "PNP_CreateKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_CreateKey"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_CreateKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_DeleteRegistryKey(struct ndr_push *ndr, int flags, const struct PNP_DeleteRegistryKey *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_DeleteRegistryKey(struct ndr_pull *ndr, int flags, struct PNP_DeleteRegistryKey *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_DeleteRegistryKey(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DeleteRegistryKey *r) -{ - ndr_print_struct(ndr, name, "PNP_DeleteRegistryKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_DeleteRegistryKey"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_DeleteRegistryKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetClassCount(struct ndr_push *ndr, int flags, const struct PNP_GetClassCount *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetClassCount(struct ndr_pull *ndr, int flags, struct PNP_GetClassCount *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetClassCount(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassCount *r) -{ - ndr_print_struct(ndr, name, "PNP_GetClassCount"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetClassCount"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetClassCount"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetClassName(struct ndr_push *ndr, int flags, const struct PNP_GetClassName *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetClassName(struct ndr_pull *ndr, int flags, struct PNP_GetClassName *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetClassName(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassName *r) -{ - ndr_print_struct(ndr, name, "PNP_GetClassName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetClassName"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetClassName"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_DeleteClassKey(struct ndr_push *ndr, int flags, const struct PNP_DeleteClassKey *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_DeleteClassKey(struct ndr_pull *ndr, int flags, struct PNP_DeleteClassKey *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_DeleteClassKey(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DeleteClassKey *r) -{ - ndr_print_struct(ndr, name, "PNP_DeleteClassKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_DeleteClassKey"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_DeleteClassKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetInterfaceDeviceAlias(struct ndr_push *ndr, int flags, const struct PNP_GetInterfaceDeviceAlias *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetInterfaceDeviceAlias(struct ndr_pull *ndr, int flags, struct PNP_GetInterfaceDeviceAlias *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetInterfaceDeviceAlias(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetInterfaceDeviceAlias *r) -{ - ndr_print_struct(ndr, name, "PNP_GetInterfaceDeviceAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetInterfaceDeviceAlias"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetInterfaceDeviceAlias"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetInterfaceDeviceList(struct ndr_push *ndr, int flags, const struct PNP_GetInterfaceDeviceList *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetInterfaceDeviceList(struct ndr_pull *ndr, int flags, struct PNP_GetInterfaceDeviceList *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetInterfaceDeviceList(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetInterfaceDeviceList *r) -{ - ndr_print_struct(ndr, name, "PNP_GetInterfaceDeviceList"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetInterfaceDeviceList"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetInterfaceDeviceList"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetInterfaceDeviceListSize(struct ndr_push *ndr, int flags, const struct PNP_GetInterfaceDeviceListSize *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetInterfaceDeviceListSize(struct ndr_pull *ndr, int flags, struct PNP_GetInterfaceDeviceListSize *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetInterfaceDeviceListSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetInterfaceDeviceListSize *r) -{ - ndr_print_struct(ndr, name, "PNP_GetInterfaceDeviceListSize"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetInterfaceDeviceListSize"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetInterfaceDeviceListSize"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_RegisterDeviceClassAssociation(struct ndr_push *ndr, int flags, const struct PNP_RegisterDeviceClassAssociation *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_RegisterDeviceClassAssociation(struct ndr_pull *ndr, int flags, struct PNP_RegisterDeviceClassAssociation *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_RegisterDeviceClassAssociation(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RegisterDeviceClassAssociation *r) -{ - ndr_print_struct(ndr, name, "PNP_RegisterDeviceClassAssociation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_RegisterDeviceClassAssociation"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_RegisterDeviceClassAssociation"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_UnregisterDeviceClassAssociation(struct ndr_push *ndr, int flags, const struct PNP_UnregisterDeviceClassAssociation *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_UnregisterDeviceClassAssociation(struct ndr_pull *ndr, int flags, struct PNP_UnregisterDeviceClassAssociation *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_UnregisterDeviceClassAssociation(struct ndr_print *ndr, const char *name, int flags, const struct PNP_UnregisterDeviceClassAssociation *r) -{ - ndr_print_struct(ndr, name, "PNP_UnregisterDeviceClassAssociation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_UnregisterDeviceClassAssociation"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_UnregisterDeviceClassAssociation"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetClassRegProp(struct ndr_push *ndr, int flags, const struct PNP_GetClassRegProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetClassRegProp(struct ndr_pull *ndr, int flags, struct PNP_GetClassRegProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetClassRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassRegProp *r) -{ - ndr_print_struct(ndr, name, "PNP_GetClassRegProp"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetClassRegProp"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetClassRegProp"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_SetClassRegProp(struct ndr_push *ndr, int flags, const struct PNP_SetClassRegProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_SetClassRegProp(struct ndr_pull *ndr, int flags, struct PNP_SetClassRegProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_SetClassRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetClassRegProp *r) -{ - ndr_print_struct(ndr, name, "PNP_SetClassRegProp"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_SetClassRegProp"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_SetClassRegProp"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_CreateDevInst(struct ndr_push *ndr, int flags, const struct PNP_CreateDevInst *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_CreateDevInst(struct ndr_pull *ndr, int flags, struct PNP_CreateDevInst *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_CreateDevInst(struct ndr_print *ndr, const char *name, int flags, const struct PNP_CreateDevInst *r) -{ - ndr_print_struct(ndr, name, "PNP_CreateDevInst"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_CreateDevInst"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_CreateDevInst"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_DeviceInstanceAction(struct ndr_push *ndr, int flags, const struct PNP_DeviceInstanceAction *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_DeviceInstanceAction(struct ndr_pull *ndr, int flags, struct PNP_DeviceInstanceAction *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_DeviceInstanceAction(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DeviceInstanceAction *r) -{ - ndr_print_struct(ndr, name, "PNP_DeviceInstanceAction"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_DeviceInstanceAction"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_DeviceInstanceAction"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetDeviceStatus(struct ndr_push *ndr, int flags, const struct PNP_GetDeviceStatus *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetDeviceStatus(struct ndr_pull *ndr, int flags, struct PNP_GetDeviceStatus *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetDeviceStatus(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceStatus *r) -{ - ndr_print_struct(ndr, name, "PNP_GetDeviceStatus"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetDeviceStatus"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetDeviceStatus"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_SetDeviceProblem(struct ndr_push *ndr, int flags, const struct PNP_SetDeviceProblem *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_SetDeviceProblem(struct ndr_pull *ndr, int flags, struct PNP_SetDeviceProblem *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_SetDeviceProblem(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetDeviceProblem *r) -{ - ndr_print_struct(ndr, name, "PNP_SetDeviceProblem"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_SetDeviceProblem"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_SetDeviceProblem"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_DisableDevInst(struct ndr_push *ndr, int flags, const struct PNP_DisableDevInst *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_DisableDevInst(struct ndr_pull *ndr, int flags, struct PNP_DisableDevInst *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_DisableDevInst(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DisableDevInst *r) -{ - ndr_print_struct(ndr, name, "PNP_DisableDevInst"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_DisableDevInst"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_DisableDevInst"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_UninstallDevInst(struct ndr_push *ndr, int flags, const struct PNP_UninstallDevInst *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_UninstallDevInst(struct ndr_pull *ndr, int flags, struct PNP_UninstallDevInst *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_UninstallDevInst(struct ndr_print *ndr, const char *name, int flags, const struct PNP_UninstallDevInst *r) -{ - ndr_print_struct(ndr, name, "PNP_UninstallDevInst"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_UninstallDevInst"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_UninstallDevInst"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_AddID(struct ndr_push *ndr, int flags, const struct PNP_AddID *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_AddID(struct ndr_pull *ndr, int flags, struct PNP_AddID *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_AddID(struct ndr_print *ndr, const char *name, int flags, const struct PNP_AddID *r) -{ - ndr_print_struct(ndr, name, "PNP_AddID"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_AddID"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_AddID"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_RegisterDriver(struct ndr_push *ndr, int flags, const struct PNP_RegisterDriver *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_RegisterDriver(struct ndr_pull *ndr, int flags, struct PNP_RegisterDriver *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_RegisterDriver(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RegisterDriver *r) -{ - ndr_print_struct(ndr, name, "PNP_RegisterDriver"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_RegisterDriver"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_RegisterDriver"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_QueryRemove(struct ndr_push *ndr, int flags, const struct PNP_QueryRemove *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_QueryRemove(struct ndr_pull *ndr, int flags, struct PNP_QueryRemove *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_QueryRemove(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryRemove *r) -{ - ndr_print_struct(ndr, name, "PNP_QueryRemove"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_QueryRemove"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_QueryRemove"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_RequestDeviceEject(struct ndr_push *ndr, int flags, const struct PNP_RequestDeviceEject *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_RequestDeviceEject(struct ndr_pull *ndr, int flags, struct PNP_RequestDeviceEject *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_RequestDeviceEject(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RequestDeviceEject *r) -{ - ndr_print_struct(ndr, name, "PNP_RequestDeviceEject"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_RequestDeviceEject"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_RequestDeviceEject"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_IsDockStationPresent(struct ndr_push *ndr, int flags, const struct PNP_IsDockStationPresent *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_IsDockStationPresent(struct ndr_pull *ndr, int flags, struct PNP_IsDockStationPresent *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_IsDockStationPresent(struct ndr_print *ndr, const char *name, int flags, const struct PNP_IsDockStationPresent *r) -{ - ndr_print_struct(ndr, name, "PNP_IsDockStationPresent"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_IsDockStationPresent"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_IsDockStationPresent"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_RequestEjectPC(struct ndr_push *ndr, int flags, const struct PNP_RequestEjectPC *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_RequestEjectPC(struct ndr_pull *ndr, int flags, struct PNP_RequestEjectPC *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_RequestEjectPC(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RequestEjectPC *r) -{ - ndr_print_struct(ndr, name, "PNP_RequestEjectPC"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_RequestEjectPC"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_RequestEjectPC"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_HwProfFlags(struct ndr_push *ndr, int flags, const struct PNP_HwProfFlags *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.action)); - if (r->in.devicepath == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.devicepath, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.devicepath, ndr_charset_length(r->in.devicepath, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.config)); - if (r->in.profile_flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.profile_flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.veto_type)); - if (r->in.veto_type) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.veto_type)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown5)); - if (r->in.unknown5) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown5, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown5, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown5, ndr_charset_length(r->in.unknown5, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.name_length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.profile_flags == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.profile_flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.veto_type)); - if (r->out.veto_type) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.veto_type)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.unknown5a)); - if (r->out.unknown5a) { - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.unknown5a)); - if (*r->out.unknown5a) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.unknown5a, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.unknown5a, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.unknown5a, ndr_charset_length(*r->out.unknown5a, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_HwProfFlags(struct ndr_pull *ndr, int flags, struct PNP_HwProfFlags *r) -{ - uint32_t _ptr_veto_type; - uint32_t _ptr_unknown5; - uint32_t _ptr_unknown5a; - TALLOC_CTX *_mem_save_profile_flags_0; - TALLOC_CTX *_mem_save_veto_type_0; - TALLOC_CTX *_mem_save_unknown5_0; - TALLOC_CTX *_mem_save_unknown5a_0; - TALLOC_CTX *_mem_save_unknown5a_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.action)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.devicepath)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.devicepath)); - if (ndr_get_array_length(ndr, &r->in.devicepath) > ndr_get_array_size(ndr, &r->in.devicepath)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.devicepath), ndr_get_array_length(ndr, &r->in.devicepath)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.devicepath, ndr_get_array_length(ndr, &r->in.devicepath), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.config)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.profile_flags); - } - _mem_save_profile_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.profile_flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.profile_flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_profile_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_veto_type)); - if (_ptr_veto_type) { - NDR_PULL_ALLOC(ndr, r->in.veto_type); - } else { - r->in.veto_type = NULL; - } - if (r->in.veto_type) { - _mem_save_veto_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.veto_type, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.veto_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_veto_type_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown5)); - if (_ptr_unknown5) { - NDR_PULL_ALLOC(ndr, r->in.unknown5); - } else { - r->in.unknown5 = NULL; - } - if (r->in.unknown5) { - _mem_save_unknown5_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown5, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown5)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown5)); - if (ndr_get_array_length(ndr, &r->in.unknown5) > ndr_get_array_size(ndr, &r->in.unknown5)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown5), ndr_get_array_length(ndr, &r->in.unknown5)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown5), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown5, ndr_get_array_length(ndr, &r->in.unknown5), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.name_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.profile_flags); - *r->out.profile_flags = *r->in.profile_flags; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.profile_flags); - } - _mem_save_profile_flags_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.profile_flags, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.profile_flags)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_profile_flags_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_veto_type)); - if (_ptr_veto_type) { - NDR_PULL_ALLOC(ndr, r->out.veto_type); - } else { - r->out.veto_type = NULL; - } - if (r->out.veto_type) { - _mem_save_veto_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.veto_type, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.veto_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_veto_type_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown5a)); - if (_ptr_unknown5a) { - NDR_PULL_ALLOC(ndr, r->out.unknown5a); - } else { - r->out.unknown5a = NULL; - } - if (r->out.unknown5a) { - _mem_save_unknown5a_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown5a, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown5a)); - if (_ptr_unknown5a) { - NDR_PULL_ALLOC(ndr, *r->out.unknown5a); - } else { - *r->out.unknown5a = NULL; - } - if (*r->out.unknown5a) { - _mem_save_unknown5a_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.unknown5a, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.unknown5a)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.unknown5a)); - if (ndr_get_array_length(ndr, r->out.unknown5a) > ndr_get_array_size(ndr, r->out.unknown5a)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.unknown5a), ndr_get_array_length(ndr, r->out.unknown5a)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.unknown5a), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.unknown5a, ndr_get_array_length(ndr, r->out.unknown5a), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5a_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown5a_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_HwProfFlags(struct ndr_print *ndr, const char *name, int flags, const struct PNP_HwProfFlags *r) -{ - ndr_print_struct(ndr, name, "PNP_HwProfFlags"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_HwProfFlags"); - ndr->depth++; - ndr_print_uint32(ndr, "action", r->in.action); - ndr_print_ptr(ndr, "devicepath", r->in.devicepath); - ndr->depth++; - ndr_print_string(ndr, "devicepath", r->in.devicepath); - ndr->depth--; - ndr_print_uint32(ndr, "config", r->in.config); - ndr_print_ptr(ndr, "profile_flags", r->in.profile_flags); - ndr->depth++; - ndr_print_uint32(ndr, "profile_flags", *r->in.profile_flags); - ndr->depth--; - ndr_print_ptr(ndr, "veto_type", r->in.veto_type); - ndr->depth++; - if (r->in.veto_type) { - ndr_print_uint16(ndr, "veto_type", *r->in.veto_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "unknown5", r->in.unknown5); - ndr->depth++; - if (r->in.unknown5) { - ndr_print_string(ndr, "unknown5", r->in.unknown5); - } - ndr->depth--; - ndr_print_uint32(ndr, "name_length", r->in.name_length); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_HwProfFlags"); - ndr->depth++; - ndr_print_ptr(ndr, "profile_flags", r->out.profile_flags); - ndr->depth++; - ndr_print_uint32(ndr, "profile_flags", *r->out.profile_flags); - ndr->depth--; - ndr_print_ptr(ndr, "veto_type", r->out.veto_type); - ndr->depth++; - if (r->out.veto_type) { - ndr_print_uint16(ndr, "veto_type", *r->out.veto_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "unknown5a", r->out.unknown5a); - ndr->depth++; - if (r->out.unknown5a) { - ndr_print_ptr(ndr, "unknown5a", *r->out.unknown5a); - ndr->depth++; - if (*r->out.unknown5a) { - ndr_print_string(ndr, "unknown5a", *r->out.unknown5a); - } - ndr->depth--; - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetHwProfInfo(struct ndr_push *ndr, int flags, const struct PNP_GetHwProfInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.idx)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_PNP_HwProfInfo(ndr, NDR_SCALARS, r->in.info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_PNP_HwProfInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetHwProfInfo(struct ndr_pull *ndr, int flags, struct PNP_GetHwProfInfo *r) -{ - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.idx)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_PNP_HwProfInfo(ndr, NDR_SCALARS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - NDR_PULL_ALLOC(ndr, r->out.info); - *r->out.info = *r->in.info; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_PNP_HwProfInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetHwProfInfo(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetHwProfInfo *r) -{ - ndr_print_struct(ndr, name, "PNP_GetHwProfInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetHwProfInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "idx", r->in.idx); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_PNP_HwProfInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_uint32(ndr, "size", r->in.size); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetHwProfInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_PNP_HwProfInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_AddEmptyLogConf(struct ndr_push *ndr, int flags, const struct PNP_AddEmptyLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_AddEmptyLogConf(struct ndr_pull *ndr, int flags, struct PNP_AddEmptyLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_AddEmptyLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_AddEmptyLogConf *r) -{ - ndr_print_struct(ndr, name, "PNP_AddEmptyLogConf"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_AddEmptyLogConf"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_AddEmptyLogConf"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_FreeLogConf(struct ndr_push *ndr, int flags, const struct PNP_FreeLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_FreeLogConf(struct ndr_pull *ndr, int flags, struct PNP_FreeLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_FreeLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_FreeLogConf *r) -{ - ndr_print_struct(ndr, name, "PNP_FreeLogConf"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_FreeLogConf"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_FreeLogConf"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetFirstLogConf(struct ndr_push *ndr, int flags, const struct PNP_GetFirstLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetFirstLogConf(struct ndr_pull *ndr, int flags, struct PNP_GetFirstLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetFirstLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetFirstLogConf *r) -{ - ndr_print_struct(ndr, name, "PNP_GetFirstLogConf"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetFirstLogConf"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetFirstLogConf"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetNextLogConf(struct ndr_push *ndr, int flags, const struct PNP_GetNextLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetNextLogConf(struct ndr_pull *ndr, int flags, struct PNP_GetNextLogConf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetNextLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetNextLogConf *r) -{ - ndr_print_struct(ndr, name, "PNP_GetNextLogConf"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetNextLogConf"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetNextLogConf"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetLogConfPriority(struct ndr_push *ndr, int flags, const struct PNP_GetLogConfPriority *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetLogConfPriority(struct ndr_pull *ndr, int flags, struct PNP_GetLogConfPriority *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetLogConfPriority(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetLogConfPriority *r) -{ - ndr_print_struct(ndr, name, "PNP_GetLogConfPriority"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetLogConfPriority"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetLogConfPriority"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_AddResDes(struct ndr_push *ndr, int flags, const struct PNP_AddResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_AddResDes(struct ndr_pull *ndr, int flags, struct PNP_AddResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_AddResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_AddResDes *r) -{ - ndr_print_struct(ndr, name, "PNP_AddResDes"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_AddResDes"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_AddResDes"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_FreeResDes(struct ndr_push *ndr, int flags, const struct PNP_FreeResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_FreeResDes(struct ndr_pull *ndr, int flags, struct PNP_FreeResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_FreeResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_FreeResDes *r) -{ - ndr_print_struct(ndr, name, "PNP_FreeResDes"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_FreeResDes"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_FreeResDes"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetNextResDes(struct ndr_push *ndr, int flags, const struct PNP_GetNextResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetNextResDes(struct ndr_pull *ndr, int flags, struct PNP_GetNextResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetNextResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetNextResDes *r) -{ - ndr_print_struct(ndr, name, "PNP_GetNextResDes"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetNextResDes"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetNextResDes"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetResDesData(struct ndr_push *ndr, int flags, const struct PNP_GetResDesData *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetResDesData(struct ndr_pull *ndr, int flags, struct PNP_GetResDesData *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetResDesData(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetResDesData *r) -{ - ndr_print_struct(ndr, name, "PNP_GetResDesData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetResDesData"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetResDesData"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetResDesDataSize(struct ndr_push *ndr, int flags, const struct PNP_GetResDesDataSize *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetResDesDataSize(struct ndr_pull *ndr, int flags, struct PNP_GetResDesDataSize *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetResDesDataSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetResDesDataSize *r) -{ - ndr_print_struct(ndr, name, "PNP_GetResDesDataSize"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetResDesDataSize"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetResDesDataSize"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_ModifyResDes(struct ndr_push *ndr, int flags, const struct PNP_ModifyResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_ModifyResDes(struct ndr_pull *ndr, int flags, struct PNP_ModifyResDes *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_ModifyResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_ModifyResDes *r) -{ - ndr_print_struct(ndr, name, "PNP_ModifyResDes"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_ModifyResDes"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_ModifyResDes"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_DetectResourceLimit(struct ndr_push *ndr, int flags, const struct PNP_DetectResourceLimit *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_DetectResourceLimit(struct ndr_pull *ndr, int flags, struct PNP_DetectResourceLimit *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_DetectResourceLimit(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DetectResourceLimit *r) -{ - ndr_print_struct(ndr, name, "PNP_DetectResourceLimit"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_DetectResourceLimit"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_DetectResourceLimit"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_QueryResConfList(struct ndr_push *ndr, int flags, const struct PNP_QueryResConfList *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_QueryResConfList(struct ndr_pull *ndr, int flags, struct PNP_QueryResConfList *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_QueryResConfList(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryResConfList *r) -{ - ndr_print_struct(ndr, name, "PNP_QueryResConfList"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_QueryResConfList"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_QueryResConfList"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_SetHwProf(struct ndr_push *ndr, int flags, const struct PNP_SetHwProf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_SetHwProf(struct ndr_pull *ndr, int flags, struct PNP_SetHwProf *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_SetHwProf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetHwProf *r) -{ - ndr_print_struct(ndr, name, "PNP_SetHwProf"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_SetHwProf"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_SetHwProf"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_QueryArbitratorFreeData(struct ndr_push *ndr, int flags, const struct PNP_QueryArbitratorFreeData *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_QueryArbitratorFreeData(struct ndr_pull *ndr, int flags, struct PNP_QueryArbitratorFreeData *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_QueryArbitratorFreeData(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryArbitratorFreeData *r) -{ - ndr_print_struct(ndr, name, "PNP_QueryArbitratorFreeData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_QueryArbitratorFreeData"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_QueryArbitratorFreeData"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_QueryArbitratorFreeSize(struct ndr_push *ndr, int flags, const struct PNP_QueryArbitratorFreeSize *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_QueryArbitratorFreeSize(struct ndr_pull *ndr, int flags, struct PNP_QueryArbitratorFreeSize *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_QueryArbitratorFreeSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryArbitratorFreeSize *r) -{ - ndr_print_struct(ndr, name, "PNP_QueryArbitratorFreeSize"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_QueryArbitratorFreeSize"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_QueryArbitratorFreeSize"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_RunDetection(struct ndr_push *ndr, int flags, const struct PNP_RunDetection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_RunDetection(struct ndr_pull *ndr, int flags, struct PNP_RunDetection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_RunDetection(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RunDetection *r) -{ - ndr_print_struct(ndr, name, "PNP_RunDetection"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_RunDetection"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_RunDetection"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_RegisterNotification(struct ndr_push *ndr, int flags, const struct PNP_RegisterNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_RegisterNotification(struct ndr_pull *ndr, int flags, struct PNP_RegisterNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_RegisterNotification(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RegisterNotification *r) -{ - ndr_print_struct(ndr, name, "PNP_RegisterNotification"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_RegisterNotification"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_RegisterNotification"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_UnregisterNotification(struct ndr_push *ndr, int flags, const struct PNP_UnregisterNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_UnregisterNotification(struct ndr_pull *ndr, int flags, struct PNP_UnregisterNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_UnregisterNotification(struct ndr_print *ndr, const char *name, int flags, const struct PNP_UnregisterNotification *r) -{ - ndr_print_struct(ndr, name, "PNP_UnregisterNotification"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_UnregisterNotification"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_UnregisterNotification"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetCustomDevProp(struct ndr_push *ndr, int flags, const struct PNP_GetCustomDevProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetCustomDevProp(struct ndr_pull *ndr, int flags, struct PNP_GetCustomDevProp *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetCustomDevProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetCustomDevProp *r) -{ - ndr_print_struct(ndr, name, "PNP_GetCustomDevProp"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetCustomDevProp"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetCustomDevProp"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetVersionInternal(struct ndr_push *ndr, int flags, const struct PNP_GetVersionInternal *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetVersionInternal(struct ndr_pull *ndr, int flags, struct PNP_GetVersionInternal *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetVersionInternal(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetVersionInternal *r) -{ - ndr_print_struct(ndr, name, "PNP_GetVersionInternal"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetVersionInternal"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetVersionInternal"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetBlockedDriverInfo(struct ndr_push *ndr, int flags, const struct PNP_GetBlockedDriverInfo *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetBlockedDriverInfo(struct ndr_pull *ndr, int flags, struct PNP_GetBlockedDriverInfo *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetBlockedDriverInfo(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetBlockedDriverInfo *r) -{ - ndr_print_struct(ndr, name, "PNP_GetBlockedDriverInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetBlockedDriverInfo"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetBlockedDriverInfo"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_PNP_GetServerSideDeviceInstallFlags(struct ndr_push *ndr, int flags, const struct PNP_GetServerSideDeviceInstallFlags *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_PNP_GetServerSideDeviceInstallFlags(struct ndr_pull *ndr, int flags, struct PNP_GetServerSideDeviceInstallFlags *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_PNP_GetServerSideDeviceInstallFlags(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetServerSideDeviceInstallFlags *r) -{ - ndr_print_struct(ndr, name, "PNP_GetServerSideDeviceInstallFlags"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "PNP_GetServerSideDeviceInstallFlags"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "PNP_GetServerSideDeviceInstallFlags"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call ntsvcs_calls[] = { - { - "PNP_Disconnect", - sizeof(struct PNP_Disconnect), - (ndr_push_flags_fn_t) ndr_push_PNP_Disconnect, - (ndr_pull_flags_fn_t) ndr_pull_PNP_Disconnect, - (ndr_print_function_t) ndr_print_PNP_Disconnect, - false, - }, - { - "PNP_Connect", - sizeof(struct PNP_Connect), - (ndr_push_flags_fn_t) ndr_push_PNP_Connect, - (ndr_pull_flags_fn_t) ndr_pull_PNP_Connect, - (ndr_print_function_t) ndr_print_PNP_Connect, - false, - }, - { - "PNP_GetVersion", - sizeof(struct PNP_GetVersion), - (ndr_push_flags_fn_t) ndr_push_PNP_GetVersion, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetVersion, - (ndr_print_function_t) ndr_print_PNP_GetVersion, - false, - }, - { - "PNP_GetGlobalState", - sizeof(struct PNP_GetGlobalState), - (ndr_push_flags_fn_t) ndr_push_PNP_GetGlobalState, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetGlobalState, - (ndr_print_function_t) ndr_print_PNP_GetGlobalState, - false, - }, - { - "PNP_InitDetection", - sizeof(struct PNP_InitDetection), - (ndr_push_flags_fn_t) ndr_push_PNP_InitDetection, - (ndr_pull_flags_fn_t) ndr_pull_PNP_InitDetection, - (ndr_print_function_t) ndr_print_PNP_InitDetection, - false, - }, - { - "PNP_ReportLogOn", - sizeof(struct PNP_ReportLogOn), - (ndr_push_flags_fn_t) ndr_push_PNP_ReportLogOn, - (ndr_pull_flags_fn_t) ndr_pull_PNP_ReportLogOn, - (ndr_print_function_t) ndr_print_PNP_ReportLogOn, - false, - }, - { - "PNP_ValidateDeviceInstance", - sizeof(struct PNP_ValidateDeviceInstance), - (ndr_push_flags_fn_t) ndr_push_PNP_ValidateDeviceInstance, - (ndr_pull_flags_fn_t) ndr_pull_PNP_ValidateDeviceInstance, - (ndr_print_function_t) ndr_print_PNP_ValidateDeviceInstance, - false, - }, - { - "PNP_GetRootDeviceInstance", - sizeof(struct PNP_GetRootDeviceInstance), - (ndr_push_flags_fn_t) ndr_push_PNP_GetRootDeviceInstance, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetRootDeviceInstance, - (ndr_print_function_t) ndr_print_PNP_GetRootDeviceInstance, - false, - }, - { - "PNP_GetRelatedDeviceInstance", - sizeof(struct PNP_GetRelatedDeviceInstance), - (ndr_push_flags_fn_t) ndr_push_PNP_GetRelatedDeviceInstance, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetRelatedDeviceInstance, - (ndr_print_function_t) ndr_print_PNP_GetRelatedDeviceInstance, - false, - }, - { - "PNP_EnumerateSubKeys", - sizeof(struct PNP_EnumerateSubKeys), - (ndr_push_flags_fn_t) ndr_push_PNP_EnumerateSubKeys, - (ndr_pull_flags_fn_t) ndr_pull_PNP_EnumerateSubKeys, - (ndr_print_function_t) ndr_print_PNP_EnumerateSubKeys, - false, - }, - { - "PNP_GetDeviceList", - sizeof(struct PNP_GetDeviceList), - (ndr_push_flags_fn_t) ndr_push_PNP_GetDeviceList, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetDeviceList, - (ndr_print_function_t) ndr_print_PNP_GetDeviceList, - false, - }, - { - "PNP_GetDeviceListSize", - sizeof(struct PNP_GetDeviceListSize), - (ndr_push_flags_fn_t) ndr_push_PNP_GetDeviceListSize, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetDeviceListSize, - (ndr_print_function_t) ndr_print_PNP_GetDeviceListSize, - false, - }, - { - "PNP_GetDepth", - sizeof(struct PNP_GetDepth), - (ndr_push_flags_fn_t) ndr_push_PNP_GetDepth, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetDepth, - (ndr_print_function_t) ndr_print_PNP_GetDepth, - false, - }, - { - "PNP_GetDeviceRegProp", - sizeof(struct PNP_GetDeviceRegProp), - (ndr_push_flags_fn_t) ndr_push_PNP_GetDeviceRegProp, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetDeviceRegProp, - (ndr_print_function_t) ndr_print_PNP_GetDeviceRegProp, - false, - }, - { - "PNP_SetDeviceRegProp", - sizeof(struct PNP_SetDeviceRegProp), - (ndr_push_flags_fn_t) ndr_push_PNP_SetDeviceRegProp, - (ndr_pull_flags_fn_t) ndr_pull_PNP_SetDeviceRegProp, - (ndr_print_function_t) ndr_print_PNP_SetDeviceRegProp, - false, - }, - { - "PNP_GetClassInstance", - sizeof(struct PNP_GetClassInstance), - (ndr_push_flags_fn_t) ndr_push_PNP_GetClassInstance, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetClassInstance, - (ndr_print_function_t) ndr_print_PNP_GetClassInstance, - false, - }, - { - "PNP_CreateKey", - sizeof(struct PNP_CreateKey), - (ndr_push_flags_fn_t) ndr_push_PNP_CreateKey, - (ndr_pull_flags_fn_t) ndr_pull_PNP_CreateKey, - (ndr_print_function_t) ndr_print_PNP_CreateKey, - false, - }, - { - "PNP_DeleteRegistryKey", - sizeof(struct PNP_DeleteRegistryKey), - (ndr_push_flags_fn_t) ndr_push_PNP_DeleteRegistryKey, - (ndr_pull_flags_fn_t) ndr_pull_PNP_DeleteRegistryKey, - (ndr_print_function_t) ndr_print_PNP_DeleteRegistryKey, - false, - }, - { - "PNP_GetClassCount", - sizeof(struct PNP_GetClassCount), - (ndr_push_flags_fn_t) ndr_push_PNP_GetClassCount, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetClassCount, - (ndr_print_function_t) ndr_print_PNP_GetClassCount, - false, - }, - { - "PNP_GetClassName", - sizeof(struct PNP_GetClassName), - (ndr_push_flags_fn_t) ndr_push_PNP_GetClassName, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetClassName, - (ndr_print_function_t) ndr_print_PNP_GetClassName, - false, - }, - { - "PNP_DeleteClassKey", - sizeof(struct PNP_DeleteClassKey), - (ndr_push_flags_fn_t) ndr_push_PNP_DeleteClassKey, - (ndr_pull_flags_fn_t) ndr_pull_PNP_DeleteClassKey, - (ndr_print_function_t) ndr_print_PNP_DeleteClassKey, - false, - }, - { - "PNP_GetInterfaceDeviceAlias", - sizeof(struct PNP_GetInterfaceDeviceAlias), - (ndr_push_flags_fn_t) ndr_push_PNP_GetInterfaceDeviceAlias, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetInterfaceDeviceAlias, - (ndr_print_function_t) ndr_print_PNP_GetInterfaceDeviceAlias, - false, - }, - { - "PNP_GetInterfaceDeviceList", - sizeof(struct PNP_GetInterfaceDeviceList), - (ndr_push_flags_fn_t) ndr_push_PNP_GetInterfaceDeviceList, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetInterfaceDeviceList, - (ndr_print_function_t) ndr_print_PNP_GetInterfaceDeviceList, - false, - }, - { - "PNP_GetInterfaceDeviceListSize", - sizeof(struct PNP_GetInterfaceDeviceListSize), - (ndr_push_flags_fn_t) ndr_push_PNP_GetInterfaceDeviceListSize, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetInterfaceDeviceListSize, - (ndr_print_function_t) ndr_print_PNP_GetInterfaceDeviceListSize, - false, - }, - { - "PNP_RegisterDeviceClassAssociation", - sizeof(struct PNP_RegisterDeviceClassAssociation), - (ndr_push_flags_fn_t) ndr_push_PNP_RegisterDeviceClassAssociation, - (ndr_pull_flags_fn_t) ndr_pull_PNP_RegisterDeviceClassAssociation, - (ndr_print_function_t) ndr_print_PNP_RegisterDeviceClassAssociation, - false, - }, - { - "PNP_UnregisterDeviceClassAssociation", - sizeof(struct PNP_UnregisterDeviceClassAssociation), - (ndr_push_flags_fn_t) ndr_push_PNP_UnregisterDeviceClassAssociation, - (ndr_pull_flags_fn_t) ndr_pull_PNP_UnregisterDeviceClassAssociation, - (ndr_print_function_t) ndr_print_PNP_UnregisterDeviceClassAssociation, - false, - }, - { - "PNP_GetClassRegProp", - sizeof(struct PNP_GetClassRegProp), - (ndr_push_flags_fn_t) ndr_push_PNP_GetClassRegProp, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetClassRegProp, - (ndr_print_function_t) ndr_print_PNP_GetClassRegProp, - false, - }, - { - "PNP_SetClassRegProp", - sizeof(struct PNP_SetClassRegProp), - (ndr_push_flags_fn_t) ndr_push_PNP_SetClassRegProp, - (ndr_pull_flags_fn_t) ndr_pull_PNP_SetClassRegProp, - (ndr_print_function_t) ndr_print_PNP_SetClassRegProp, - false, - }, - { - "PNP_CreateDevInst", - sizeof(struct PNP_CreateDevInst), - (ndr_push_flags_fn_t) ndr_push_PNP_CreateDevInst, - (ndr_pull_flags_fn_t) ndr_pull_PNP_CreateDevInst, - (ndr_print_function_t) ndr_print_PNP_CreateDevInst, - false, - }, - { - "PNP_DeviceInstanceAction", - sizeof(struct PNP_DeviceInstanceAction), - (ndr_push_flags_fn_t) ndr_push_PNP_DeviceInstanceAction, - (ndr_pull_flags_fn_t) ndr_pull_PNP_DeviceInstanceAction, - (ndr_print_function_t) ndr_print_PNP_DeviceInstanceAction, - false, - }, - { - "PNP_GetDeviceStatus", - sizeof(struct PNP_GetDeviceStatus), - (ndr_push_flags_fn_t) ndr_push_PNP_GetDeviceStatus, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetDeviceStatus, - (ndr_print_function_t) ndr_print_PNP_GetDeviceStatus, - false, - }, - { - "PNP_SetDeviceProblem", - sizeof(struct PNP_SetDeviceProblem), - (ndr_push_flags_fn_t) ndr_push_PNP_SetDeviceProblem, - (ndr_pull_flags_fn_t) ndr_pull_PNP_SetDeviceProblem, - (ndr_print_function_t) ndr_print_PNP_SetDeviceProblem, - false, - }, - { - "PNP_DisableDevInst", - sizeof(struct PNP_DisableDevInst), - (ndr_push_flags_fn_t) ndr_push_PNP_DisableDevInst, - (ndr_pull_flags_fn_t) ndr_pull_PNP_DisableDevInst, - (ndr_print_function_t) ndr_print_PNP_DisableDevInst, - false, - }, - { - "PNP_UninstallDevInst", - sizeof(struct PNP_UninstallDevInst), - (ndr_push_flags_fn_t) ndr_push_PNP_UninstallDevInst, - (ndr_pull_flags_fn_t) ndr_pull_PNP_UninstallDevInst, - (ndr_print_function_t) ndr_print_PNP_UninstallDevInst, - false, - }, - { - "PNP_AddID", - sizeof(struct PNP_AddID), - (ndr_push_flags_fn_t) ndr_push_PNP_AddID, - (ndr_pull_flags_fn_t) ndr_pull_PNP_AddID, - (ndr_print_function_t) ndr_print_PNP_AddID, - false, - }, - { - "PNP_RegisterDriver", - sizeof(struct PNP_RegisterDriver), - (ndr_push_flags_fn_t) ndr_push_PNP_RegisterDriver, - (ndr_pull_flags_fn_t) ndr_pull_PNP_RegisterDriver, - (ndr_print_function_t) ndr_print_PNP_RegisterDriver, - false, - }, - { - "PNP_QueryRemove", - sizeof(struct PNP_QueryRemove), - (ndr_push_flags_fn_t) ndr_push_PNP_QueryRemove, - (ndr_pull_flags_fn_t) ndr_pull_PNP_QueryRemove, - (ndr_print_function_t) ndr_print_PNP_QueryRemove, - false, - }, - { - "PNP_RequestDeviceEject", - sizeof(struct PNP_RequestDeviceEject), - (ndr_push_flags_fn_t) ndr_push_PNP_RequestDeviceEject, - (ndr_pull_flags_fn_t) ndr_pull_PNP_RequestDeviceEject, - (ndr_print_function_t) ndr_print_PNP_RequestDeviceEject, - false, - }, - { - "PNP_IsDockStationPresent", - sizeof(struct PNP_IsDockStationPresent), - (ndr_push_flags_fn_t) ndr_push_PNP_IsDockStationPresent, - (ndr_pull_flags_fn_t) ndr_pull_PNP_IsDockStationPresent, - (ndr_print_function_t) ndr_print_PNP_IsDockStationPresent, - false, - }, - { - "PNP_RequestEjectPC", - sizeof(struct PNP_RequestEjectPC), - (ndr_push_flags_fn_t) ndr_push_PNP_RequestEjectPC, - (ndr_pull_flags_fn_t) ndr_pull_PNP_RequestEjectPC, - (ndr_print_function_t) ndr_print_PNP_RequestEjectPC, - false, - }, - { - "PNP_HwProfFlags", - sizeof(struct PNP_HwProfFlags), - (ndr_push_flags_fn_t) ndr_push_PNP_HwProfFlags, - (ndr_pull_flags_fn_t) ndr_pull_PNP_HwProfFlags, - (ndr_print_function_t) ndr_print_PNP_HwProfFlags, - false, - }, - { - "PNP_GetHwProfInfo", - sizeof(struct PNP_GetHwProfInfo), - (ndr_push_flags_fn_t) ndr_push_PNP_GetHwProfInfo, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetHwProfInfo, - (ndr_print_function_t) ndr_print_PNP_GetHwProfInfo, - false, - }, - { - "PNP_AddEmptyLogConf", - sizeof(struct PNP_AddEmptyLogConf), - (ndr_push_flags_fn_t) ndr_push_PNP_AddEmptyLogConf, - (ndr_pull_flags_fn_t) ndr_pull_PNP_AddEmptyLogConf, - (ndr_print_function_t) ndr_print_PNP_AddEmptyLogConf, - false, - }, - { - "PNP_FreeLogConf", - sizeof(struct PNP_FreeLogConf), - (ndr_push_flags_fn_t) ndr_push_PNP_FreeLogConf, - (ndr_pull_flags_fn_t) ndr_pull_PNP_FreeLogConf, - (ndr_print_function_t) ndr_print_PNP_FreeLogConf, - false, - }, - { - "PNP_GetFirstLogConf", - sizeof(struct PNP_GetFirstLogConf), - (ndr_push_flags_fn_t) ndr_push_PNP_GetFirstLogConf, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetFirstLogConf, - (ndr_print_function_t) ndr_print_PNP_GetFirstLogConf, - false, - }, - { - "PNP_GetNextLogConf", - sizeof(struct PNP_GetNextLogConf), - (ndr_push_flags_fn_t) ndr_push_PNP_GetNextLogConf, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetNextLogConf, - (ndr_print_function_t) ndr_print_PNP_GetNextLogConf, - false, - }, - { - "PNP_GetLogConfPriority", - sizeof(struct PNP_GetLogConfPriority), - (ndr_push_flags_fn_t) ndr_push_PNP_GetLogConfPriority, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetLogConfPriority, - (ndr_print_function_t) ndr_print_PNP_GetLogConfPriority, - false, - }, - { - "PNP_AddResDes", - sizeof(struct PNP_AddResDes), - (ndr_push_flags_fn_t) ndr_push_PNP_AddResDes, - (ndr_pull_flags_fn_t) ndr_pull_PNP_AddResDes, - (ndr_print_function_t) ndr_print_PNP_AddResDes, - false, - }, - { - "PNP_FreeResDes", - sizeof(struct PNP_FreeResDes), - (ndr_push_flags_fn_t) ndr_push_PNP_FreeResDes, - (ndr_pull_flags_fn_t) ndr_pull_PNP_FreeResDes, - (ndr_print_function_t) ndr_print_PNP_FreeResDes, - false, - }, - { - "PNP_GetNextResDes", - sizeof(struct PNP_GetNextResDes), - (ndr_push_flags_fn_t) ndr_push_PNP_GetNextResDes, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetNextResDes, - (ndr_print_function_t) ndr_print_PNP_GetNextResDes, - false, - }, - { - "PNP_GetResDesData", - sizeof(struct PNP_GetResDesData), - (ndr_push_flags_fn_t) ndr_push_PNP_GetResDesData, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetResDesData, - (ndr_print_function_t) ndr_print_PNP_GetResDesData, - false, - }, - { - "PNP_GetResDesDataSize", - sizeof(struct PNP_GetResDesDataSize), - (ndr_push_flags_fn_t) ndr_push_PNP_GetResDesDataSize, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetResDesDataSize, - (ndr_print_function_t) ndr_print_PNP_GetResDesDataSize, - false, - }, - { - "PNP_ModifyResDes", - sizeof(struct PNP_ModifyResDes), - (ndr_push_flags_fn_t) ndr_push_PNP_ModifyResDes, - (ndr_pull_flags_fn_t) ndr_pull_PNP_ModifyResDes, - (ndr_print_function_t) ndr_print_PNP_ModifyResDes, - false, - }, - { - "PNP_DetectResourceLimit", - sizeof(struct PNP_DetectResourceLimit), - (ndr_push_flags_fn_t) ndr_push_PNP_DetectResourceLimit, - (ndr_pull_flags_fn_t) ndr_pull_PNP_DetectResourceLimit, - (ndr_print_function_t) ndr_print_PNP_DetectResourceLimit, - false, - }, - { - "PNP_QueryResConfList", - sizeof(struct PNP_QueryResConfList), - (ndr_push_flags_fn_t) ndr_push_PNP_QueryResConfList, - (ndr_pull_flags_fn_t) ndr_pull_PNP_QueryResConfList, - (ndr_print_function_t) ndr_print_PNP_QueryResConfList, - false, - }, - { - "PNP_SetHwProf", - sizeof(struct PNP_SetHwProf), - (ndr_push_flags_fn_t) ndr_push_PNP_SetHwProf, - (ndr_pull_flags_fn_t) ndr_pull_PNP_SetHwProf, - (ndr_print_function_t) ndr_print_PNP_SetHwProf, - false, - }, - { - "PNP_QueryArbitratorFreeData", - sizeof(struct PNP_QueryArbitratorFreeData), - (ndr_push_flags_fn_t) ndr_push_PNP_QueryArbitratorFreeData, - (ndr_pull_flags_fn_t) ndr_pull_PNP_QueryArbitratorFreeData, - (ndr_print_function_t) ndr_print_PNP_QueryArbitratorFreeData, - false, - }, - { - "PNP_QueryArbitratorFreeSize", - sizeof(struct PNP_QueryArbitratorFreeSize), - (ndr_push_flags_fn_t) ndr_push_PNP_QueryArbitratorFreeSize, - (ndr_pull_flags_fn_t) ndr_pull_PNP_QueryArbitratorFreeSize, - (ndr_print_function_t) ndr_print_PNP_QueryArbitratorFreeSize, - false, - }, - { - "PNP_RunDetection", - sizeof(struct PNP_RunDetection), - (ndr_push_flags_fn_t) ndr_push_PNP_RunDetection, - (ndr_pull_flags_fn_t) ndr_pull_PNP_RunDetection, - (ndr_print_function_t) ndr_print_PNP_RunDetection, - false, - }, - { - "PNP_RegisterNotification", - sizeof(struct PNP_RegisterNotification), - (ndr_push_flags_fn_t) ndr_push_PNP_RegisterNotification, - (ndr_pull_flags_fn_t) ndr_pull_PNP_RegisterNotification, - (ndr_print_function_t) ndr_print_PNP_RegisterNotification, - false, - }, - { - "PNP_UnregisterNotification", - sizeof(struct PNP_UnregisterNotification), - (ndr_push_flags_fn_t) ndr_push_PNP_UnregisterNotification, - (ndr_pull_flags_fn_t) ndr_pull_PNP_UnregisterNotification, - (ndr_print_function_t) ndr_print_PNP_UnregisterNotification, - false, - }, - { - "PNP_GetCustomDevProp", - sizeof(struct PNP_GetCustomDevProp), - (ndr_push_flags_fn_t) ndr_push_PNP_GetCustomDevProp, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetCustomDevProp, - (ndr_print_function_t) ndr_print_PNP_GetCustomDevProp, - false, - }, - { - "PNP_GetVersionInternal", - sizeof(struct PNP_GetVersionInternal), - (ndr_push_flags_fn_t) ndr_push_PNP_GetVersionInternal, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetVersionInternal, - (ndr_print_function_t) ndr_print_PNP_GetVersionInternal, - false, - }, - { - "PNP_GetBlockedDriverInfo", - sizeof(struct PNP_GetBlockedDriverInfo), - (ndr_push_flags_fn_t) ndr_push_PNP_GetBlockedDriverInfo, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetBlockedDriverInfo, - (ndr_print_function_t) ndr_print_PNP_GetBlockedDriverInfo, - false, - }, - { - "PNP_GetServerSideDeviceInstallFlags", - sizeof(struct PNP_GetServerSideDeviceInstallFlags), - (ndr_push_flags_fn_t) ndr_push_PNP_GetServerSideDeviceInstallFlags, - (ndr_pull_flags_fn_t) ndr_pull_PNP_GetServerSideDeviceInstallFlags, - (ndr_print_function_t) ndr_print_PNP_GetServerSideDeviceInstallFlags, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const ntsvcs_endpoint_strings[] = { - "ncacn_np:[\\pipe\\ntsvcs]", - "ncacn_np:[\\pipe\\plugplay]", -}; - -static const struct ndr_interface_string_array ntsvcs_endpoints = { - .count = 2, - .names = ntsvcs_endpoint_strings -}; - -static const char * const ntsvcs_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array ntsvcs_authservices = { - .count = 1, - .names = ntsvcs_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_ntsvcs = { - .name = "ntsvcs", - .syntax_id = { - {0x8d9f4e40,0xa03d,0x11ce,{0x8f,0x69},{0x08,0x00,0x3e,0x30,0x05,0x1b}}, - NDR_NTSVCS_VERSION - }, - .helpstring = NDR_NTSVCS_HELPSTRING, - .num_calls = 65, - .calls = ntsvcs_calls, - .endpoints = &ntsvcs_endpoints, - .authservices = &ntsvcs_authservices -}; - diff --git a/librpc/gen_ndr/ndr_ntsvcs.h b/librpc/gen_ndr/ndr_ntsvcs.h deleted file mode 100644 index a5ad373a714..00000000000 --- a/librpc/gen_ndr/ndr_ntsvcs.h +++ /dev/null @@ -1,212 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/ntsvcs.h" - -#ifndef _HEADER_NDR_ntsvcs -#define _HEADER_NDR_ntsvcs - -#define NDR_NTSVCS_UUID "8d9f4e40-a03d-11ce-8f69-08003e30051b" -#define NDR_NTSVCS_VERSION 1.0 -#define NDR_NTSVCS_NAME "ntsvcs" -#define NDR_NTSVCS_HELPSTRING "Plug and Play services" -extern const struct ndr_interface_table ndr_table_ntsvcs; -#define NDR_PNP_DISCONNECT (0x00) - -#define NDR_PNP_CONNECT (0x01) - -#define NDR_PNP_GETVERSION (0x02) - -#define NDR_PNP_GETGLOBALSTATE (0x03) - -#define NDR_PNP_INITDETECTION (0x04) - -#define NDR_PNP_REPORTLOGON (0x05) - -#define NDR_PNP_VALIDATEDEVICEINSTANCE (0x06) - -#define NDR_PNP_GETROOTDEVICEINSTANCE (0x07) - -#define NDR_PNP_GETRELATEDDEVICEINSTANCE (0x08) - -#define NDR_PNP_ENUMERATESUBKEYS (0x09) - -#define NDR_PNP_GETDEVICELIST (0x0a) - -#define NDR_PNP_GETDEVICELISTSIZE (0x0b) - -#define NDR_PNP_GETDEPTH (0x0c) - -#define NDR_PNP_GETDEVICEREGPROP (0x0d) - -#define NDR_PNP_SETDEVICEREGPROP (0x0e) - -#define NDR_PNP_GETCLASSINSTANCE (0x0f) - -#define NDR_PNP_CREATEKEY (0x10) - -#define NDR_PNP_DELETEREGISTRYKEY (0x11) - -#define NDR_PNP_GETCLASSCOUNT (0x12) - -#define NDR_PNP_GETCLASSNAME (0x13) - -#define NDR_PNP_DELETECLASSKEY (0x14) - -#define NDR_PNP_GETINTERFACEDEVICEALIAS (0x15) - -#define NDR_PNP_GETINTERFACEDEVICELIST (0x16) - -#define NDR_PNP_GETINTERFACEDEVICELISTSIZE (0x17) - -#define NDR_PNP_REGISTERDEVICECLASSASSOCIATION (0x18) - -#define NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION (0x19) - -#define NDR_PNP_GETCLASSREGPROP (0x1a) - -#define NDR_PNP_SETCLASSREGPROP (0x1b) - -#define NDR_PNP_CREATEDEVINST (0x1c) - -#define NDR_PNP_DEVICEINSTANCEACTION (0x1d) - -#define NDR_PNP_GETDEVICESTATUS (0x1e) - -#define NDR_PNP_SETDEVICEPROBLEM (0x1f) - -#define NDR_PNP_DISABLEDEVINST (0x20) - -#define NDR_PNP_UNINSTALLDEVINST (0x21) - -#define NDR_PNP_ADDID (0x22) - -#define NDR_PNP_REGISTERDRIVER (0x23) - -#define NDR_PNP_QUERYREMOVE (0x24) - -#define NDR_PNP_REQUESTDEVICEEJECT (0x25) - -#define NDR_PNP_ISDOCKSTATIONPRESENT (0x26) - -#define NDR_PNP_REQUESTEJECTPC (0x27) - -#define NDR_PNP_HWPROFFLAGS (0x28) - -#define NDR_PNP_GETHWPROFINFO (0x29) - -#define NDR_PNP_ADDEMPTYLOGCONF (0x2a) - -#define NDR_PNP_FREELOGCONF (0x2b) - -#define NDR_PNP_GETFIRSTLOGCONF (0x2c) - -#define NDR_PNP_GETNEXTLOGCONF (0x2d) - -#define NDR_PNP_GETLOGCONFPRIORITY (0x2e) - -#define NDR_PNP_ADDRESDES (0x2f) - -#define NDR_PNP_FREERESDES (0x30) - -#define NDR_PNP_GETNEXTRESDES (0x31) - -#define NDR_PNP_GETRESDESDATA (0x32) - -#define NDR_PNP_GETRESDESDATASIZE (0x33) - -#define NDR_PNP_MODIFYRESDES (0x34) - -#define NDR_PNP_DETECTRESOURCELIMIT (0x35) - -#define NDR_PNP_QUERYRESCONFLIST (0x36) - -#define NDR_PNP_SETHWPROF (0x37) - -#define NDR_PNP_QUERYARBITRATORFREEDATA (0x38) - -#define NDR_PNP_QUERYARBITRATORFREESIZE (0x39) - -#define NDR_PNP_RUNDETECTION (0x3a) - -#define NDR_PNP_REGISTERNOTIFICATION (0x3b) - -#define NDR_PNP_UNREGISTERNOTIFICATION (0x3c) - -#define NDR_PNP_GETCUSTOMDEVPROP (0x3d) - -#define NDR_PNP_GETVERSIONINTERNAL (0x3e) - -#define NDR_PNP_GETBLOCKEDDRIVERINFO (0x3f) - -#define NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS (0x40) - -#define NDR_NTSVCS_CALL_COUNT (65) -void ndr_print_PNP_GetIdListFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_PNP_HwProfInfo(struct ndr_print *ndr, const char *name, const struct PNP_HwProfInfo *r); -void ndr_print_PNP_Disconnect(struct ndr_print *ndr, const char *name, int flags, const struct PNP_Disconnect *r); -void ndr_print_PNP_Connect(struct ndr_print *ndr, const char *name, int flags, const struct PNP_Connect *r); -void ndr_print_PNP_GetVersion(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetVersion *r); -void ndr_print_PNP_GetGlobalState(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetGlobalState *r); -void ndr_print_PNP_InitDetection(struct ndr_print *ndr, const char *name, int flags, const struct PNP_InitDetection *r); -void ndr_print_PNP_ReportLogOn(struct ndr_print *ndr, const char *name, int flags, const struct PNP_ReportLogOn *r); -void ndr_print_PNP_ValidateDeviceInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_ValidateDeviceInstance *r); -void ndr_print_PNP_GetRootDeviceInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetRootDeviceInstance *r); -void ndr_print_PNP_GetRelatedDeviceInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetRelatedDeviceInstance *r); -void ndr_print_PNP_EnumerateSubKeys(struct ndr_print *ndr, const char *name, int flags, const struct PNP_EnumerateSubKeys *r); -void ndr_print_PNP_GetDeviceList(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceList *r); -void ndr_print_PNP_GetDeviceListSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceListSize *r); -void ndr_print_PNP_GetDepth(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDepth *r); -void ndr_print_PNP_GetDeviceRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceRegProp *r); -void ndr_print_PNP_SetDeviceRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetDeviceRegProp *r); -void ndr_print_PNP_GetClassInstance(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassInstance *r); -void ndr_print_PNP_CreateKey(struct ndr_print *ndr, const char *name, int flags, const struct PNP_CreateKey *r); -void ndr_print_PNP_DeleteRegistryKey(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DeleteRegistryKey *r); -void ndr_print_PNP_GetClassCount(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassCount *r); -void ndr_print_PNP_GetClassName(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassName *r); -void ndr_print_PNP_DeleteClassKey(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DeleteClassKey *r); -void ndr_print_PNP_GetInterfaceDeviceAlias(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetInterfaceDeviceAlias *r); -void ndr_print_PNP_GetInterfaceDeviceList(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetInterfaceDeviceList *r); -void ndr_print_PNP_GetInterfaceDeviceListSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetInterfaceDeviceListSize *r); -void ndr_print_PNP_RegisterDeviceClassAssociation(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RegisterDeviceClassAssociation *r); -void ndr_print_PNP_UnregisterDeviceClassAssociation(struct ndr_print *ndr, const char *name, int flags, const struct PNP_UnregisterDeviceClassAssociation *r); -void ndr_print_PNP_GetClassRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetClassRegProp *r); -void ndr_print_PNP_SetClassRegProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetClassRegProp *r); -void ndr_print_PNP_CreateDevInst(struct ndr_print *ndr, const char *name, int flags, const struct PNP_CreateDevInst *r); -void ndr_print_PNP_DeviceInstanceAction(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DeviceInstanceAction *r); -void ndr_print_PNP_GetDeviceStatus(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetDeviceStatus *r); -void ndr_print_PNP_SetDeviceProblem(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetDeviceProblem *r); -void ndr_print_PNP_DisableDevInst(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DisableDevInst *r); -void ndr_print_PNP_UninstallDevInst(struct ndr_print *ndr, const char *name, int flags, const struct PNP_UninstallDevInst *r); -void ndr_print_PNP_AddID(struct ndr_print *ndr, const char *name, int flags, const struct PNP_AddID *r); -void ndr_print_PNP_RegisterDriver(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RegisterDriver *r); -void ndr_print_PNP_QueryRemove(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryRemove *r); -void ndr_print_PNP_RequestDeviceEject(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RequestDeviceEject *r); -void ndr_print_PNP_IsDockStationPresent(struct ndr_print *ndr, const char *name, int flags, const struct PNP_IsDockStationPresent *r); -void ndr_print_PNP_RequestEjectPC(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RequestEjectPC *r); -void ndr_print_PNP_HwProfFlags(struct ndr_print *ndr, const char *name, int flags, const struct PNP_HwProfFlags *r); -void ndr_print_PNP_GetHwProfInfo(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetHwProfInfo *r); -void ndr_print_PNP_AddEmptyLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_AddEmptyLogConf *r); -void ndr_print_PNP_FreeLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_FreeLogConf *r); -void ndr_print_PNP_GetFirstLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetFirstLogConf *r); -void ndr_print_PNP_GetNextLogConf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetNextLogConf *r); -void ndr_print_PNP_GetLogConfPriority(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetLogConfPriority *r); -void ndr_print_PNP_AddResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_AddResDes *r); -void ndr_print_PNP_FreeResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_FreeResDes *r); -void ndr_print_PNP_GetNextResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetNextResDes *r); -void ndr_print_PNP_GetResDesData(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetResDesData *r); -void ndr_print_PNP_GetResDesDataSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetResDesDataSize *r); -void ndr_print_PNP_ModifyResDes(struct ndr_print *ndr, const char *name, int flags, const struct PNP_ModifyResDes *r); -void ndr_print_PNP_DetectResourceLimit(struct ndr_print *ndr, const char *name, int flags, const struct PNP_DetectResourceLimit *r); -void ndr_print_PNP_QueryResConfList(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryResConfList *r); -void ndr_print_PNP_SetHwProf(struct ndr_print *ndr, const char *name, int flags, const struct PNP_SetHwProf *r); -void ndr_print_PNP_QueryArbitratorFreeData(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryArbitratorFreeData *r); -void ndr_print_PNP_QueryArbitratorFreeSize(struct ndr_print *ndr, const char *name, int flags, const struct PNP_QueryArbitratorFreeSize *r); -void ndr_print_PNP_RunDetection(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RunDetection *r); -void ndr_print_PNP_RegisterNotification(struct ndr_print *ndr, const char *name, int flags, const struct PNP_RegisterNotification *r); -void ndr_print_PNP_UnregisterNotification(struct ndr_print *ndr, const char *name, int flags, const struct PNP_UnregisterNotification *r); -void ndr_print_PNP_GetCustomDevProp(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetCustomDevProp *r); -void ndr_print_PNP_GetVersionInternal(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetVersionInternal *r); -void ndr_print_PNP_GetBlockedDriverInfo(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetBlockedDriverInfo *r); -void ndr_print_PNP_GetServerSideDeviceInstallFlags(struct ndr_print *ndr, const char *name, int flags, const struct PNP_GetServerSideDeviceInstallFlags *r); -#endif /* _HEADER_NDR_ntsvcs */ diff --git a/librpc/gen_ndr/ndr_rap.c b/librpc/gen_ndr/ndr_rap.c deleted file mode 100644 index 3bd7a7687aa..00000000000 --- a/librpc/gen_ndr/ndr_rap.c +++ /dev/null @@ -1,4448 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_rap.h" - -_PUBLIC_ enum ndr_err_code ndr_push_rap_status(struct ndr_push *ndr, int ndr_flags, enum rap_status r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_status(struct ndr_pull *ndr, int ndr_flags, enum rap_status *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_push_rap_share_info_0(struct ndr_push *ndr, int ndr_flags, const struct rap_share_info_0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_share_info_0(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 13)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_share_info_0(struct ndr_print *ndr, const char *name, const struct rap_share_info_0 *r) -{ - ndr_print_struct(ndr, name, "rap_share_info_0"); - ndr->depth++; - ndr_print_array_uint8(ndr, "share_name", r->share_name, 13); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_share_info_1(struct ndr_push *ndr, int ndr_flags, const struct rap_share_info_1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_share_info_1(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_1 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 13)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_share_info_1(struct ndr_print *ndr, const char *name, const struct rap_share_info_1 *r) -{ - ndr_print_struct(ndr, name, "rap_share_info_1"); - ndr->depth++; - ndr_print_array_uint8(ndr, "share_name", r->share_name, 13); - ndr_print_uint8(ndr, "reserved1", r->reserved1); - ndr_print_uint16(ndr, "share_type", r->share_type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_share_info_2(struct ndr_push *ndr, int ndr_flags, const struct rap_share_info_2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 13)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->perms)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->maximum_users)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->active_users)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, 9)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->path) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_share_info_2(struct ndr_pull *ndr, int ndr_flags, struct rap_share_info_2 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 13)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->perms)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->maximum_users)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->active_users)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, 9)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_share_info_2(struct ndr_print *ndr, const char *name, const struct rap_share_info_2 *r) -{ - ndr_print_struct(ndr, name, "rap_share_info_2"); - ndr->depth++; - ndr_print_array_uint8(ndr, "share_name", r->share_name, 13); - ndr_print_uint8(ndr, "reserved1", r->reserved1); - ndr_print_uint16(ndr, "share_type", r->share_type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_uint16(ndr, "perms", r->perms); - ndr_print_uint16(ndr, "maximum_users", r->maximum_users); - ndr_print_uint16(ndr, "active_users", r->active_users); - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_array_uint8(ndr, "password", r->password, 9); - ndr_print_uint8(ndr, "reserved2", r->reserved2); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_share_info(struct ndr_push *ndr, int ndr_flags, const union rap_share_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_rap_share_info_0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_rap_share_info_1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_rap_share_info_2(ndr, NDR_SCALARS, &r->info2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_push_rap_share_info_1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_rap_share_info_2(ndr, NDR_BUFFERS, &r->info2)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_share_info(struct ndr_pull *ndr, int ndr_flags, union rap_share_info *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_pull_rap_share_info_0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_rap_share_info_1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_rap_share_info_2(ndr, NDR_SCALARS, &r->info2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_pull_rap_share_info_1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_rap_share_info_2(ndr, NDR_BUFFERS, &r->info2)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_share_info(struct ndr_print *ndr, const char *name, const union rap_share_info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "rap_share_info"); - switch (level) { - case 0: - ndr_print_rap_share_info_0(ndr, "info0", &r->info0); - break; - - case 1: - ndr_print_rap_share_info_1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_rap_share_info_2(ndr, "info2", &r->info2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_rap_server_info_0(struct ndr_push *ndr, int ndr_flags, const struct rap_server_info_0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->name, 16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_server_info_0(struct ndr_pull *ndr, int ndr_flags, struct rap_server_info_0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->name, 16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_server_info_0(struct ndr_print *ndr, const char *name, const struct rap_server_info_0 *r) -{ - ndr_print_struct(ndr, name, "rap_server_info_0"); - ndr->depth++; - ndr_print_array_uint8(ndr, "name", r->name, 16); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_server_info_1(struct ndr_push *ndr, int ndr_flags, const struct rap_server_info_1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->name, 16)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_major)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_minor)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->servertype)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_server_info_1(struct ndr_pull *ndr, int ndr_flags, struct rap_server_info_1 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->name, 16)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_major)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_minor)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->servertype)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_server_info_1(struct ndr_print *ndr, const char *name, const struct rap_server_info_1 *r) -{ - ndr_print_struct(ndr, name, "rap_server_info_1"); - ndr->depth++; - ndr_print_array_uint8(ndr, "name", r->name, 16); - ndr_print_uint8(ndr, "version_major", r->version_major); - ndr_print_uint8(ndr, "version_minor", r->version_minor); - ndr_print_uint32(ndr, "servertype", r->servertype); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_server_info(struct ndr_push *ndr, int ndr_flags, const union rap_server_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_rap_server_info_0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_rap_server_info_1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_push_rap_server_info_1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_server_info(struct ndr_pull *ndr, int ndr_flags, union rap_server_info *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_pull_rap_server_info_0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_rap_server_info_1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_pull_rap_server_info_1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_server_info(struct ndr_print *ndr, const char *name, const union rap_server_info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "rap_server_info"); - switch (level) { - case 0: - ndr_print_rap_server_info_0(ndr, "info0", &r->info0); - break; - - case 1: - ndr_print_rap_server_info_1(ndr, "info1", &r->info1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_PrintJStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintJStatusCode r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintJStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintJStatusCode *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintJStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintJStatusCode r) -{ - const char *val = NULL; - - switch (r) { - case PRJ_QS_QUEUED: val = "PRJ_QS_QUEUED"; break; - case PRJ_QS_PAUSED: val = "PRJ_QS_PAUSED"; break; - case PRJ_QS_SPOOLING: val = "PRJ_QS_SPOOLING"; break; - case PRJ_QS_PRINTING: val = "PRJ_QS_PRINTING"; break; - case PRJ_QS_ERROR: val = "PRJ_QS_ERROR"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_rap_PrintJobInfo0(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintJobInfo0(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintJobInfo0(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo0 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintJobInfo0"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->JobID); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->UserName, 21, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->NotifyName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->DataType, 10, sizeof(uint8_t), CH_DOS)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition)); - NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobStatusString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobStatusStringHigh)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobStatusString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobStatusString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobStatusString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobCommentString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobCommentString)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo1 *r) -{ - uint16_t _ptr_PrintParameterString; - TALLOC_CTX *_mem_save_PrintParameterString_0; - uint16_t _ptr_JobStatusString; - TALLOC_CTX *_mem_save_JobStatusString_0; - uint16_t _ptr_JobCommentString; - TALLOC_CTX *_mem_save_JobCommentString_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->UserName, 21, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->NotifyName, 16, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->DataType, 10, sizeof(uint8_t), CH_DOS)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString)); - if (_ptr_PrintParameterString) { - NDR_PULL_ALLOC(ndr, r->PrintParameterString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString)); - } else { - r->PrintParameterString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition)); - NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobStatusString)); - if (_ptr_JobStatusString) { - NDR_PULL_ALLOC(ndr, r->JobStatusString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobStatusString, _ptr_JobStatusString)); - } else { - r->JobStatusString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobStatusStringHigh)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString)); - if (_ptr_JobCommentString) { - NDR_PULL_ALLOC(ndr, r->JobCommentString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString)); - } else { - r->JobCommentString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString)); - _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobStatusString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobStatusString)); - _mem_save_JobStatusString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->JobStatusString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobStatusString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobStatusString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobCommentString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString)); - _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobCommentString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo1 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintJobInfo1"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->JobID); - ndr_print_string(ndr, "UserName", r->UserName); - ndr_print_uint8(ndr, "Pad", r->Pad); - ndr_print_string(ndr, "NotifyName", r->NotifyName); - ndr_print_string(ndr, "DataType", r->DataType); - ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString); - ndr->depth++; - if (r->PrintParameterString) { - ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh); - ndr_print_uint16(ndr, "JobPosition", r->JobPosition); - ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus); - ndr_print_ptr(ndr, "JobStatusString", r->JobStatusString); - ndr->depth++; - if (r->JobStatusString) { - ndr_print_string(ndr, "JobStatusString", r->JobStatusString); - } - ndr->depth--; - ndr_print_uint16(ndr, "JobStatusStringHigh", r->JobStatusStringHigh); - ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted); - ndr_print_uint32(ndr, "JobSize", r->JobSize); - ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString); - ndr->depth++; - if (r->JobCommentString) { - ndr_print_string(ndr, "JobCommentString", r->JobCommentString); - } - ndr->depth--; - ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition)); - NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DocumentName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DocumentNameHigh)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->UserName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UserName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobCommentString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobCommentString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DocumentName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DocumentName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DocumentName)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo2 *r) -{ - uint16_t _ptr_UserName; - TALLOC_CTX *_mem_save_UserName_0; - uint16_t _ptr_JobCommentString; - TALLOC_CTX *_mem_save_JobCommentString_0; - uint16_t _ptr_DocumentName; - TALLOC_CTX *_mem_save_DocumentName_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName)); - if (_ptr_UserName) { - NDR_PULL_ALLOC(ndr, r->UserName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName)); - } else { - r->UserName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition)); - NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString)); - if (_ptr_JobCommentString) { - NDR_PULL_ALLOC(ndr, r->JobCommentString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString)); - } else { - r->JobCommentString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DocumentName)); - if (_ptr_DocumentName) { - NDR_PULL_ALLOC(ndr, r->DocumentName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DocumentName, _ptr_DocumentName)); - } else { - r->DocumentName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DocumentNameHigh)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->UserName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName)); - _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UserName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobCommentString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString)); - _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobCommentString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DocumentName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DocumentName)); - _mem_save_DocumentName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DocumentName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DocumentName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DocumentName_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintJobInfo2(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo2 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintJobInfo2"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->JobID); - ndr_print_uint16(ndr, "Priority", r->Priority); - ndr_print_ptr(ndr, "UserName", r->UserName); - ndr->depth++; - if (r->UserName) { - ndr_print_string(ndr, "UserName", r->UserName); - } - ndr->depth--; - ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh); - ndr_print_uint16(ndr, "JobPosition", r->JobPosition); - ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus); - ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted); - ndr_print_uint32(ndr, "JobSize", r->JobSize); - ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString); - ndr->depth++; - if (r->JobCommentString) { - ndr_print_string(ndr, "JobCommentString", r->JobCommentString); - } - ndr->depth--; - ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh); - ndr_print_ptr(ndr, "DocumentName", r->DocumentName); - ndr->depth++; - if (r->DocumentName) { - ndr_print_string(ndr, "DocumentName", r->DocumentName); - } - ndr->depth--; - ndr_print_uint16(ndr, "DocumentNameHigh", r->DocumentNameHigh); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintJobInfo3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition)); - NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus)); - NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DocumentName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DocumentNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->NotifyName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NotifyNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DataType)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DataTypeHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->StatusString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StatusStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->QueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->QueueNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorParams)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorParamsHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverDataOffset)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverDataOffsetHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrinterNameOffset)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrinterNameOffsetHigh)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->UserName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->UserName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobCommentString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->JobCommentString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DocumentName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DocumentName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DocumentName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->NotifyName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->NotifyName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->NotifyName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DataType) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DataType)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DataType)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->StatusString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->StatusString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->StatusString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->QueueName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->QueueName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->QueueName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorParams) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorParams)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorParams)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DriverName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DriverName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DriverDataOffset) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverDataOffset)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DriverDataOffset)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrinterNameOffset) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrinterNameOffset)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrinterNameOffset)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintJobInfo3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo3 *r) -{ - uint16_t _ptr_UserName; - TALLOC_CTX *_mem_save_UserName_0; - uint16_t _ptr_JobCommentString; - TALLOC_CTX *_mem_save_JobCommentString_0; - uint16_t _ptr_DocumentName; - TALLOC_CTX *_mem_save_DocumentName_0; - uint16_t _ptr_NotifyName; - TALLOC_CTX *_mem_save_NotifyName_0; - uint16_t _ptr_DataType; - TALLOC_CTX *_mem_save_DataType_0; - uint16_t _ptr_PrintParameterString; - TALLOC_CTX *_mem_save_PrintParameterString_0; - uint16_t _ptr_StatusString; - TALLOC_CTX *_mem_save_StatusString_0; - uint16_t _ptr_QueueName; - TALLOC_CTX *_mem_save_QueueName_0; - uint16_t _ptr_PrintProcessorName; - TALLOC_CTX *_mem_save_PrintProcessorName_0; - uint16_t _ptr_PrintProcessorParams; - TALLOC_CTX *_mem_save_PrintProcessorParams_0; - uint16_t _ptr_DriverName; - TALLOC_CTX *_mem_save_DriverName_0; - uint16_t _ptr_DriverDataOffset; - TALLOC_CTX *_mem_save_DriverDataOffset_0; - uint16_t _ptr_PrinterNameOffset; - TALLOC_CTX *_mem_save_PrinterNameOffset_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName)); - if (_ptr_UserName) { - NDR_PULL_ALLOC(ndr, r->UserName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName)); - } else { - r->UserName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition)); - NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus)); - NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString)); - if (_ptr_JobCommentString) { - NDR_PULL_ALLOC(ndr, r->JobCommentString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString)); - } else { - r->JobCommentString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DocumentName)); - if (_ptr_DocumentName) { - NDR_PULL_ALLOC(ndr, r->DocumentName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DocumentName, _ptr_DocumentName)); - } else { - r->DocumentName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DocumentNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_NotifyName)); - if (_ptr_NotifyName) { - NDR_PULL_ALLOC(ndr, r->NotifyName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->NotifyName, _ptr_NotifyName)); - } else { - r->NotifyName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NotifyNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DataType)); - if (_ptr_DataType) { - NDR_PULL_ALLOC(ndr, r->DataType); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DataType, _ptr_DataType)); - } else { - r->DataType = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DataTypeHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString)); - if (_ptr_PrintParameterString) { - NDR_PULL_ALLOC(ndr, r->PrintParameterString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString)); - } else { - r->PrintParameterString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_StatusString)); - if (_ptr_StatusString) { - NDR_PULL_ALLOC(ndr, r->StatusString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->StatusString, _ptr_StatusString)); - } else { - r->StatusString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StatusStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_QueueName)); - if (_ptr_QueueName) { - NDR_PULL_ALLOC(ndr, r->QueueName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->QueueName, _ptr_QueueName)); - } else { - r->QueueName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->QueueNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorName)); - if (_ptr_PrintProcessorName) { - NDR_PULL_ALLOC(ndr, r->PrintProcessorName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorName, _ptr_PrintProcessorName)); - } else { - r->PrintProcessorName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorParams)); - if (_ptr_PrintProcessorParams) { - NDR_PULL_ALLOC(ndr, r->PrintProcessorParams); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorParams, _ptr_PrintProcessorParams)); - } else { - r->PrintProcessorParams = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorParamsHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverName)); - if (_ptr_DriverName) { - NDR_PULL_ALLOC(ndr, r->DriverName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverName, _ptr_DriverName)); - } else { - r->DriverName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverDataOffset)); - if (_ptr_DriverDataOffset) { - NDR_PULL_ALLOC(ndr, r->DriverDataOffset); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverDataOffset, _ptr_DriverDataOffset)); - } else { - r->DriverDataOffset = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverDataOffsetHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrinterNameOffset)); - if (_ptr_PrinterNameOffset) { - NDR_PULL_ALLOC(ndr, r->PrinterNameOffset); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrinterNameOffset, _ptr_PrinterNameOffset)); - } else { - r->PrinterNameOffset = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrinterNameOffsetHigh)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->UserName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName)); - _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->UserName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->JobCommentString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString)); - _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->JobCommentString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DocumentName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DocumentName)); - _mem_save_DocumentName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DocumentName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DocumentName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DocumentName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->NotifyName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->NotifyName)); - _mem_save_NotifyName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->NotifyName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->NotifyName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NotifyName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DataType) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DataType)); - _mem_save_DataType_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DataType, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DataType)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DataType_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString)); - _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->StatusString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->StatusString)); - _mem_save_StatusString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->StatusString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->StatusString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_StatusString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->QueueName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->QueueName)); - _mem_save_QueueName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->QueueName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->QueueName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_QueueName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorName)); - _mem_save_PrintProcessorName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorParams) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorParams)); - _mem_save_PrintProcessorParams_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorParams, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorParams)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorParams_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DriverName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverName)); - _mem_save_DriverName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DriverName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DriverName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DriverDataOffset) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverDataOffset)); - _mem_save_DriverDataOffset_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DriverDataOffset, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DriverDataOffset)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverDataOffset_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrinterNameOffset) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrinterNameOffset)); - _mem_save_PrinterNameOffset_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrinterNameOffset, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrinterNameOffset)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrinterNameOffset_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintJobInfo3(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo3 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintJobInfo3"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->JobID); - ndr_print_uint16(ndr, "Priority", r->Priority); - ndr_print_ptr(ndr, "UserName", r->UserName); - ndr->depth++; - if (r->UserName) { - ndr_print_string(ndr, "UserName", r->UserName); - } - ndr->depth--; - ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh); - ndr_print_uint16(ndr, "JobPosition", r->JobPosition); - ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus); - ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted); - ndr_print_uint32(ndr, "JobSize", r->JobSize); - ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString); - ndr->depth++; - if (r->JobCommentString) { - ndr_print_string(ndr, "JobCommentString", r->JobCommentString); - } - ndr->depth--; - ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh); - ndr_print_ptr(ndr, "DocumentName", r->DocumentName); - ndr->depth++; - if (r->DocumentName) { - ndr_print_string(ndr, "DocumentName", r->DocumentName); - } - ndr->depth--; - ndr_print_uint16(ndr, "DocumentNameHigh", r->DocumentNameHigh); - ndr_print_ptr(ndr, "NotifyName", r->NotifyName); - ndr->depth++; - if (r->NotifyName) { - ndr_print_string(ndr, "NotifyName", r->NotifyName); - } - ndr->depth--; - ndr_print_uint16(ndr, "NotifyNameHigh", r->NotifyNameHigh); - ndr_print_ptr(ndr, "DataType", r->DataType); - ndr->depth++; - if (r->DataType) { - ndr_print_string(ndr, "DataType", r->DataType); - } - ndr->depth--; - ndr_print_uint16(ndr, "DataTypeHigh", r->DataTypeHigh); - ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString); - ndr->depth++; - if (r->PrintParameterString) { - ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh); - ndr_print_ptr(ndr, "StatusString", r->StatusString); - ndr->depth++; - if (r->StatusString) { - ndr_print_string(ndr, "StatusString", r->StatusString); - } - ndr->depth--; - ndr_print_uint16(ndr, "StatusStringHigh", r->StatusStringHigh); - ndr_print_ptr(ndr, "QueueName", r->QueueName); - ndr->depth++; - if (r->QueueName) { - ndr_print_string(ndr, "QueueName", r->QueueName); - } - ndr->depth--; - ndr_print_uint16(ndr, "QueueNameHigh", r->QueueNameHigh); - ndr_print_ptr(ndr, "PrintProcessorName", r->PrintProcessorName); - ndr->depth++; - if (r->PrintProcessorName) { - ndr_print_string(ndr, "PrintProcessorName", r->PrintProcessorName); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintProcessorNameHigh", r->PrintProcessorNameHigh); - ndr_print_ptr(ndr, "PrintProcessorParams", r->PrintProcessorParams); - ndr->depth++; - if (r->PrintProcessorParams) { - ndr_print_string(ndr, "PrintProcessorParams", r->PrintProcessorParams); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintProcessorParamsHigh", r->PrintProcessorParamsHigh); - ndr_print_ptr(ndr, "DriverName", r->DriverName); - ndr->depth++; - if (r->DriverName) { - ndr_print_string(ndr, "DriverName", r->DriverName); - } - ndr->depth--; - ndr_print_uint16(ndr, "DriverNameHigh", r->DriverNameHigh); - ndr_print_ptr(ndr, "DriverDataOffset", r->DriverDataOffset); - ndr->depth++; - if (r->DriverDataOffset) { - ndr_print_string(ndr, "DriverDataOffset", r->DriverDataOffset); - } - ndr->depth--; - ndr_print_uint16(ndr, "DriverDataOffsetHigh", r->DriverDataOffsetHigh); - ndr_print_ptr(ndr, "PrinterNameOffset", r->PrinterNameOffset); - ndr->depth++; - if (r->PrinterNameOffset) { - ndr_print_string(ndr, "PrinterNameOffset", r->PrinterNameOffset); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrinterNameOffsetHigh", r->PrinterNameOffsetHigh); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_printj_info(struct ndr_push *ndr, int ndr_flags, const union rap_printj_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_rap_PrintJobInfo0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_rap_PrintJobInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_rap_PrintJobInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_printj_info(struct ndr_pull *ndr, int ndr_flags, union rap_printj_info *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_pull_rap_PrintJobInfo0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_rap_PrintJobInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_rap_PrintJobInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_printj_info(struct ndr_print *ndr, const char *name, const union rap_printj_info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "rap_printj_info"); - switch (level) { - case 0: - ndr_print_rap_PrintJobInfo0(ndr, "info0", &r->info0); - break; - - case 1: - ndr_print_rap_PrintJobInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_rap_PrintJobInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_rap_PrintJobInfo3(ndr, "info3", &r->info3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_PrintQStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintQStatusCode r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintQStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintQStatusCode *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintQStatusCode r) -{ - const char *val = NULL; - - switch (r) { - case PRQ_ACTIVE: val = "PRQ_ACTIVE"; break; - case PRQ_PAUSE: val = "PRQ_PAUSE"; break; - case PRQ_ERROR: val = "PRQ_ERROR"; break; - case PRQ_PENDING: val = "PRQ_PENDING"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_rap_PrintQueue0(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQName, 13, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintQueue0(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQName, 13, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQueue0(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue0 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintQueue0"); - ndr->depth++; - ndr_print_string(ndr, "PrintQName", r->PrintQName); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintQueue1(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQName, 13, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad1)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UntilTime)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->SeparatorPageFilename)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->SeparatorPageFilenameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorDllName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorDllNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintDestinationsName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintDestinationsNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CommentString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentStringHigh)); - NDR_CHECK(ndr_push_rap_PrintQStatusCode(ndr, NDR_SCALARS, r->PrintQStatus)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintJobCount)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->SeparatorPageFilename) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->SeparatorPageFilename)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->SeparatorPageFilename)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorDllName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorDllName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorDllName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintDestinationsName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintDestinationsName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintDestinationsName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->CommentString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CommentString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->CommentString)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintQueue1(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue1 *r) -{ - uint16_t _ptr_SeparatorPageFilename; - TALLOC_CTX *_mem_save_SeparatorPageFilename_0; - uint16_t _ptr_PrintProcessorDllName; - TALLOC_CTX *_mem_save_PrintProcessorDllName_0; - uint16_t _ptr_PrintDestinationsName; - TALLOC_CTX *_mem_save_PrintDestinationsName_0; - uint16_t _ptr_PrintParameterString; - TALLOC_CTX *_mem_save_PrintParameterString_0; - uint16_t _ptr_CommentString; - TALLOC_CTX *_mem_save_CommentString_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQName, 13, sizeof(uint8_t), CH_DOS)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad1)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UntilTime)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_SeparatorPageFilename)); - if (_ptr_SeparatorPageFilename) { - NDR_PULL_ALLOC(ndr, r->SeparatorPageFilename); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->SeparatorPageFilename, _ptr_SeparatorPageFilename)); - } else { - r->SeparatorPageFilename = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->SeparatorPageFilenameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorDllName)); - if (_ptr_PrintProcessorDllName) { - NDR_PULL_ALLOC(ndr, r->PrintProcessorDllName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorDllName, _ptr_PrintProcessorDllName)); - } else { - r->PrintProcessorDllName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorDllNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintDestinationsName)); - if (_ptr_PrintDestinationsName) { - NDR_PULL_ALLOC(ndr, r->PrintDestinationsName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintDestinationsName, _ptr_PrintDestinationsName)); - } else { - r->PrintDestinationsName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintDestinationsNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString)); - if (_ptr_PrintParameterString) { - NDR_PULL_ALLOC(ndr, r->PrintParameterString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString)); - } else { - r->PrintParameterString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CommentString)); - if (_ptr_CommentString) { - NDR_PULL_ALLOC(ndr, r->CommentString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CommentString, _ptr_CommentString)); - } else { - r->CommentString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentStringHigh)); - NDR_CHECK(ndr_pull_rap_PrintQStatusCode(ndr, NDR_SCALARS, &r->PrintQStatus)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintJobCount)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->SeparatorPageFilename) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->SeparatorPageFilename)); - _mem_save_SeparatorPageFilename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->SeparatorPageFilename, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->SeparatorPageFilename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SeparatorPageFilename_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorDllName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorDllName)); - _mem_save_PrintProcessorDllName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorDllName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorDllName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorDllName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintDestinationsName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintDestinationsName)); - _mem_save_PrintDestinationsName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintDestinationsName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintDestinationsName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintDestinationsName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString)); - _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->CommentString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CommentString)); - _mem_save_CommentString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->CommentString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->CommentString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CommentString_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQueue1(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue1 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintQueue1"); - ndr->depth++; - ndr_print_string(ndr, "PrintQName", r->PrintQName); - ndr_print_uint8(ndr, "Pad1", r->Pad1); - ndr_print_uint16(ndr, "Priority", r->Priority); - ndr_print_uint16(ndr, "StartTime", r->StartTime); - ndr_print_uint16(ndr, "UntilTime", r->UntilTime); - ndr_print_ptr(ndr, "SeparatorPageFilename", r->SeparatorPageFilename); - ndr->depth++; - if (r->SeparatorPageFilename) { - ndr_print_string(ndr, "SeparatorPageFilename", r->SeparatorPageFilename); - } - ndr->depth--; - ndr_print_uint16(ndr, "SeparatorPageFilenameHigh", r->SeparatorPageFilenameHigh); - ndr_print_ptr(ndr, "PrintProcessorDllName", r->PrintProcessorDllName); - ndr->depth++; - if (r->PrintProcessorDllName) { - ndr_print_string(ndr, "PrintProcessorDllName", r->PrintProcessorDllName); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintProcessorDllNameHigh", r->PrintProcessorDllNameHigh); - ndr_print_ptr(ndr, "PrintDestinationsName", r->PrintDestinationsName); - ndr->depth++; - if (r->PrintDestinationsName) { - ndr_print_string(ndr, "PrintDestinationsName", r->PrintDestinationsName); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintDestinationsNameHigh", r->PrintDestinationsNameHigh); - ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString); - ndr->depth++; - if (r->PrintParameterString) { - ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh); - ndr_print_ptr(ndr, "CommentString", r->CommentString); - ndr->depth++; - if (r->CommentString) { - ndr_print_string(ndr, "CommentString", r->CommentString); - } - ndr->depth--; - ndr_print_uint16(ndr, "CommentStringHigh", r->CommentStringHigh); - ndr_print_rap_PrintQStatusCode(ndr, "PrintQStatus", r->PrintQStatus); - ndr_print_uint16(ndr, "PrintJobCount", r->PrintJobCount); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintQueue2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue2 *r) -{ - uint32_t cntr_job_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_SCALARS, &r->queue)); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->job[cntr_job_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->queue)); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_push_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->job[cntr_job_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintQueue2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue2 *r) -{ - uint32_t cntr_job_0; - TALLOC_CTX *_mem_save_job_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_SCALARS, &r->queue)); - NDR_PULL_ALLOC_N(ndr, r->job, r->queue.PrintJobCount); - _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->job, 0); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_SCALARS, &r->job[cntr_job_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->queue)); - _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->job, 0); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_pull_rap_PrintJobInfo1(ndr, NDR_BUFFERS, &r->job[cntr_job_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQueue2(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue2 *r) -{ - uint32_t cntr_job_0; - ndr_print_struct(ndr, name, "rap_PrintQueue2"); - ndr->depth++; - ndr_print_rap_PrintQueue1(ndr, "queue", &r->queue); - ndr->print(ndr, "%s: ARRAY(%d)", "job", (int)r->queue.PrintJobCount); - ndr->depth++; - for (cntr_job_0=0;cntr_job_0queue.PrintJobCount;cntr_job_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_job_0) != -1) { - ndr_print_rap_PrintJobInfo1(ndr, "job", &r->job[cntr_job_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_PrintQueue3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintQueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UntilTime)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Pad)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->SeparatorPageFilename)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->SeparatorPageFilenameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintProcessorDllName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintProcessorDllNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->CommentString)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->CommentStringHigh)); - NDR_CHECK(ndr_push_rap_PrintQStatusCode(ndr, NDR_SCALARS, r->PrintQStatus)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintJobCount)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->Printers)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintersHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DriverName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DriverNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintDriverData)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintDriverDataHigh)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintQueueName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintQueueName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintQueueName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->SeparatorPageFilename) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->SeparatorPageFilename)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->SeparatorPageFilename)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorDllName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintProcessorDllName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintProcessorDllName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintParameterString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintParameterString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->CommentString) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->CommentString)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->CommentString)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->Printers) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->Printers)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->Printers)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DriverName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DriverName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DriverName)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintDriverData) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintDriverData)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintDriverData)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_PrintQueue3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue3 *r) -{ - uint16_t _ptr_PrintQueueName; - TALLOC_CTX *_mem_save_PrintQueueName_0; - uint16_t _ptr_SeparatorPageFilename; - TALLOC_CTX *_mem_save_SeparatorPageFilename_0; - uint16_t _ptr_PrintProcessorDllName; - TALLOC_CTX *_mem_save_PrintProcessorDllName_0; - uint16_t _ptr_PrintParameterString; - TALLOC_CTX *_mem_save_PrintParameterString_0; - uint16_t _ptr_CommentString; - TALLOC_CTX *_mem_save_CommentString_0; - uint16_t _ptr_Printers; - TALLOC_CTX *_mem_save_Printers_0; - uint16_t _ptr_DriverName; - TALLOC_CTX *_mem_save_DriverName_0; - uint16_t _ptr_PrintDriverData; - TALLOC_CTX *_mem_save_PrintDriverData_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintQueueName)); - if (_ptr_PrintQueueName) { - NDR_PULL_ALLOC(ndr, r->PrintQueueName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintQueueName, _ptr_PrintQueueName)); - } else { - r->PrintQueueName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UntilTime)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Pad)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_SeparatorPageFilename)); - if (_ptr_SeparatorPageFilename) { - NDR_PULL_ALLOC(ndr, r->SeparatorPageFilename); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->SeparatorPageFilename, _ptr_SeparatorPageFilename)); - } else { - r->SeparatorPageFilename = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->SeparatorPageFilenameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintProcessorDllName)); - if (_ptr_PrintProcessorDllName) { - NDR_PULL_ALLOC(ndr, r->PrintProcessorDllName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintProcessorDllName, _ptr_PrintProcessorDllName)); - } else { - r->PrintProcessorDllName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintProcessorDllNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString)); - if (_ptr_PrintParameterString) { - NDR_PULL_ALLOC(ndr, r->PrintParameterString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintParameterString, _ptr_PrintParameterString)); - } else { - r->PrintParameterString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintParameterStringHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_CommentString)); - if (_ptr_CommentString) { - NDR_PULL_ALLOC(ndr, r->CommentString); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->CommentString, _ptr_CommentString)); - } else { - r->CommentString = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->CommentStringHigh)); - NDR_CHECK(ndr_pull_rap_PrintQStatusCode(ndr, NDR_SCALARS, &r->PrintQStatus)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintJobCount)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_Printers)); - if (_ptr_Printers) { - NDR_PULL_ALLOC(ndr, r->Printers); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->Printers, _ptr_Printers)); - } else { - r->Printers = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintersHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DriverName)); - if (_ptr_DriverName) { - NDR_PULL_ALLOC(ndr, r->DriverName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DriverName, _ptr_DriverName)); - } else { - r->DriverName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DriverNameHigh)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintDriverData)); - if (_ptr_PrintDriverData) { - NDR_PULL_ALLOC(ndr, r->PrintDriverData); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintDriverData, _ptr_PrintDriverData)); - } else { - r->PrintDriverData = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintDriverDataHigh)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintQueueName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintQueueName)); - _mem_save_PrintQueueName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintQueueName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintQueueName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintQueueName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->SeparatorPageFilename) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->SeparatorPageFilename)); - _mem_save_SeparatorPageFilename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->SeparatorPageFilename, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->SeparatorPageFilename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SeparatorPageFilename_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintProcessorDllName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintProcessorDllName)); - _mem_save_PrintProcessorDllName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintProcessorDllName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintProcessorDllName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintProcessorDllName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintParameterString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintParameterString)); - _mem_save_PrintParameterString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintParameterString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintParameterString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->CommentString) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->CommentString)); - _mem_save_CommentString_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->CommentString, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->CommentString)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_CommentString_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->Printers) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->Printers)); - _mem_save_Printers_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->Printers, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->Printers)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Printers_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->DriverName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DriverName)); - _mem_save_DriverName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->DriverName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DriverName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DriverName_0, 0); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintDriverData) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintDriverData)); - _mem_save_PrintDriverData_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintDriverData, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintDriverData)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintDriverData_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQueue3(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue3 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintQueue3"); - ndr->depth++; - ndr_print_ptr(ndr, "PrintQueueName", r->PrintQueueName); - ndr->depth++; - if (r->PrintQueueName) { - ndr_print_string(ndr, "PrintQueueName", r->PrintQueueName); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh); - ndr_print_uint16(ndr, "Priority", r->Priority); - ndr_print_uint16(ndr, "StartTime", r->StartTime); - ndr_print_uint16(ndr, "UntilTime", r->UntilTime); - ndr_print_uint16(ndr, "Pad", r->Pad); - ndr_print_ptr(ndr, "SeparatorPageFilename", r->SeparatorPageFilename); - ndr->depth++; - if (r->SeparatorPageFilename) { - ndr_print_string(ndr, "SeparatorPageFilename", r->SeparatorPageFilename); - } - ndr->depth--; - ndr_print_uint16(ndr, "SeparatorPageFilenameHigh", r->SeparatorPageFilenameHigh); - ndr_print_ptr(ndr, "PrintProcessorDllName", r->PrintProcessorDllName); - ndr->depth++; - if (r->PrintProcessorDllName) { - ndr_print_string(ndr, "PrintProcessorDllName", r->PrintProcessorDllName); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintProcessorDllNameHigh", r->PrintProcessorDllNameHigh); - ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString); - ndr->depth++; - if (r->PrintParameterString) { - ndr_print_string(ndr, "PrintParameterString", r->PrintParameterString); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintParameterStringHigh", r->PrintParameterStringHigh); - ndr_print_ptr(ndr, "CommentString", r->CommentString); - ndr->depth++; - if (r->CommentString) { - ndr_print_string(ndr, "CommentString", r->CommentString); - } - ndr->depth--; - ndr_print_uint16(ndr, "CommentStringHigh", r->CommentStringHigh); - ndr_print_rap_PrintQStatusCode(ndr, "PrintQStatus", r->PrintQStatus); - ndr_print_uint16(ndr, "PrintJobCount", r->PrintJobCount); - ndr_print_ptr(ndr, "Printers", r->Printers); - ndr->depth++; - if (r->Printers) { - ndr_print_string(ndr, "Printers", r->Printers); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintersHigh", r->PrintersHigh); - ndr_print_ptr(ndr, "DriverName", r->DriverName); - ndr->depth++; - if (r->DriverName) { - ndr_print_string(ndr, "DriverName", r->DriverName); - } - ndr->depth--; - ndr_print_uint16(ndr, "DriverNameHigh", r->DriverNameHigh); - ndr_print_ptr(ndr, "PrintDriverData", r->PrintDriverData); - ndr->depth++; - if (r->PrintDriverData) { - ndr_print_string(ndr, "PrintDriverData", r->PrintDriverData); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintDriverDataHigh", r->PrintDriverDataHigh); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintQueue4(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue4 *r) -{ - uint32_t cntr_job_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_SCALARS, &r->queue)); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->job[cntr_job_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->queue)); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->job[cntr_job_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintQueue4(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue4 *r) -{ - uint32_t cntr_job_0; - TALLOC_CTX *_mem_save_job_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_SCALARS, &r->queue)); - NDR_PULL_ALLOC_N(ndr, r->job, r->queue.PrintJobCount); - _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->job, 0); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->job[cntr_job_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->queue)); - _mem_save_job_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->job, 0); - for (cntr_job_0 = 0; cntr_job_0 < r->queue.PrintJobCount; cntr_job_0++) { - NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->job[cntr_job_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQueue4(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue4 *r) -{ - uint32_t cntr_job_0; - ndr_print_struct(ndr, name, "rap_PrintQueue4"); - ndr->depth++; - ndr_print_rap_PrintQueue3(ndr, "queue", &r->queue); - ndr->print(ndr, "%s: ARRAY(%d)", "job", (int)r->queue.PrintJobCount); - ndr->depth++; - for (cntr_job_0=0;cntr_job_0queue.PrintJobCount;cntr_job_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_job_0) != -1) { - ndr_print_rap_PrintJobInfo2(ndr, "job", &r->job[cntr_job_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_rap_PrintQueue5(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintQueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintQueueNameHigh)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintQueueName) { - NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->PrintQueueName)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->PrintQueueName)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_PrintQueue5(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue5 *r) -{ - uint16_t _ptr_PrintQueueName; - TALLOC_CTX *_mem_save_PrintQueueName_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintQueueName)); - if (_ptr_PrintQueueName) { - NDR_PULL_ALLOC(ndr, r->PrintQueueName); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->PrintQueueName, _ptr_PrintQueueName)); - } else { - r->PrintQueueName = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->PrintQueueNameHigh)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->PrintQueueName) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->PrintQueueName)); - _mem_save_PrintQueueName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->PrintQueueName, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->PrintQueueName)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_PrintQueueName_0, 0); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_PrintQueue5(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue5 *r) -{ - ndr_print_struct(ndr, name, "rap_PrintQueue5"); - ndr->depth++; - ndr_print_ptr(ndr, "PrintQueueName", r->PrintQueueName); - ndr->depth++; - if (r->PrintQueueName) { - ndr_print_string(ndr, "PrintQueueName", r->PrintQueueName); - } - ndr->depth--; - ndr_print_uint16(ndr, "PrintQueueNameHigh", r->PrintQueueNameHigh); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_printq_info(struct ndr_push *ndr, int ndr_flags, const union rap_printq_info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_rap_PrintQueue0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_rap_PrintQueue2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_rap_PrintQueue4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_rap_PrintQueue5(ndr, NDR_SCALARS, &r->info5)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_push_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_rap_PrintQueue2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_push_rap_PrintQueue4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_push_rap_PrintQueue5(ndr, NDR_BUFFERS, &r->info5)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_printq_info(struct ndr_pull *ndr, int ndr_flags, union rap_printq_info *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_pull_rap_PrintQueue0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_rap_PrintQueue2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_rap_PrintQueue4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_rap_PrintQueue5(ndr, NDR_SCALARS, &r->info5)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - NDR_CHECK(ndr_pull_rap_PrintQueue1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_rap_PrintQueue2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_pull_rap_PrintQueue4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_pull_rap_PrintQueue5(ndr, NDR_BUFFERS, &r->info5)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_printq_info(struct ndr_print *ndr, const char *name, const union rap_printq_info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "rap_printq_info"); - switch (level) { - case 0: - ndr_print_rap_PrintQueue0(ndr, "info0", &r->info0); - break; - - case 1: - ndr_print_rap_PrintQueue1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_rap_PrintQueue2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_rap_PrintQueue3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_rap_PrintQueue4(ndr, "info4", &r->info4); - break; - - case 5: - ndr_print_rap_PrintQueue5(ndr, "info5", &r->info5); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_rap_JobInfoParamNum(struct ndr_push *ndr, int ndr_flags, enum rap_JobInfoParamNum r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_JobInfoParamNum(struct ndr_pull *ndr, int ndr_flags, enum rap_JobInfoParamNum *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_JobInfoParamNum(struct ndr_print *ndr, const char *name, enum rap_JobInfoParamNum r) -{ - const char *val = NULL; - - switch (r) { - case RAP_PARAM_JOBNUM: val = "RAP_PARAM_JOBNUM"; break; - case RAP_PARAM_USERNAME: val = "RAP_PARAM_USERNAME"; break; - case RAP_PARAM_NOTIFYNAME: val = "RAP_PARAM_NOTIFYNAME"; break; - case RAP_PARAM_DATATYPE: val = "RAP_PARAM_DATATYPE"; break; - case RAP_PARAM_PARAMETERS_STRING: val = "RAP_PARAM_PARAMETERS_STRING"; break; - case RAP_PARAM_JOBPOSITION: val = "RAP_PARAM_JOBPOSITION"; break; - case RAP_PARAM_JOBSTATUS: val = "RAP_PARAM_JOBSTATUS"; break; - case RAP_PARAM_JOBSTATUSSTR: val = "RAP_PARAM_JOBSTATUSSTR"; break; - case RAP_PARAM_TIMESUBMITTED: val = "RAP_PARAM_TIMESUBMITTED"; break; - case RAP_PARAM_JOBSIZE: val = "RAP_PARAM_JOBSIZE"; break; - case RAP_PARAM_JOBCOMMENT: val = "RAP_PARAM_JOBCOMMENT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_rap_JobInfoParam(struct ndr_push *ndr, int ndr_flags, const union rap_JobInfoParam *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case RAP_PARAM_JOBNUM: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->value)); - break; } - - case RAP_PARAM_USERNAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_NOTIFYNAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_DATATYPE: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_PARAMETERS_STRING: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_JOBPOSITION: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->value)); - break; } - - case RAP_PARAM_JOBSTATUS: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->value)); - break; } - - case RAP_PARAM_JOBSTATUSSTR: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_TIMESUBMITTED: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value4)); - break; } - - case RAP_PARAM_JOBSIZE: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value4)); - break; } - - case RAP_PARAM_JOBCOMMENT: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case RAP_PARAM_JOBNUM: - break; - - case RAP_PARAM_USERNAME: - break; - - case RAP_PARAM_NOTIFYNAME: - break; - - case RAP_PARAM_DATATYPE: - break; - - case RAP_PARAM_PARAMETERS_STRING: - break; - - case RAP_PARAM_JOBPOSITION: - break; - - case RAP_PARAM_JOBSTATUS: - break; - - case RAP_PARAM_JOBSTATUSSTR: - break; - - case RAP_PARAM_TIMESUBMITTED: - break; - - case RAP_PARAM_JOBSIZE: - break; - - case RAP_PARAM_JOBCOMMENT: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_rap_JobInfoParam(struct ndr_pull *ndr, int ndr_flags, union rap_JobInfoParam *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case RAP_PARAM_JOBNUM: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->value)); - break; } - - case RAP_PARAM_USERNAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_NOTIFYNAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_DATATYPE: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_PARAMETERS_STRING: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_JOBPOSITION: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->value)); - break; } - - case RAP_PARAM_JOBSTATUS: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->value)); - break; } - - case RAP_PARAM_JOBSTATUSSTR: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case RAP_PARAM_TIMESUBMITTED: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value4)); - break; } - - case RAP_PARAM_JOBSIZE: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value4)); - break; } - - case RAP_PARAM_JOBCOMMENT: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case RAP_PARAM_JOBNUM: - break; - - case RAP_PARAM_USERNAME: - break; - - case RAP_PARAM_NOTIFYNAME: - break; - - case RAP_PARAM_DATATYPE: - break; - - case RAP_PARAM_PARAMETERS_STRING: - break; - - case RAP_PARAM_JOBPOSITION: - break; - - case RAP_PARAM_JOBSTATUS: - break; - - case RAP_PARAM_JOBSTATUSSTR: - break; - - case RAP_PARAM_TIMESUBMITTED: - break; - - case RAP_PARAM_JOBSIZE: - break; - - case RAP_PARAM_JOBCOMMENT: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_JobInfoParam(struct ndr_print *ndr, const char *name, const union rap_JobInfoParam *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "rap_JobInfoParam"); - switch (level) { - case RAP_PARAM_JOBNUM: - ndr_print_uint16(ndr, "value", r->value); - break; - - case RAP_PARAM_USERNAME: - ndr_print_string(ndr, "string", r->string); - break; - - case RAP_PARAM_NOTIFYNAME: - ndr_print_string(ndr, "string", r->string); - break; - - case RAP_PARAM_DATATYPE: - ndr_print_string(ndr, "string", r->string); - break; - - case RAP_PARAM_PARAMETERS_STRING: - ndr_print_string(ndr, "string", r->string); - break; - - case RAP_PARAM_JOBPOSITION: - ndr_print_uint16(ndr, "value", r->value); - break; - - case RAP_PARAM_JOBSTATUS: - ndr_print_uint16(ndr, "value", r->value); - break; - - case RAP_PARAM_JOBSTATUSSTR: - ndr_print_string(ndr, "string", r->string); - break; - - case RAP_PARAM_TIMESUBMITTED: - ndr_print_uint32(ndr, "value4", r->value4); - break; - - case RAP_PARAM_JOBSIZE: - ndr_print_uint32(ndr, "value4", r->value4); - break; - - case RAP_PARAM_JOBCOMMENT: - ndr_print_string(ndr, "string", r->string); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetShareEnum(struct ndr_push *ndr, int flags, const struct rap_NetShareEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetShareEnum(struct ndr_pull *ndr, int flags, struct rap_NetShareEnum *r) -{ - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_rap_share_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetShareEnum *r) -{ - ndr_print_struct(ndr, name, "rap_NetShareEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetShareEnum"); - ndr->depth++; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetShareEnum"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "count", r->out.count); - ndr_print_uint16(ndr, "available", r->out.available); - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_rap_share_info(ndr, "info", r->out.info); - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetServerEnum2(struct ndr_push *ndr, int flags, const struct rap_NetServerEnum2 *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.servertype)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->in.domain == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.domain)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetServerEnum2(struct ndr_pull *ndr, int flags, struct rap_NetServerEnum2 *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servertype)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.domain)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - NDR_PULL_ALLOC_N(ndr, r->out.info, r->out.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetServerEnum2(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetServerEnum2 *r) -{ - uint32_t cntr_info_0; - ndr_print_struct(ndr, name, "rap_NetServerEnum2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetServerEnum2"); - ndr->depth++; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr_print_uint32(ndr, "servertype", r->in.servertype); - ndr_print_ptr(ndr, "domain", r->in.domain); - ndr->depth++; - ndr_print_string(ndr, "domain", r->in.domain); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetServerEnum2"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "count", r->out.count); - ndr_print_uint16(ndr, "available", r->out.available); - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count); - ndr->depth++; - for (cntr_info_0=0;cntr_info_0out.count;cntr_info_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_info_0) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level); - ndr_print_rap_server_info(ndr, "info", &r->out.info[cntr_info_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_WserverGetInfo(struct ndr_push *ndr, int flags, const struct rap_WserverGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level)); - NDR_CHECK(ndr_push_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_WserverGetInfo(struct ndr_pull *ndr, int flags, struct rap_WserverGetInfo *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_rap_server_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_WserverGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_WserverGetInfo *r) -{ - ndr_print_struct(ndr, name, "rap_WserverGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_WserverGetInfo"); - ndr->depth++; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_WserverGetInfo"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "available", r->out.available); - ndr_print_set_switch_value(ndr, &r->out.info, r->in.level); - ndr_print_rap_server_info(ndr, "info", &r->out.info); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintQEnum *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintQEnum *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - NDR_PULL_ALLOC_N(ndr, r->out.info, r->out.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintQEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQEnum *r) -{ - uint32_t cntr_info_0; - ndr_print_struct(ndr, name, "rap_NetPrintQEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintQEnum"); - ndr->depth++; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintQEnum"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "count", r->out.count); - ndr_print_uint16(ndr, "available", r->out.available); - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count); - ndr->depth++; - for (cntr_info_0=0;cntr_info_0out.count;cntr_info_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_info_0) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level); - ndr_print_rap_printq_info(ndr, "info", &r->out.info[cntr_info_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintQGetInfo *r) -{ - if (flags & NDR_IN) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level)); - NDR_CHECK(ndr_push_rap_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintQGetInfo *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_rap_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQGetInfo *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintQGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintQGetInfo"); - ndr->depth++; - ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName); - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintQGetInfo"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "available", r->out.available); - ndr_print_set_switch_value(ndr, &r->out.info, r->in.level); - ndr_print_rap_printq_info(ndr, "info", &r->out.info); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobPause(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobPause *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobPause(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobPause *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintJobPause(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobPause *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintJobPause"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintJobPause"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->in.JobID); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintJobPause"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobContinue(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobContinue *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobContinue(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobContinue *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintJobContinue(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobContinue *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintJobContinue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintJobContinue"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->in.JobID); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintJobContinue"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobDelete(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobDelete *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobDelete(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobDelete *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintJobDelete(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobDelete *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintJobDelete"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintJobDelete"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->in.JobID); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintJobDelete"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQueuePause(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueuePause *r) -{ - if (flags & NDR_IN) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQueuePause(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueuePause *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintQueuePause(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueuePause *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintQueuePause"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintQueuePause"); - ndr->depth++; - ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintQueuePause"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQueueResume(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueueResume *r) -{ - if (flags & NDR_IN) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQueueResume(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueueResume *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintQueueResume(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueueResume *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintQueueResume"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintQueueResume"); - ndr->depth++; - ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintQueueResume"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQueuePurge(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueuePurge *r) -{ - if (flags & NDR_IN) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQueuePurge(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueuePurge *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintQueuePurge(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueuePurge *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintQueuePurge"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintQueuePurge"); - ndr->depth++; - ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintQueuePurge"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobEnum *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobEnum *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->in.PrintQueueName)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - NDR_PULL_ALLOC_N(ndr, r->out.info, r->out.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->out.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintJobEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobEnum *r) -{ - uint32_t cntr_info_0; - ndr_print_struct(ndr, name, "rap_NetPrintJobEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintJobEnum"); - ndr->depth++; - ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName); - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintJobEnum"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "count", r->out.count); - ndr_print_uint16(ndr, "available", r->out.available); - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)r->out.count); - ndr->depth++; - for (cntr_info_0=0;cntr_info_0out.count;cntr_info_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_info_0) != -1) { - ndr_print_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level); - ndr_print_rap_printj_info(ndr, "info", &r->out.info[cntr_info_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level)); - NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobGetInfo *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintJobGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobGetInfo *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintJobGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintJobGetInfo"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->in.JobID); - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintJobGetInfo"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr_print_uint16(ndr, "available", r->out.available); - ndr_print_set_switch_value(ndr, &r->out.info, r->in.level); - ndr_print_rap_printj_info(ndr, "info", &r->out.info); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobSetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobSetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_rap_JobInfoParamNum(ndr, NDR_SCALARS, r->in.ParamNum)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.Param, r->in.ParamNum)); - NDR_CHECK(ndr_push_rap_JobInfoParam(ndr, NDR_SCALARS, &r->in.Param)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobSetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobSetInfo *r) -{ - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); - NDR_CHECK(ndr_pull_rap_JobInfoParamNum(ndr, NDR_SCALARS, &r->in.ParamNum)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.Param, r->in.ParamNum)); - NDR_CHECK(ndr_pull_rap_JobInfoParam(ndr, NDR_SCALARS, &r->in.Param)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_rap_NetPrintJobSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobSetInfo *r) -{ - ndr_print_struct(ndr, name, "rap_NetPrintJobSetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "rap_NetPrintJobSetInfo"); - ndr->depth++; - ndr_print_uint16(ndr, "JobID", r->in.JobID); - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint16(ndr, "bufsize", r->in.bufsize); - ndr_print_rap_JobInfoParamNum(ndr, "ParamNum", r->in.ParamNum); - ndr_print_set_switch_value(ndr, &r->in.Param, r->in.ParamNum); - ndr_print_rap_JobInfoParam(ndr, "Param", &r->in.Param); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "rap_NetPrintJobSetInfo"); - ndr->depth++; - ndr_print_rap_status(ndr, "status", r->out.status); - ndr_print_uint16(ndr, "convert", r->out.convert); - ndr->depth--; - } - ndr->depth--; -} diff --git a/librpc/gen_ndr/ndr_rap.h b/librpc/gen_ndr/ndr_rap.h deleted file mode 100644 index 64f10293875..00000000000 --- a/librpc/gen_ndr/ndr_rap.h +++ /dev/null @@ -1,117 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/rap.h" - -#ifndef _HEADER_NDR_rap -#define _HEADER_NDR_rap - -#include "../librpc/ndr/ndr_rap.h" -#define NDR_RAP_NETSHAREENUM (0x00) - -#define NDR_RAP_NETSERVERENUM2 (0x01) - -#define NDR_RAP_WSERVERGETINFO (0x02) - -#define NDR_RAP_NETPRINTQENUM (0x03) - -#define NDR_RAP_NETPRINTQGETINFO (0x04) - -#define NDR_RAP_NETPRINTJOBPAUSE (0x05) - -#define NDR_RAP_NETPRINTJOBCONTINUE (0x06) - -#define NDR_RAP_NETPRINTJOBDELETE (0x07) - -#define NDR_RAP_NETPRINTQUEUEPAUSE (0x08) - -#define NDR_RAP_NETPRINTQUEUERESUME (0x09) - -#define NDR_RAP_NETPRINTQUEUEPURGE (0x0a) - -#define NDR_RAP_NETPRINTJOBENUM (0x0b) - -#define NDR_RAP_NETPRINTJOBGETINFO (0x0c) - -#define NDR_RAP_NETPRINTJOBSETINFO (0x0d) - -#define NDR_RAP_CALL_COUNT (14) -enum ndr_err_code ndr_push_rap_status(struct ndr_push *ndr, int ndr_flags, enum rap_status r); -enum ndr_err_code ndr_pull_rap_status(struct ndr_pull *ndr, int ndr_flags, enum rap_status *r); -void ndr_print_rap_status(struct ndr_print *ndr, const char *name, enum rap_status r); -void ndr_print_rap_share_info_0(struct ndr_print *ndr, const char *name, const struct rap_share_info_0 *r); -void ndr_print_rap_share_info_1(struct ndr_print *ndr, const char *name, const struct rap_share_info_1 *r); -void ndr_print_rap_share_info_2(struct ndr_print *ndr, const char *name, const struct rap_share_info_2 *r); -void ndr_print_rap_share_info(struct ndr_print *ndr, const char *name, const union rap_share_info *r); -void ndr_print_rap_server_info_0(struct ndr_print *ndr, const char *name, const struct rap_server_info_0 *r); -void ndr_print_rap_server_info_1(struct ndr_print *ndr, const char *name, const struct rap_server_info_1 *r); -void ndr_print_rap_server_info(struct ndr_print *ndr, const char *name, const union rap_server_info *r); -enum ndr_err_code ndr_push_rap_PrintJStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintJStatusCode r); -enum ndr_err_code ndr_pull_rap_PrintJStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintJStatusCode *r); -void ndr_print_rap_PrintJStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintJStatusCode r); -void ndr_print_rap_PrintJobInfo0(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo0 *r); -void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo1 *r); -void ndr_print_rap_PrintJobInfo2(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo2 *r); -void ndr_print_rap_PrintJobInfo3(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo3 *r); -enum ndr_err_code ndr_push_rap_printj_info(struct ndr_push *ndr, int ndr_flags, const union rap_printj_info *r); -enum ndr_err_code ndr_pull_rap_printj_info(struct ndr_pull *ndr, int ndr_flags, union rap_printj_info *r); -void ndr_print_rap_printj_info(struct ndr_print *ndr, const char *name, const union rap_printj_info *r); -enum ndr_err_code ndr_push_rap_PrintQStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintQStatusCode r); -enum ndr_err_code ndr_pull_rap_PrintQStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintQStatusCode *r); -void ndr_print_rap_PrintQStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintQStatusCode r); -void ndr_print_rap_PrintQueue0(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue0 *r); -void ndr_print_rap_PrintQueue1(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue1 *r); -void ndr_print_rap_PrintQueue2(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue2 *r); -enum ndr_err_code ndr_push_rap_PrintQueue3(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue3 *r); -enum ndr_err_code ndr_pull_rap_PrintQueue3(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue3 *r); -void ndr_print_rap_PrintQueue3(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue3 *r); -void ndr_print_rap_PrintQueue4(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue4 *r); -void ndr_print_rap_PrintQueue5(struct ndr_print *ndr, const char *name, const struct rap_PrintQueue5 *r); -enum ndr_err_code ndr_push_rap_printq_info(struct ndr_push *ndr, int ndr_flags, const union rap_printq_info *r); -enum ndr_err_code ndr_pull_rap_printq_info(struct ndr_pull *ndr, int ndr_flags, union rap_printq_info *r); -void ndr_print_rap_printq_info(struct ndr_print *ndr, const char *name, const union rap_printq_info *r); -void ndr_print_rap_JobInfoParamNum(struct ndr_print *ndr, const char *name, enum rap_JobInfoParamNum r); -void ndr_print_rap_JobInfoParam(struct ndr_print *ndr, const char *name, const union rap_JobInfoParam *r); -enum ndr_err_code ndr_push_rap_NetShareEnum(struct ndr_push *ndr, int flags, const struct rap_NetShareEnum *r); -enum ndr_err_code ndr_pull_rap_NetShareEnum(struct ndr_pull *ndr, int flags, struct rap_NetShareEnum *r); -void ndr_print_rap_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetShareEnum *r); -enum ndr_err_code ndr_push_rap_NetServerEnum2(struct ndr_push *ndr, int flags, const struct rap_NetServerEnum2 *r); -enum ndr_err_code ndr_pull_rap_NetServerEnum2(struct ndr_pull *ndr, int flags, struct rap_NetServerEnum2 *r); -void ndr_print_rap_NetServerEnum2(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetServerEnum2 *r); -enum ndr_err_code ndr_push_rap_WserverGetInfo(struct ndr_push *ndr, int flags, const struct rap_WserverGetInfo *r); -enum ndr_err_code ndr_pull_rap_WserverGetInfo(struct ndr_pull *ndr, int flags, struct rap_WserverGetInfo *r); -void ndr_print_rap_WserverGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_WserverGetInfo *r); -enum ndr_err_code ndr_push_rap_NetPrintQEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintQEnum *r); -enum ndr_err_code ndr_pull_rap_NetPrintQEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintQEnum *r); -void ndr_print_rap_NetPrintQEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQEnum *r); -enum ndr_err_code ndr_push_rap_NetPrintQGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintQGetInfo *r); -enum ndr_err_code ndr_pull_rap_NetPrintQGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintQGetInfo *r); -void ndr_print_rap_NetPrintQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQGetInfo *r); -enum ndr_err_code ndr_push_rap_NetPrintJobPause(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobPause *r); -enum ndr_err_code ndr_pull_rap_NetPrintJobPause(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobPause *r); -void ndr_print_rap_NetPrintJobPause(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobPause *r); -enum ndr_err_code ndr_push_rap_NetPrintJobContinue(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobContinue *r); -enum ndr_err_code ndr_pull_rap_NetPrintJobContinue(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobContinue *r); -void ndr_print_rap_NetPrintJobContinue(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobContinue *r); -enum ndr_err_code ndr_push_rap_NetPrintJobDelete(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobDelete *r); -enum ndr_err_code ndr_pull_rap_NetPrintJobDelete(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobDelete *r); -void ndr_print_rap_NetPrintJobDelete(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobDelete *r); -enum ndr_err_code ndr_push_rap_NetPrintQueuePause(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueuePause *r); -enum ndr_err_code ndr_pull_rap_NetPrintQueuePause(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueuePause *r); -void ndr_print_rap_NetPrintQueuePause(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueuePause *r); -enum ndr_err_code ndr_push_rap_NetPrintQueueResume(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueueResume *r); -enum ndr_err_code ndr_pull_rap_NetPrintQueueResume(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueueResume *r); -void ndr_print_rap_NetPrintQueueResume(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueueResume *r); -enum ndr_err_code ndr_push_rap_NetPrintQueuePurge(struct ndr_push *ndr, int flags, const struct rap_NetPrintQueuePurge *r); -enum ndr_err_code ndr_pull_rap_NetPrintQueuePurge(struct ndr_pull *ndr, int flags, struct rap_NetPrintQueuePurge *r); -void ndr_print_rap_NetPrintQueuePurge(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQueuePurge *r); -enum ndr_err_code ndr_push_rap_NetPrintJobEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobEnum *r); -enum ndr_err_code ndr_pull_rap_NetPrintJobEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobEnum *r); -void ndr_print_rap_NetPrintJobEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobEnum *r); -enum ndr_err_code ndr_push_rap_NetPrintJobGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobGetInfo *r); -enum ndr_err_code ndr_pull_rap_NetPrintJobGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobGetInfo *r); -void ndr_print_rap_NetPrintJobGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobGetInfo *r); -enum ndr_err_code ndr_push_rap_NetPrintJobSetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobSetInfo *r); -enum ndr_err_code ndr_pull_rap_NetPrintJobSetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobSetInfo *r); -void ndr_print_rap_NetPrintJobSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobSetInfo *r); -#endif /* _HEADER_NDR_rap */ diff --git a/librpc/gen_ndr/ndr_samr.c b/librpc/gen_ndr/ndr_samr.c deleted file mode 100644 index f4c1a0cfcfd..00000000000 --- a/librpc/gen_ndr/ndr_samr.c +++ /dev/null @@ -1,13118 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_samr.h" - -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_security.h" -_PUBLIC_ enum ndr_err_code ndr_push_netr_SamDatabaseID(struct ndr_push *ndr, int ndr_flags, enum netr_SamDatabaseID r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netr_SamDatabaseID(struct ndr_pull *ndr, int ndr_flags, enum netr_SamDatabaseID *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netr_SamDatabaseID(struct ndr_print *ndr, const char *name, enum netr_SamDatabaseID r) -{ - const char *val = NULL; - - switch (r) { - case SAM_DATABASE_DOMAIN: val = "SAM_DATABASE_DOMAIN"; break; - case SAM_DATABASE_BUILTIN: val = "SAM_DATABASE_BUILTIN"; break; - case SAM_DATABASE_PRIVS: val = "SAM_DATABASE_PRIVS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r) -{ - ndr_print_struct(ndr, name, "samr_SamEntry"); - ndr->depth++; - ndr_print_uint32(ndr, "idx", r->idx); - ndr_print_lsa_String(ndr, "name", &r->name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "samr_SamArray"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomainInfoClass(struct ndr_push *ndr, int ndr_flags, enum samr_DomainInfoClass r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomainInfoClass(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainInfoClass *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r) -{ - const char *val = NULL; - - switch (r) { - case DomainPasswordInformation: val = "DomainPasswordInformation"; break; - case DomainGeneralInformation: val = "DomainGeneralInformation"; break; - case DomainLogoffInformation: val = "DomainLogoffInformation"; break; - case DomainOemInformation: val = "DomainOemInformation"; break; - case DomainNameInformation: val = "DomainNameInformation"; break; - case DomainReplicationInformation: val = "DomainReplicationInformation"; break; - case DomainServerRoleInformation: val = "DomainServerRoleInformation"; break; - case DomainModifiedInformation: val = "DomainModifiedInformation"; break; - case DomainStateInformation: val = "DomainStateInformation"; break; - case DomainUasInformation: val = "DomainUasInformation"; break; - case DomainGeneralInformation2: val = "DomainGeneralInformation2"; break; - case DomainLockoutInformation: val = "DomainLockoutInformation"; break; - case DomainModifiedInformation2: val = "DomainModifiedInformation2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r) -{ - const char *val = NULL; - - switch (r) { - case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break; - case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break; - case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break; - case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r) -{ - const char *val = NULL; - - switch (r) { - case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break; - case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length)); - NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties)); - NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age)); - NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length)); - NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties)); - NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age)); - NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo1"); - ndr->depth++; - ndr_print_uint16(ndr, "min_password_length", r->min_password_length); - ndr_print_uint16(ndr, "password_history_length", r->password_history_length); - ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties); - ndr_print_dlong(ndr, "max_password_age", r->max_password_age); - ndr_print_dlong(ndr, "min_password_age", r->min_password_age); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num)); - NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state)); - NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num)); - NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state)); - NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r) -{ - ndr_print_struct(ndr, name, "samr_DomGeneralInformation"); - ndr->depth++; - ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time); - ndr_print_lsa_String(ndr, "oem_information", &r->oem_information); - ndr_print_lsa_String(ndr, "domain_name", &r->domain_name); - ndr_print_lsa_String(ndr, "primary", &r->primary); - ndr_print_udlong(ndr, "sequence_num", r->sequence_num); - ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state); - ndr_print_samr_Role(ndr, "role", r->role); - ndr_print_uint32(ndr, "unknown3", r->unknown3); - ndr_print_uint32(ndr, "num_users", r->num_users); - ndr_print_uint32(ndr, "num_groups", r->num_groups); - ndr_print_uint32(ndr, "num_aliases", r->num_aliases); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo3"); - ndr->depth++; - ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r) -{ - ndr_print_struct(ndr, name, "samr_DomOEMInformation"); - ndr->depth++; - ndr_print_lsa_String(ndr, "oem_information", &r->oem_information); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo5"); - ndr->depth++; - ndr_print_lsa_String(ndr, "domain_name", &r->domain_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo6"); - ndr->depth++; - ndr_print_lsa_String(ndr, "primary", &r->primary); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo7"); - ndr->depth++; - ndr_print_samr_Role(ndr, "role", r->role); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo8"); - ndr->depth++; - ndr_print_hyper(ndr, "sequence_num", r->sequence_num); - ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo9"); - ndr->depth++; - ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r) -{ - ndr_print_struct(ndr, name, "samr_DomGeneralInformation2"); - ndr->depth++; - ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general); - ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration); - ndr_print_hyper(ndr, "lockout_window", r->lockout_window); - ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo12"); - ndr->depth++; - ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration); - ndr_print_hyper(ndr, "lockout_window", r->lockout_window); - ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r) -{ - ndr_print_struct(ndr, name, "samr_DomInfo13"); - ndr->depth++; - ndr_print_hyper(ndr, "sequence_num", r->sequence_num); - ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time); - ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general)); - break; } - - case 3: { - NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem)); - break; } - - case 5: { - NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9)); - break; } - - case 11: { - NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2)); - break; } - - case 12: { - NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12)); - break; } - - case 13: { - NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - case 2: - NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general)); - break; - - case 3: - break; - - case 4: - NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem)); - break; - - case 5: - NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6)); - break; - - case 7: - break; - - case 8: - break; - - case 9: - break; - - case 11: - NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2)); - break; - - case 12: - break; - - case 13: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9)); - break; } - - case 11: { - NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2)); - break; } - - case 12: { - NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12)); - break; } - - case 13: { - NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - case 2: - NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general)); - break; - - case 3: - break; - - case 4: - NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem)); - break; - - case 5: - NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6)); - break; - - case 7: - break; - - case 8: - break; - - case 9: - break; - - case 11: - NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2)); - break; - - case 12: - break; - - case 13: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_DomainInfo"); - switch (level) { - case 1: - ndr_print_samr_DomInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general); - break; - - case 3: - ndr_print_samr_DomInfo3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem); - break; - - case 5: - ndr_print_samr_DomInfo5(ndr, "info5", &r->info5); - break; - - case 6: - ndr_print_samr_DomInfo6(ndr, "info6", &r->info6); - break; - - case 7: - ndr_print_samr_DomInfo7(ndr, "info7", &r->info7); - break; - - case 8: - ndr_print_samr_DomInfo8(ndr, "info8", &r->info8); - break; - - case 9: - ndr_print_samr_DomInfo9(ndr, "info9", &r->info9); - break; - - case 11: - ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2); - break; - - case 12: - ndr_print_samr_DomInfo12(ndr, "info12", &r->info12); - break; - - case 13: - ndr_print_samr_DomInfo13(ndr, "info13", &r->info13); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r) -{ - uint32_t cntr_ids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->ids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r) -{ - uint32_t _ptr_ids; - uint32_t cntr_ids_1; - TALLOC_CTX *_mem_save_ids_0; - TALLOC_CTX *_mem_save_ids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - if (r->count > 1024) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids)); - if (_ptr_ids) { - NDR_PULL_ALLOC(ndr, r->ids); - } else { - r->ids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->ids) { - _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->ids)); - NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids)); - _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0); - for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0); - } - if (r->ids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->ids, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r) -{ - uint32_t cntr_ids_1; - ndr_print_struct(ndr, name, "samr_Ids"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "ids", r->ids); - ndr->depth++; - if (r->ids) { - ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count); - ndr->depth++; - for (cntr_ids_1=0;cntr_ids_1count;cntr_ids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_ids_1) != -1) { - ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r) -{ - ndr_print_struct(ndr, name, "samr_GroupInfoAll"); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", &r->name); - ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes); - ndr_print_uint32(ndr, "num_members", r->num_members); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r) -{ - ndr_print_struct(ndr, name, "samr_GroupInfoAttributes"); - ndr->depth++; - ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r) -{ - const char *val = NULL; - - switch (r) { - case GROUPINFOALL: val = "GROUPINFOALL"; break; - case GROUPINFONAME: val = "GROUPINFONAME"; break; - case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break; - case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break; - case GROUPINFOALL2: val = "GROUPINFOALL2"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case GROUPINFOALL: { - NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all)); - break; } - - case GROUPINFONAME: { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - break; } - - case GROUPINFOATTRIBUTES: { - NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes)); - break; } - - case GROUPINFODESCRIPTION: { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - break; } - - case GROUPINFOALL2: { - NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case GROUPINFOALL: - NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all)); - break; - - case GROUPINFONAME: - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - break; - - case GROUPINFOATTRIBUTES: - break; - - case GROUPINFODESCRIPTION: - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - break; - - case GROUPINFOALL2: - NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case GROUPINFOALL: { - NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all)); - break; } - - case GROUPINFONAME: { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - break; } - - case GROUPINFOATTRIBUTES: { - NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes)); - break; } - - case GROUPINFODESCRIPTION: { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - break; } - - case GROUPINFOALL2: { - NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case GROUPINFOALL: - NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all)); - break; - - case GROUPINFONAME: - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - break; - - case GROUPINFOATTRIBUTES: - break; - - case GROUPINFODESCRIPTION: - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - break; - - case GROUPINFOALL2: - NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_GroupInfo"); - switch (level) { - case GROUPINFOALL: - ndr_print_samr_GroupInfoAll(ndr, "all", &r->all); - break; - - case GROUPINFONAME: - ndr_print_lsa_String(ndr, "name", &r->name); - break; - - case GROUPINFOATTRIBUTES: - ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes); - break; - - case GROUPINFODESCRIPTION: - ndr_print_lsa_String(ndr, "description", &r->description); - break; - - case GROUPINFOALL2: - ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_RidTypeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidTypeArray *r) -{ - uint32_t cntr_rids_1; - uint32_t cntr_types_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->types)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->rids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1])); - } - } - if (r->types) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->types[cntr_types_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidTypeArray *r) -{ - uint32_t _ptr_rids; - uint32_t cntr_rids_1; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_rids_1; - uint32_t _ptr_types; - uint32_t cntr_types_1; - TALLOC_CTX *_mem_save_types_0; - TALLOC_CTX *_mem_save_types_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids)); - if (_ptr_rids) { - NDR_PULL_ALLOC(ndr, r->rids); - } else { - r->rids = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types)); - if (_ptr_types) { - NDR_PULL_ALLOC(ndr, r->types); - } else { - r->types = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->rids) { - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->rids)); - NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids)); - _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); - for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0); - } - if (r->types) { - _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->types, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->types)); - NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types)); - _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->types, 0); - for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->types[cntr_types_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0); - } - if (r->rids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count)); - } - if (r->types) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_RidTypeArray(struct ndr_print *ndr, const char *name, const struct samr_RidTypeArray *r) -{ - uint32_t cntr_rids_1; - uint32_t cntr_types_1; - ndr_print_struct(ndr, name, "samr_RidTypeArray"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "rids", r->rids); - ndr->depth++; - if (r->rids) { - ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count); - ndr->depth++; - for (cntr_rids_1=0;cntr_rids_1count;cntr_rids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) { - ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_ptr(ndr, "types", r->types); - ndr->depth++; - if (r->types) { - ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count); - ndr->depth++; - for (cntr_types_1=0;cntr_types_1count;cntr_types_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) { - ndr_print_uint32(ndr, "types", r->types[cntr_types_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r) -{ - ndr_print_struct(ndr, name, "samr_AliasInfoAll"); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", &r->name); - ndr_print_uint32(ndr, "num_members", r->num_members); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r) -{ - const char *val = NULL; - - switch (r) { - case ALIASINFOALL: val = "ALIASINFOALL"; break; - case ALIASINFONAME: val = "ALIASINFONAME"; break; - case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case ALIASINFOALL: { - NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all)); - break; } - - case ALIASINFONAME: { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name)); - break; } - - case ALIASINFODESCRIPTION: { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case ALIASINFOALL: - NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all)); - break; - - case ALIASINFONAME: - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name)); - break; - - case ALIASINFODESCRIPTION: - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case ALIASINFOALL: { - NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all)); - break; } - - case ALIASINFONAME: { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name)); - break; } - - case ALIASINFODESCRIPTION: { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case ALIASINFOALL: - NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all)); - break; - - case ALIASINFONAME: - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name)); - break; - - case ALIASINFODESCRIPTION: - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_AliasInfo"); - switch (level) { - case ALIASINFOALL: - ndr_print_samr_AliasInfoAll(ndr, "all", &r->all); - break; - - case ALIASINFONAME: - ndr_print_lsa_String(ndr, "name", &r->name); - break; - - case ALIASINFODESCRIPTION: - ndr_print_lsa_String(ndr, "description", &r->description); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_UserInfoLevel(struct ndr_push *ndr, int ndr_flags, enum samr_UserInfoLevel r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_UserInfoLevel *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r) -{ - const char *val = NULL; - - switch (r) { - case UserGeneralInformation: val = "UserGeneralInformation"; break; - case UserPreferencesInformation: val = "UserPreferencesInformation"; break; - case UserLogonInformation: val = "UserLogonInformation"; break; - case UserLogonHoursInformation: val = "UserLogonHoursInformation"; break; - case UserAccountInformation: val = "UserAccountInformation"; break; - case UserNameInformation: val = "UserNameInformation"; break; - case UserAccountNameInformation: val = "UserAccountNameInformation"; break; - case UserFullNameInformation: val = "UserFullNameInformation"; break; - case UserPrimaryGroupInformation: val = "UserPrimaryGroupInformation"; break; - case UserHomeInformation: val = "UserHomeInformation"; break; - case UserScriptInformation: val = "UserScriptInformation"; break; - case UserProfileInformation: val = "UserProfileInformation"; break; - case UserAdminCommentInformation: val = "UserAdminCommentInformation"; break; - case UserWorkStationsInformation: val = "UserWorkStationsInformation"; break; - case UserControlInformation: val = "UserControlInformation"; break; - case UserExpiresInformation: val = "UserExpiresInformation"; break; - case UserInternal1Information: val = "UserInternal1Information"; break; - case UserParametersInformation: val = "UserParametersInformation"; break; - case UserAllInformation: val = "UserAllInformation"; break; - case UserInternal4Information: val = "UserInternal4Information"; break; - case UserInternal5Information: val = "UserInternal5Information"; break; - case UserInternal4InformationNew: val = "UserInternal4InformationNew"; break; - case UserInternal5InformationNew: val = "UserInternal5InformationNew"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo1"); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_lsa_String(ndr, "comment", &r->comment); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo2"); - ndr->depth++; - ndr_print_lsa_String(ndr, "comment", &r->comment); - ndr_print_lsa_String(ndr, "unknown", &r->unknown); - ndr_print_uint16(ndr, "country_code", r->country_code); - ndr_print_uint16(ndr, "code_page", r->code_page); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->bits) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1260)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->units_per_week / 8)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r) -{ - uint32_t _ptr_bits; - TALLOC_CTX *_mem_save_bits_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits)); - if (_ptr_bits) { - NDR_PULL_ALLOC(ndr, r->bits); - } else { - r->bits = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->bits) { - _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->bits)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->bits)); - if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->bits), ndr_get_array_length(ndr, &r->bits)); - } - NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0); - } - if (r->bits) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bits, 1260)); - } - if (r->bits) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bits, r->units_per_week / 8)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r) -{ - ndr_print_struct(ndr, name, "samr_LogonHours"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_uint16(ndr, "units_per_week", r->units_per_week); - ndr_print_ptr(ndr, "bits", r->bits); - ndr->depth++; - if (r->bits) { - ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo3"); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr_print_lsa_String(ndr, "home_directory", &r->home_directory); - ndr_print_lsa_String(ndr, "home_drive", &r->home_drive); - ndr_print_lsa_String(ndr, "logon_script", &r->logon_script); - ndr_print_lsa_String(ndr, "profile_path", &r->profile_path); - ndr_print_lsa_String(ndr, "workstations", &r->workstations); - ndr_print_NTTIME(ndr, "last_logon", r->last_logon); - ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff); - ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change); - ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change); - ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change); - ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours); - ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count); - ndr_print_uint16(ndr, "logon_count", r->logon_count); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo4"); - ndr->depth++; - ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo5"); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr_print_lsa_String(ndr, "home_directory", &r->home_directory); - ndr_print_lsa_String(ndr, "home_drive", &r->home_drive); - ndr_print_lsa_String(ndr, "logon_script", &r->logon_script); - ndr_print_lsa_String(ndr, "profile_path", &r->profile_path); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_lsa_String(ndr, "workstations", &r->workstations); - ndr_print_NTTIME(ndr, "last_logon", r->last_logon); - ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff); - ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours); - ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count); - ndr_print_uint16(ndr, "logon_count", r->logon_count); - ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change); - ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo6"); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo7"); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo8"); - ndr->depth++; - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo9"); - ndr->depth++; - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo10"); - ndr->depth++; - ndr_print_lsa_String(ndr, "home_directory", &r->home_directory); - ndr_print_lsa_String(ndr, "home_drive", &r->home_drive); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo11"); - ndr->depth++; - ndr_print_lsa_String(ndr, "logon_script", &r->logon_script); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo12"); - ndr->depth++; - ndr_print_lsa_String(ndr, "profile_path", &r->profile_path); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo13"); - ndr->depth++; - ndr_print_lsa_String(ndr, "description", &r->description); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo14"); - ndr->depth++; - ndr_print_lsa_String(ndr, "workstations", &r->workstations); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo16"); - ndr->depth++; - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo17"); - ndr->depth++; - ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r) -{ - ndr_print_struct(ndr, name, "samr_Password"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "hash", r->hash, 16); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd)); - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd)); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo18"); - ndr->depth++; - ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd); - ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd); - ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active); - ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active); - ndr_print_uint8(ndr, "password_expired", r->password_expired); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo20"); - ndr->depth++; - ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present)); - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown4)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password)); - NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - if (r->buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_count)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count)); - } - NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r) -{ - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_buffer_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->buffer); - } else { - r->buffer = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present)); - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password)); - NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3)); - if (r->buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer)); - NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); - if (r->buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo21"); - ndr->depth++; - ndr_print_NTTIME(ndr, "last_logon", r->last_logon); - ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff); - ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change); - ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry); - ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change); - ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change); - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr_print_lsa_String(ndr, "home_directory", &r->home_directory); - ndr_print_lsa_String(ndr, "home_drive", &r->home_drive); - ndr_print_lsa_String(ndr, "logon_script", &r->logon_script); - ndr_print_lsa_String(ndr, "profile_path", &r->profile_path); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_lsa_String(ndr, "workstations", &r->workstations); - ndr_print_lsa_String(ndr, "comment", &r->comment); - ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters); - ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password); - ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password); - ndr_print_lsa_String(ndr, "unknown3", &r->unknown3); - ndr_print_uint32(ndr, "buf_count", r->buf_count); - ndr_print_ptr(ndr, "buffer", r->buffer); - ndr->depth++; - if (r->buffer) { - ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count); - } - ndr->depth--; - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_uint32(ndr, "primary_gid", r->primary_gid); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present); - ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours); - ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count); - ndr_print_uint16(ndr, "logon_count", r->logon_count); - ndr_print_uint16(ndr, "country_code", r->country_code); - ndr_print_uint16(ndr, "code_page", r->code_page); - ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set); - ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set); - ndr_print_uint8(ndr, "password_expired", r->password_expired); - ndr_print_uint8(ndr, "unknown4", r->unknown4); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 516)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r) -{ - ndr_print_struct(ndr, name, "samr_CryptPassword"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->data, 516); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo23"); - ndr->depth++; - ndr_print_samr_UserInfo21(ndr, "info", &r->info); - ndr_print_samr_CryptPassword(ndr, "password", &r->password); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo24"); - ndr->depth++; - ndr_print_samr_CryptPassword(ndr, "password", &r->password); - ndr_print_uint8(ndr, "password_expired", r->password_expired); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r) -{ - ndr_print_struct(ndr, name, "samr_CryptPasswordEx"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->data, 532); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo25"); - ndr->depth++; - ndr_print_samr_UserInfo21(ndr, "info", &r->info); - ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r) -{ - ndr_print_struct(ndr, name, "samr_UserInfo26"); - ndr->depth++; - ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password); - ndr_print_uint8(ndr, "password_expired", r->password_expired); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9)); - break; } - - case 10: { - NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10)); - break; } - - case 11: { - NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11)); - break; } - - case 12: { - NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12)); - break; } - - case 13: { - NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13)); - break; } - - case 14: { - NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14)); - break; } - - case 16: { - NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16)); - break; } - - case 17: { - NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17)); - break; } - - case 18: { - NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18)); - break; } - - case 20: { - NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20)); - break; } - - case 21: { - NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21)); - break; } - - case 23: { - NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23)); - break; } - - case 24: { - NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24)); - break; } - - case 25: { - NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25)); - break; } - - case 26: { - NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6)); - break; - - case 7: - NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7)); - break; - - case 8: - NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8)); - break; - - case 9: - break; - - case 10: - NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10)); - break; - - case 11: - NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11)); - break; - - case 12: - NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12)); - break; - - case 13: - NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13)); - break; - - case 14: - NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14)); - break; - - case 16: - break; - - case 17: - break; - - case 18: - break; - - case 20: - NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20)); - break; - - case 21: - NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21)); - break; - - case 23: - NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23)); - break; - - case 24: - break; - - case 25: - NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25)); - break; - - case 26: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9)); - break; } - - case 10: { - NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10)); - break; } - - case 11: { - NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11)); - break; } - - case 12: { - NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12)); - break; } - - case 13: { - NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13)); - break; } - - case 14: { - NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14)); - break; } - - case 16: { - NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16)); - break; } - - case 17: { - NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17)); - break; } - - case 18: { - NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18)); - break; } - - case 20: { - NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20)); - break; } - - case 21: { - NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21)); - break; } - - case 23: { - NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23)); - break; } - - case 24: { - NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24)); - break; } - - case 25: { - NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25)); - break; } - - case 26: { - NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6)); - break; - - case 7: - NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7)); - break; - - case 8: - NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8)); - break; - - case 9: - break; - - case 10: - NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10)); - break; - - case 11: - NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11)); - break; - - case 12: - NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12)); - break; - - case 13: - NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13)); - break; - - case 14: - NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14)); - break; - - case 16: - break; - - case 17: - break; - - case 18: - break; - - case 20: - NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20)); - break; - - case 21: - NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21)); - break; - - case 23: - NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23)); - break; - - case 24: - break; - - case 25: - NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25)); - break; - - case 26: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_UserInfo"); - switch (level) { - case 1: - ndr_print_samr_UserInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_samr_UserInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_samr_UserInfo3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_samr_UserInfo4(ndr, "info4", &r->info4); - break; - - case 5: - ndr_print_samr_UserInfo5(ndr, "info5", &r->info5); - break; - - case 6: - ndr_print_samr_UserInfo6(ndr, "info6", &r->info6); - break; - - case 7: - ndr_print_samr_UserInfo7(ndr, "info7", &r->info7); - break; - - case 8: - ndr_print_samr_UserInfo8(ndr, "info8", &r->info8); - break; - - case 9: - ndr_print_samr_UserInfo9(ndr, "info9", &r->info9); - break; - - case 10: - ndr_print_samr_UserInfo10(ndr, "info10", &r->info10); - break; - - case 11: - ndr_print_samr_UserInfo11(ndr, "info11", &r->info11); - break; - - case 12: - ndr_print_samr_UserInfo12(ndr, "info12", &r->info12); - break; - - case 13: - ndr_print_samr_UserInfo13(ndr, "info13", &r->info13); - break; - - case 14: - ndr_print_samr_UserInfo14(ndr, "info14", &r->info14); - break; - - case 16: - ndr_print_samr_UserInfo16(ndr, "info16", &r->info16); - break; - - case 17: - ndr_print_samr_UserInfo17(ndr, "info17", &r->info17); - break; - - case 18: - ndr_print_samr_UserInfo18(ndr, "info18", &r->info18); - break; - - case 20: - ndr_print_samr_UserInfo20(ndr, "info20", &r->info20); - break; - - case 21: - ndr_print_samr_UserInfo21(ndr, "info21", &r->info21); - break; - - case 23: - ndr_print_samr_UserInfo23(ndr, "info23", &r->info23); - break; - - case 24: - ndr_print_samr_UserInfo24(ndr, "info24", &r->info24); - break; - - case 25: - ndr_print_samr_UserInfo25(ndr, "info25", &r->info25); - break; - - case 26: - ndr_print_samr_UserInfo26(ndr, "info26", &r->info26); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r) -{ - ndr_print_struct(ndr, name, "samr_RidWithAttribute"); - ndr->depth++; - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r) -{ - uint32_t cntr_rids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->rids) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) { - NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r) -{ - uint32_t _ptr_rids; - uint32_t cntr_rids_1; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_rids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids)); - if (_ptr_rids) { - NDR_PULL_ALLOC(ndr, r->rids); - } else { - r->rids = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->rids) { - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->rids)); - NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids)); - _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); - for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) { - NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0); - } - if (r->rids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r) -{ - uint32_t cntr_rids_1; - ndr_print_struct(ndr, name, "samr_RidWithAttributeArray"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "rids", r->rids); - ndr->depth++; - if (r->rids) { - ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count); - ndr->depth++; - for (cntr_rids_1=0;cntr_rids_1count;cntr_rids_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) { - ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r) -{ - ndr_print_struct(ndr, name, "samr_DispEntryGeneral"); - ndr->depth++; - ndr_print_uint32(ndr, "idx", r->idx); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr_print_lsa_String(ndr, "full_name", &r->full_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "samr_DispInfoGeneral"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r) -{ - ndr_print_struct(ndr, name, "samr_DispEntryFull"); - ndr->depth++; - ndr_print_uint32(ndr, "idx", r->idx); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags); - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "samr_DispInfoFull"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid)); - NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid)); - NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name)); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r) -{ - ndr_print_struct(ndr, name, "samr_DispEntryFullGroup"); - ndr->depth++; - ndr_print_uint32(ndr, "idx", r->idx); - ndr_print_uint32(ndr, "rid", r->rid); - ndr_print_samr_GroupAttrs(ndr, "acct_flags", r->acct_flags); - ndr_print_lsa_String(ndr, "account_name", &r->account_name); - ndr_print_lsa_String(ndr, "description", &r->description); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "samr_DispInfoFullGroups"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx)); - NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx)); - NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r) -{ - ndr_print_struct(ndr, name, "samr_DispEntryAscii"); - ndr->depth++; - ndr_print_uint32(ndr, "idx", r->idx); - ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r) -{ - uint32_t cntr_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r) -{ - uint32_t _ptr_entries; - uint32_t cntr_entries_1; - TALLOC_CTX *_mem_save_entries_0; - TALLOC_CTX *_mem_save_entries_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries)); - if (_ptr_entries) { - NDR_PULL_ALLOC(ndr, r->entries); - } else { - r->entries = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->entries) { - _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); - NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); - _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); - } - for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) { - NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); - } - if (r->entries) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r) -{ - uint32_t cntr_entries_1; - ndr_print_struct(ndr, name, "samr_DispInfoAscii"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "entries", r->entries); - ndr->depth++; - if (r->entries) { - ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count); - ndr->depth++; - for (cntr_entries_1=0;cntr_entries_1count;cntr_entries_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) { - ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_DispInfo"); - switch (level) { - case 1: - ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4); - break; - - case 5: - ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length)); - NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length)); - NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r) -{ - ndr_print_struct(ndr, name, "samr_PwInfo"); - ndr->depth++; - ndr_print_uint16(ndr, "min_password_length", r->min_password_length); - ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r) -{ - const char *val = NULL; - - switch (r) { - case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break; - case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break; - case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_samPwdChangeReason(struct ndr_push *ndr, int ndr_flags, enum samPwdChangeReason r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samPwdChangeReason(struct ndr_pull *ndr, int ndr_flags, enum samPwdChangeReason *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samPwdChangeReason(struct ndr_print *ndr, const char *name, enum samPwdChangeReason r) -{ - const char *val = NULL; - - switch (r) { - case SAM_PWD_CHANGE_NO_ERROR: val = "SAM_PWD_CHANGE_NO_ERROR"; break; - case SAM_PWD_CHANGE_PASSWORD_TOO_SHORT: val = "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT"; break; - case SAM_PWD_CHANGE_PWD_IN_HISTORY: val = "SAM_PWD_CHANGE_PWD_IN_HISTORY"; break; - case SAM_PWD_CHANGE_USERNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD"; break; - case SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD"; break; - case SAM_PWD_CHANGE_NOT_COMPLEX: val = "SAM_PWD_CHANGE_NOT_COMPLEX"; break; - case SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT: val = "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT"; break; - case SAM_PWD_CHANGE_FAILED_BY_FILTER: val = "SAM_PWD_CHANGE_FAILED_BY_FILTER"; break; - case SAM_PWD_CHANGE_PASSWORD_TOO_LONG: val = "SAM_PWD_CHANGE_PASSWORD_TOO_LONG"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_userPwdChangeFailureInformation(struct ndr_push *ndr, int ndr_flags, const struct userPwdChangeFailureInformation *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, r->extendedFailureReason)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->filterModuleName)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->filterModuleName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->filterModuleName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->filterModuleName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->filterModuleName, ndr_charset_length(r->filterModuleName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_userPwdChangeFailureInformation(struct ndr_pull *ndr, int ndr_flags, struct userPwdChangeFailureInformation *r) -{ - uint32_t _ptr_filterModuleName; - TALLOC_CTX *_mem_save_filterModuleName_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, &r->extendedFailureReason)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filterModuleName)); - if (_ptr_filterModuleName) { - NDR_PULL_ALLOC(ndr, r->filterModuleName); - } else { - r->filterModuleName = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->filterModuleName) { - _mem_save_filterModuleName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->filterModuleName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->filterModuleName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->filterModuleName)); - if (ndr_get_array_length(ndr, &r->filterModuleName) > ndr_get_array_size(ndr, &r->filterModuleName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->filterModuleName), ndr_get_array_length(ndr, &r->filterModuleName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->filterModuleName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->filterModuleName, ndr_get_array_length(ndr, &r->filterModuleName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filterModuleName_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_userPwdChangeFailureInformation(struct ndr_print *ndr, const char *name, const struct userPwdChangeFailureInformation *r) -{ - ndr_print_struct(ndr, name, "userPwdChangeFailureInformation"); - ndr->depth++; - ndr_print_samPwdChangeReason(ndr, "extendedFailureReason", r->extendedFailureReason); - ndr_print_ptr(ndr, "filterModuleName", r->filterModuleName); - ndr->depth++; - if (r->filterModuleName) { - ndr_print_string(ndr, "filterModuleName", r->filterModuleName); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r) -{ - ndr_print_struct(ndr, name, "samr_ConnectInfo1"); - ndr->depth++; - ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_ConnectInfo"); - switch (level) { - case 1: - ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r) -{ - const char *val = NULL; - - switch (r) { - case NetValidateAuthentication: val = "NetValidateAuthentication"; break; - case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break; - case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r) -{ - const char *val = NULL; - - switch (r) { - case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break; - case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break; - case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break; - case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED: val = "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break; - case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break; - case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break; - case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break; - case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break; - case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break; - case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break; - case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR: val = "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r) -{ - ndr_print_struct(ndr, name, "samr_ValidationBlob"); - ndr->depth++; - ndr_print_uint32(ndr, "length", r->length); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->length); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r) -{ - uint32_t cntr_pwd_history_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present)); - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change)); - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time)); - NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->pwd_history) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pwd_history_len)); - for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) { - NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1])); - } - for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) { - NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r) -{ - uint32_t _ptr_pwd_history; - uint32_t cntr_pwd_history_1; - TALLOC_CTX *_mem_save_pwd_history_0; - TALLOC_CTX *_mem_save_pwd_history_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present)); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change)); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time)); - NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history)); - if (_ptr_pwd_history) { - NDR_PULL_ALLOC(ndr, r->pwd_history); - } else { - r->pwd_history = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->pwd_history) { - _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history)); - NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history)); - _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0); - for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) { - NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1])); - } - for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) { - NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0); - } - if (r->pwd_history) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r) -{ - uint32_t cntr_pwd_history_1; - ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo"); - ndr->depth++; - ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present); - ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change); - ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time); - ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time); - ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count); - ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len); - ndr_print_ptr(ndr, "pwd_history", r->pwd_history); - ndr->depth++; - if (r->pwd_history) { - ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len); - ndr->depth++; - for (cntr_pwd_history_1=0;cntr_pwd_history_1pwd_history_len;cntr_pwd_history_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_pwd_history_1) != -1) { - ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r) -{ - ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr"); - ndr->depth++; - ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info); - ndr_print_samr_ValidationStatus(ndr, "status", r->status); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case 2: - NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case 3: - NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1)); - break; - - case 2: - NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2)); - break; - - case 3: - NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep"); - switch (level) { - case 1: - ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1); - break; - - case 2: - ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2); - break; - - case 3: - ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account)); - NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account)); - NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account)); - NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account)); - NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r) -{ - ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3"); - ndr->depth++; - ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info); - ndr_print_lsa_StringLarge(ndr, "password", &r->password); - ndr_print_lsa_StringLarge(ndr, "account", &r->account); - ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash); - ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon); - ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account)); - NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password)); - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account)); - NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account)); - NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password)); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account)); - NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r) -{ - ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2"); - ndr->depth++; - ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info); - ndr_print_lsa_StringLarge(ndr, "password", &r->password); - ndr_print_lsa_StringLarge(ndr, "account", &r->account); - ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash); - ndr_print_uint8(ndr, "password_matched", r->password_matched); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r) -{ - ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1"); - ndr->depth++; - ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info); - ndr_print_uint8(ndr, "password_matched", r->password_matched); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1)); - break; - - case 2: - NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2)); - break; - - case 3: - NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1)); - break; - - case 2: - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2)); - break; - - case 3: - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq"); - switch (level) { - case 1: - ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1); - break; - - case 2: - ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2); - break; - - case 3: - ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - ZERO_STRUCTP(r->out.connect_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r) -{ - ndr_print_struct(ndr, name, "samr_Connect"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Connect"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Connect"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r) -{ - ndr_print_struct(ndr, name, "samr_Close"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Close"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Close"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info)); - if (r->in.sdbuf == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sdbuf_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sdbuf); - } - _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r) -{ - ndr_print_struct(ndr, name, "samr_SetSecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info); - ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf); - ndr->depth++; - ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetSecurity"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info)); - } - if (flags & NDR_OUT) { - if (r->out.sdbuf == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf)); - if (*r->out.sdbuf) { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r) -{ - uint32_t _ptr_sdbuf; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sdbuf_0; - TALLOC_CTX *_mem_save_sdbuf_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info)); - NDR_PULL_ALLOC(ndr, r->out.sdbuf); - ZERO_STRUCTP(r->out.sdbuf); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sdbuf); - } - _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf)); - if (_ptr_sdbuf) { - NDR_PULL_ALLOC(ndr, *r->out.sdbuf); - } else { - *r->out.sdbuf = NULL; - } - if (*r->out.sdbuf) { - _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r) -{ - ndr_print_struct(ndr, name, "samr_QuerySecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QuerySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QuerySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf); - ndr->depth++; - ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf); - ndr->depth++; - if (*r->out.sdbuf) { - ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r) -{ - if (flags & NDR_IN) { - if (r->in.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r) -{ - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r) -{ - ndr_print_struct(ndr, name, "samr_Shutdown"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Shutdown"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Shutdown"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name)); - } - if (flags & NDR_OUT) { - if (r->out.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid)); - if (*r->out.sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_connect_handle_0; - TALLOC_CTX *_mem_save_domain_name_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_sid_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_name); - } - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.sid); - ZERO_STRUCTP(r->out.sid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, *r->out.sid); - } else { - *r->out.sid = NULL; - } - if (*r->out.sid) { - _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r) -{ - ndr_print_struct(ndr, name, "samr_LookupDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_LookupDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle); - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_LookupDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "sid", r->out.sid); - ndr->depth++; - ndr_print_ptr(ndr, "sid", *r->out.sid); - ndr->depth++; - if (*r->out.sid) { - ndr_print_dom_sid2(ndr, "sid", *r->out.sid); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r) -{ - if (flags & NDR_IN) { - if (r->in.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.sam == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam)); - if (*r->out.sam) { - NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - } - if (r->out.num_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r) -{ - uint32_t _ptr_sam; - TALLOC_CTX *_mem_save_connect_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_sam_0; - TALLOC_CTX *_mem_save_sam_1; - TALLOC_CTX *_mem_save_num_entries_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.sam); - ZERO_STRUCTP(r->out.sam); - NDR_PULL_ALLOC(ndr, r->out.num_entries); - ZERO_STRUCTP(r->out.num_entries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sam); - } - _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam)); - if (_ptr_sam) { - NDR_PULL_ALLOC(ndr, *r->out.sam); - } else { - *r->out.sam = NULL; - } - if (*r->out.sam) { - _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0); - NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_entries); - } - _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r) -{ - ndr_print_struct(ndr, name, "samr_EnumDomains"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_EnumDomains"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "buf_size", r->in.buf_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_EnumDomains"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sam", r->out.sam); - ndr->depth++; - ndr_print_ptr(ndr, "sam", *r->out.sam); - ndr->depth++; - if (*r->out.sam) { - ndr_print_samr_SamArray(ndr, "sam", *r->out.sam); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "num_entries", r->out.num_entries); - ndr->depth++; - ndr_print_uint32(ndr, "num_entries", *r->out.num_entries); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - } - if (flags & NDR_OUT) { - if (r->out.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r) -{ - TALLOC_CTX *_mem_save_connect_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_domain_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.domain_handle); - ZERO_STRUCTP(r->out.domain_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r) -{ - ndr_print_struct(ndr, name, "samr_OpenDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_OpenDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle); - ndr->depth--; - ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_OpenDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r) -{ - ndr_print_struct(ndr, name, "samr_QueryDomainInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_samr_DomainInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r) -{ - ndr_print_struct(ndr, name, "samr_SetDomainInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetDomainInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_samr_DomainInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetDomainInfo"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle)); - if (r->out.rid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_group_handle_0; - TALLOC_CTX *_mem_save_rid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.group_handle); - ZERO_STRUCTP(r->out.group_handle); - NDR_PULL_ALLOC(ndr, r->out.rid); - ZERO_STRUCTP(r->out.rid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rid); - } - _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r) -{ - ndr_print_struct(ndr, name, "samr_CreateDomainGroup"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_CreateDomainGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_CreateDomainGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->out.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle); - ndr->depth--; - ndr_print_ptr(ndr, "rid", r->out.rid); - ndr->depth++; - ndr_print_uint32(ndr, "rid", *r->out.rid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.sam == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam)); - if (*r->out.sam) { - NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - } - if (r->out.num_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r) -{ - uint32_t _ptr_sam; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_sam_0; - TALLOC_CTX *_mem_save_sam_1; - TALLOC_CTX *_mem_save_num_entries_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.sam); - ZERO_STRUCTP(r->out.sam); - NDR_PULL_ALLOC(ndr, r->out.num_entries); - ZERO_STRUCTP(r->out.num_entries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sam); - } - _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam)); - if (_ptr_sam) { - NDR_PULL_ALLOC(ndr, *r->out.sam); - } else { - *r->out.sam = NULL; - } - if (*r->out.sam) { - _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0); - NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_entries); - } - _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r) -{ - ndr_print_struct(ndr, name, "samr_EnumDomainGroups"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_EnumDomainGroups"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_size", r->in.max_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_EnumDomainGroups"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sam", r->out.sam); - ndr->depth++; - ndr_print_ptr(ndr, "sam", *r->out.sam); - ndr->depth++; - if (*r->out.sam) { - ndr_print_samr_SamArray(ndr, "sam", *r->out.sam); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "num_entries", r->out.num_entries); - ndr->depth++; - ndr_print_uint32(ndr, "num_entries", *r->out.num_entries); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name)); - NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - if (r->out.rid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_account_name_0; - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_rid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.account_name); - } - _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.user_handle); - ZERO_STRUCTP(r->out.user_handle); - NDR_PULL_ALLOC(ndr, r->out.rid); - ZERO_STRUCTP(r->out.rid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rid); - } - _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r) -{ - ndr_print_struct(ndr, name, "samr_CreateUser"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_CreateUser"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_CreateUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->out.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle); - ndr->depth--; - ndr_print_ptr(ndr, "rid", r->out.rid); - ndr->depth++; - ndr_print_uint32(ndr, "rid", *r->out.rid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.sam == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam)); - if (*r->out.sam) { - NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - } - if (r->out.num_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r) -{ - uint32_t _ptr_sam; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_sam_0; - TALLOC_CTX *_mem_save_sam_1; - TALLOC_CTX *_mem_save_num_entries_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.sam); - ZERO_STRUCTP(r->out.sam); - NDR_PULL_ALLOC(ndr, r->out.num_entries); - ZERO_STRUCTP(r->out.num_entries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sam); - } - _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam)); - if (_ptr_sam) { - NDR_PULL_ALLOC(ndr, *r->out.sam); - } else { - *r->out.sam = NULL; - } - if (*r->out.sam) { - _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0); - NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_entries); - } - _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r) -{ - ndr_print_struct(ndr, name, "samr_EnumDomainUsers"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_EnumDomainUsers"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags); - ndr_print_uint32(ndr, "max_size", r->in.max_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_EnumDomainUsers"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sam", r->out.sam); - ndr->depth++; - ndr_print_ptr(ndr, "sam", *r->out.sam); - ndr->depth++; - if (*r->out.sam) { - ndr_print_samr_SamArray(ndr, "sam", *r->out.sam); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "num_entries", r->out.num_entries); - ndr->depth++; - ndr_print_uint32(ndr, "num_entries", *r->out.num_entries); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.alias_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name)); - NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle)); - if (r->out.rid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_alias_name_0; - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_rid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_name); - } - _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.alias_handle); - ZERO_STRUCTP(r->out.alias_handle); - NDR_PULL_ALLOC(ndr, r->out.rid); - ZERO_STRUCTP(r->out.rid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rid); - } - _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r) -{ - ndr_print_struct(ndr, name, "samr_CreateDomAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_CreateDomAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "alias_name", r->in.alias_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name); - ndr->depth--; - ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_CreateDomAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle); - ndr->depth--; - ndr_print_ptr(ndr, "rid", r->out.rid); - ndr->depth++; - ndr_print_uint32(ndr, "rid", *r->out.rid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size)); - } - if (flags & NDR_OUT) { - if (r->out.resume_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - if (r->out.sam == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam)); - if (*r->out.sam) { - NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - } - if (r->out.num_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r) -{ - uint32_t _ptr_sam; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_sam_0; - TALLOC_CTX *_mem_save_sam_1; - TALLOC_CTX *_mem_save_num_entries_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size)); - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - *r->out.resume_handle = *r->in.resume_handle; - NDR_PULL_ALLOC(ndr, r->out.sam); - ZERO_STRUCTP(r->out.sam); - NDR_PULL_ALLOC(ndr, r->out.num_entries); - ZERO_STRUCTP(r->out.num_entries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sam); - } - _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam)); - if (_ptr_sam) { - NDR_PULL_ALLOC(ndr, *r->out.sam); - } else { - *r->out.sam = NULL; - } - if (*r->out.sam) { - _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0); - NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_entries); - } - _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r) -{ - ndr_print_struct(ndr, name, "samr_EnumDomainAliases"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_EnumDomainAliases"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - ndr->depth--; - ndr_print_uint32(ndr, "max_size", r->in.max_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_EnumDomainAliases"); - ndr->depth++; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sam", r->out.sam); - ndr->depth++; - ndr_print_ptr(ndr, "sam", *r->out.sam); - ndr->depth++; - if (*r->out.sam) { - ndr_print_samr_SamArray(ndr, "sam", *r->out.sam); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "num_entries", r->out.num_entries); - ndr->depth++; - ndr_print_uint32(ndr, "num_entries", *r->out.num_entries); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - } - if (flags & NDR_OUT) { - if (r->out.rids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_rids_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.rids); - ZERO_STRUCTP(r->out.rids); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rids); - } - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r) -{ - ndr_print_struct(ndr, name, "samr_GetAliasMembership"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetAliasMembership"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetAliasMembership"); - ndr->depth++; - ndr_print_ptr(ndr, "rids", r->out.rids); - ndr->depth++; - ndr_print_samr_Ids(ndr, "rids", r->out.rids); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r) -{ - uint32_t cntr_names_0; - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names)); - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - } - if (flags & NDR_OUT) { - if (r->out.rids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids)); - if (r->out.types == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r) -{ - uint32_t cntr_names_0; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_types_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names)); - if (r->in.num_names > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names)); - if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.names), ndr_get_array_length(ndr, &r->in.names)); - } - NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names)); - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0); - for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); - } - for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0); - NDR_PULL_ALLOC(ndr, r->out.rids); - ZERO_STRUCTP(r->out.rids); - NDR_PULL_ALLOC(ndr, r->out.types); - ZERO_STRUCTP(r->out.types); - if (r->in.names) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000)); - } - if (r->in.names) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.names, r->in.num_names)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rids); - } - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.types); - } - _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r) -{ - uint32_t cntr_names_0; - ndr_print_struct(ndr, name, "samr_LookupNames"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_LookupNames"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint32(ndr, "num_names", r->in.num_names); - ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names); - ndr->depth++; - for (cntr_names_0=0;cntr_names_0in.num_names;cntr_names_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) { - ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_LookupNames"); - ndr->depth++; - ndr_print_ptr(ndr, "rids", r->out.rids); - ndr->depth++; - ndr_print_samr_Ids(ndr, "rids", r->out.rids); - ndr->depth--; - ndr_print_ptr(ndr, "types", r->out.types); - ndr->depth++; - ndr_print_samr_Ids(ndr, "types", r->out.types); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r) -{ - uint32_t cntr_rids_0; - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_rids)); - for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0])); - } - } - if (flags & NDR_OUT) { - if (r->out.names == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - if (r->out.types == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r) -{ - uint32_t cntr_rids_0; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_names_0; - TALLOC_CTX *_mem_save_types_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids)); - if (r->in.num_rids > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids)); - if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rids), ndr_get_array_length(ndr, &r->in.rids)); - } - NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids)); - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0); - for (cntr_rids_0 = 0; cntr_rids_0 < ndr_get_array_length(ndr, &r->in.rids); cntr_rids_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0); - NDR_PULL_ALLOC(ndr, r->out.names); - ZERO_STRUCTP(r->out.names); - NDR_PULL_ALLOC(ndr, r->out.types); - ZERO_STRUCTP(r->out.types); - if (r->in.rids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.rids, 1000)); - } - if (r->in.rids) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.rids, r->in.num_rids)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.names); - } - _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.types); - } - _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r) -{ - uint32_t cntr_rids_0; - ndr_print_struct(ndr, name, "samr_LookupRids"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_LookupRids"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint32(ndr, "num_rids", r->in.num_rids); - ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids); - ndr->depth++; - for (cntr_rids_0=0;cntr_rids_0in.num_rids;cntr_rids_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) { - ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_LookupRids"); - ndr->depth++; - ndr_print_ptr(ndr, "names", r->out.names); - ndr->depth++; - ndr_print_lsa_Strings(ndr, "names", r->out.names); - ndr->depth--; - ndr_print_ptr(ndr, "types", r->out.types); - ndr->depth++; - ndr_print_samr_Ids(ndr, "types", r->out.types); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid)); - } - if (flags & NDR_OUT) { - if (r->out.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_group_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid)); - NDR_PULL_ALLOC(ndr, r->out.group_handle); - ZERO_STRUCTP(r->out.group_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r) -{ - ndr_print_struct(ndr, name, "samr_OpenGroup"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_OpenGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_uint32(ndr, "rid", r->in.rid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_OpenGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->out.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_group_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r) -{ - ndr_print_struct(ndr, name, "samr_QueryGroupInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryGroupInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryGroupInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_samr_GroupInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r) -{ - TALLOC_CTX *_mem_save_group_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r) -{ - ndr_print_struct(ndr, name, "samr_SetGroupInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetGroupInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_samr_GroupInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetGroupInfo"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r) -{ - TALLOC_CTX *_mem_save_group_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r) -{ - ndr_print_struct(ndr, name, "samr_AddGroupMember"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_AddGroupMember"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr_print_uint32(ndr, "rid", r->in.rid); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_AddGroupMember"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - } - if (flags & NDR_OUT) { - if (r->out.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r) -{ - TALLOC_CTX *_mem_save_group_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.group_handle); - *r->out.group_handle = *r->in.group_handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r) -{ - ndr_print_struct(ndr, name, "samr_DeleteDomainGroup"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->out.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r) -{ - TALLOC_CTX *_mem_save_group_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r) -{ - ndr_print_struct(ndr, name, "samr_DeleteGroupMember"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_DeleteGroupMember"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr_print_uint32(ndr, "rid", r->in.rid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_DeleteGroupMember"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - } - if (flags & NDR_OUT) { - if (r->out.rids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids)); - if (*r->out.rids) { - NDR_CHECK(ndr_push_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r) -{ - uint32_t _ptr_rids; - TALLOC_CTX *_mem_save_group_handle_0; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_rids_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.rids); - ZERO_STRUCTP(r->out.rids); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rids); - } - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids)); - if (_ptr_rids) { - NDR_PULL_ALLOC(ndr, *r->out.rids); - } else { - *r->out.rids = NULL; - } - if (*r->out.rids) { - _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0); - NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r) -{ - ndr_print_struct(ndr, name, "samr_QueryGroupMember"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryGroupMember"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryGroupMember"); - ndr->depth++; - ndr_print_ptr(ndr, "rids", r->out.rids); - ndr->depth++; - ndr_print_ptr(ndr, "rids", *r->out.rids); - ndr->depth++; - if (*r->out.rids) { - ndr_print_samr_RidTypeArray(ndr, "rids", *r->out.rids); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r) -{ - if (flags & NDR_IN) { - if (r->in.group_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r) -{ - TALLOC_CTX *_mem_save_group_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.group_handle); - } - _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r) -{ - ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup"); - ndr->depth++; - ndr_print_ptr(ndr, "group_handle", r->in.group_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle); - ndr->depth--; - ndr_print_uint32(ndr, "unknown1", r->in.unknown1); - ndr_print_uint32(ndr, "unknown2", r->in.unknown2); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid)); - } - if (flags & NDR_OUT) { - if (r->out.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_alias_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid)); - NDR_PULL_ALLOC(ndr, r->out.alias_handle); - ZERO_STRUCTP(r->out.alias_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r) -{ - ndr_print_struct(ndr, name, "samr_OpenAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_OpenAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_uint32(ndr, "rid", r->in.rid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_OpenAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r) -{ - ndr_print_struct(ndr, name, "samr_QueryAliasInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryAliasInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryAliasInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_samr_AliasInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r) -{ - ndr_print_struct(ndr, name, "samr_SetAliasInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetAliasInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_samr_AliasInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetAliasInfo"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - } - if (flags & NDR_OUT) { - if (r->out.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.alias_handle); - *r->out.alias_handle = *r->in.alias_handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r) -{ - ndr_print_struct(ndr, name, "samr_DeleteDomAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_DeleteDomAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_DeleteDomAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_sid_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r) -{ - ndr_print_struct(ndr, name, "samr_AddAliasMember"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_AddAliasMember"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_AddAliasMember"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_sid_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r) -{ - ndr_print_struct(ndr, name, "samr_DeleteAliasMember"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_DeleteAliasMember"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_DeleteAliasMember"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - } - if (flags & NDR_OUT) { - if (r->out.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_sids_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.sids); - ZERO_STRUCTP(r->out.sids); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r) -{ - ndr_print_struct(ndr, name, "samr_GetMembersInAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetMembersInAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetMembersInAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "sids", r->out.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->out.sids); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid)); - } - if (flags & NDR_OUT) { - if (r->out.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_user_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid)); - NDR_PULL_ALLOC(ndr, r->out.user_handle); - ZERO_STRUCTP(r->out.user_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r) -{ - ndr_print_struct(ndr, name, "samr_OpenUser"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_OpenUser"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_uint32(ndr, "rid", r->in.rid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_OpenUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->out.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - } - if (flags & NDR_OUT) { - if (r->out.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r) -{ - TALLOC_CTX *_mem_save_user_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.user_handle); - *r->out.user_handle = *r->in.user_handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r) -{ - ndr_print_struct(ndr, name, "samr_DeleteUser"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_DeleteUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_DeleteUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->out.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r) -{ - ndr_print_struct(ndr, name, "samr_QueryUserInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryUserInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryUserInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_samr_UserInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r) -{ - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r) -{ - ndr_print_struct(ndr, name, "samr_SetUserInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetUserInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_samr_UserInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetUserInfo"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted)); - if (r->in.old_lm_crypted) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted)); - if (r->in.new_lm_crypted) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted)); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted)); - if (r->in.old_nt_crypted) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted)); - if (r->in.new_nt_crypted) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted)); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross)); - if (r->in.nt_cross) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross)); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross)); - if (r->in.lm_cross) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r) -{ - uint32_t _ptr_old_lm_crypted; - uint32_t _ptr_new_lm_crypted; - uint32_t _ptr_old_nt_crypted; - uint32_t _ptr_new_nt_crypted; - uint32_t _ptr_nt_cross; - uint32_t _ptr_lm_cross; - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_old_lm_crypted_0; - TALLOC_CTX *_mem_save_new_lm_crypted_0; - TALLOC_CTX *_mem_save_old_nt_crypted_0; - TALLOC_CTX *_mem_save_new_nt_crypted_0; - TALLOC_CTX *_mem_save_nt_cross_0; - TALLOC_CTX *_mem_save_lm_cross_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted)); - if (_ptr_old_lm_crypted) { - NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted); - } else { - r->in.old_lm_crypted = NULL; - } - if (r->in.old_lm_crypted) { - _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted)); - if (_ptr_new_lm_crypted) { - NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted); - } else { - r->in.new_lm_crypted = NULL; - } - if (r->in.new_lm_crypted) { - _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted)); - if (_ptr_old_nt_crypted) { - NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted); - } else { - r->in.old_nt_crypted = NULL; - } - if (r->in.old_nt_crypted) { - _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted)); - if (_ptr_new_nt_crypted) { - NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted); - } else { - r->in.new_nt_crypted = NULL; - } - if (r->in.new_nt_crypted) { - _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross)); - if (_ptr_nt_cross) { - NDR_PULL_ALLOC(ndr, r->in.nt_cross); - } else { - r->in.nt_cross = NULL; - } - if (r->in.nt_cross) { - _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross)); - if (_ptr_lm_cross) { - NDR_PULL_ALLOC(ndr, r->in.lm_cross); - } else { - r->in.lm_cross = NULL; - } - if (r->in.lm_cross) { - _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r) -{ - ndr_print_struct(ndr, name, "samr_ChangePasswordUser"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_ChangePasswordUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr_print_uint8(ndr, "lm_present", r->in.lm_present); - ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted); - ndr->depth++; - if (r->in.old_lm_crypted) { - ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted); - } - ndr->depth--; - ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted); - ndr->depth++; - if (r->in.new_lm_crypted) { - ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted); - } - ndr->depth--; - ndr_print_uint8(ndr, "nt_present", r->in.nt_present); - ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted); - ndr->depth++; - if (r->in.old_nt_crypted) { - ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted); - } - ndr->depth--; - ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted); - ndr->depth++; - if (r->in.new_nt_crypted) { - ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted); - } - ndr->depth--; - ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present); - ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross); - ndr->depth++; - if (r->in.nt_cross) { - ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross); - } - ndr->depth--; - ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present); - ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross); - ndr->depth++; - if (r->in.lm_cross) { - ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_ChangePasswordUser"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - } - if (flags & NDR_OUT) { - if (r->out.rids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids)); - if (*r->out.rids) { - NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r) -{ - uint32_t _ptr_rids; - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_rids_0; - TALLOC_CTX *_mem_save_rids_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.rids); - ZERO_STRUCTP(r->out.rids); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rids); - } - _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids)); - if (_ptr_rids) { - NDR_PULL_ALLOC(ndr, *r->out.rids); - } else { - *r->out.rids = NULL; - } - if (*r->out.rids) { - _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0); - NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r) -{ - ndr_print_struct(ndr, name, "samr_GetGroupsForUser"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetGroupsForUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetGroupsForUser"); - ndr->depth++; - ndr_print_ptr(ndr, "rids", r->out.rids); - ndr->depth++; - ndr_print_ptr(ndr, "rids", *r->out.rids); - ndr->depth++; - if (*r->out.rids) { - ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size)); - } - if (flags & NDR_OUT) { - if (r->out.total_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size)); - if (r->out.returned_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_total_size_0; - TALLOC_CTX *_mem_save_returned_size_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size)); - NDR_PULL_ALLOC(ndr, r->out.total_size); - ZERO_STRUCTP(r->out.total_size); - NDR_PULL_ALLOC(ndr, r->out.returned_size); - ZERO_STRUCTP(r->out.returned_size); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.total_size); - } - _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.returned_size); - } - _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r) -{ - ndr_print_struct(ndr, name, "samr_QueryDisplayInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "start_idx", r->in.start_idx); - ndr_print_uint32(ndr, "max_entries", r->in.max_entries); - ndr_print_uint32(ndr, "buf_size", r->in.buf_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "total_size", r->out.total_size); - ndr->depth++; - ndr_print_uint32(ndr, "total_size", *r->out.total_size); - ndr->depth--; - ndr_print_ptr(ndr, "returned_size", r->out.returned_size); - ndr->depth++; - ndr_print_uint32(ndr, "returned_size", *r->out.returned_size); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_samr_DispInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - } - if (flags & NDR_OUT) { - if (r->out.idx == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_idx_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.idx); - ZERO_STRUCTP(r->out.idx); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.idx); - } - _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r) -{ - ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex"); - ndr->depth++; - ndr_print_ptr(ndr, "idx", r->out.idx); - ndr->depth++; - ndr_print_uint32(ndr, "idx", *r->out.idx); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r) -{ - ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r) -{ - TALLOC_CTX *_mem_save_user_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r) -{ - ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r) -{ - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r) -{ - ndr_print_struct(ndr, name, "samr_GetUserPwInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetUserPwInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetUserPwInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_samr_PwInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_sid_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r) -{ - ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sid", r->in.sid); - ndr->depth++; - ndr_print_dom_sid2(ndr, "sid", r->in.sid); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r) -{ - ndr_print_struct(ndr, name, "samr_QueryDomainInfo2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_samr_DomainInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r) -{ - ndr_print_struct(ndr, name, "samr_QueryUserInfo2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryUserInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryUserInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_set_switch_value(ndr, *r->out.info, r->in.level); - ndr_print_samr_UserInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size)); - } - if (flags & NDR_OUT) { - if (r->out.total_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size)); - if (r->out.returned_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_total_size_0; - TALLOC_CTX *_mem_save_returned_size_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size)); - NDR_PULL_ALLOC(ndr, r->out.total_size); - ZERO_STRUCTP(r->out.total_size); - NDR_PULL_ALLOC(ndr, r->out.returned_size); - ZERO_STRUCTP(r->out.returned_size); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.total_size); - } - _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.returned_size); - } - _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r) -{ - ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "start_idx", r->in.start_idx); - ndr_print_uint32(ndr, "max_entries", r->in.max_entries); - ndr_print_uint32(ndr, "buf_size", r->in.buf_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "total_size", r->out.total_size); - ndr->depth++; - ndr_print_uint32(ndr, "total_size", *r->out.total_size); - ndr->depth--; - ndr_print_ptr(ndr, "returned_size", r->out.returned_size); - ndr->depth++; - ndr_print_uint32(ndr, "returned_size", *r->out.returned_size); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_samr_DispInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - } - if (flags & NDR_OUT) { - if (r->out.idx == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_idx_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.idx); - ZERO_STRUCTP(r->out.idx); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.idx); - } - _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r) -{ - ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_lsa_String(ndr, "name", r->in.name); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2"); - ndr->depth++; - ndr_print_ptr(ndr, "idx", r->out.idx); - ndr->depth++; - ndr_print_uint32(ndr, "idx", *r->out.idx); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - if (r->in.account_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name)); - NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags)); - NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - if (r->out.access_granted == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted)); - if (r->out.rid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_account_name_0; - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_access_granted_0; - TALLOC_CTX *_mem_save_rid_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.account_name); - } - _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags)); - NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.user_handle); - ZERO_STRUCTP(r->out.user_handle); - NDR_PULL_ALLOC(ndr, r->out.access_granted); - ZERO_STRUCTP(r->out.access_granted); - NDR_PULL_ALLOC(ndr, r->out.rid); - ZERO_STRUCTP(r->out.rid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.access_granted); - } - _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rid); - } - _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r) -{ - ndr_print_struct(ndr, name, "samr_CreateUser2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_CreateUser2"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_ptr(ndr, "account_name", r->in.account_name); - ndr->depth++; - ndr_print_lsa_String(ndr, "account_name", r->in.account_name); - ndr->depth--; - ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags); - ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_CreateUser2"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->out.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle); - ndr->depth--; - ndr_print_ptr(ndr, "access_granted", r->out.access_granted); - ndr->depth++; - ndr_print_uint32(ndr, "access_granted", *r->out.access_granted); - ndr->depth--; - ndr_print_ptr(ndr, "rid", r->out.rid); - ndr->depth++; - ndr_print_uint32(ndr, "rid", *r->out.rid); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size)); - } - if (flags & NDR_OUT) { - if (r->out.total_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size)); - if (r->out.returned_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size)); - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_total_size_0; - TALLOC_CTX *_mem_save_returned_size_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size)); - NDR_PULL_ALLOC(ndr, r->out.total_size); - ZERO_STRUCTP(r->out.total_size); - NDR_PULL_ALLOC(ndr, r->out.returned_size); - ZERO_STRUCTP(r->out.returned_size); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.total_size); - } - _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.returned_size); - } - _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r) -{ - ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint16(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "start_idx", r->in.start_idx); - ndr_print_uint32(ndr, "max_entries", r->in.max_entries); - ndr_print_uint32(ndr, "buf_size", r->in.buf_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3"); - ndr->depth++; - ndr_print_ptr(ndr, "total_size", r->out.total_size); - ndr->depth++; - ndr_print_uint32(ndr, "total_size", *r->out.total_size); - ndr->depth--; - ndr_print_ptr(ndr, "returned_size", r->out.returned_size); - ndr->depth++; - ndr_print_uint32(ndr, "returned_size", *r->out.returned_size); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_samr_DispInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_sids_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r) -{ - ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r) -{ - if (flags & NDR_IN) { - if (r->in.alias_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - if (r->in.sids == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r) -{ - TALLOC_CTX *_mem_save_alias_handle_0; - TALLOC_CTX *_mem_save_sids_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.alias_handle); - } - _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sids); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r) -{ - ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias"); - ndr->depth++; - ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle); - ndr->depth--; - ndr_print_ptr(ndr, "sids", r->in.sids); - ndr->depth++; - ndr_print_lsa_SidArray(ndr, "sids", r->in.sids); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server)); - } - if (r->in.account == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash)); - if (r->in.hash) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_password; - uint32_t _ptr_hash; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_account_0; - TALLOC_CTX *_mem_save_password_0; - TALLOC_CTX *_mem_save_hash_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.account); - } - _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash)); - if (_ptr_hash) { - NDR_PULL_ALLOC(ndr, r->in.hash); - } else { - r->in.hash = NULL; - } - if (r->in.hash) { - _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r) -{ - ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_lsa_AsciiString(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "account", r->in.account); - ndr->depth++; - ndr_print_lsa_AsciiString(ndr, "account", r->in.account); - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_samr_CryptPassword(ndr, "password", r->in.password); - } - ndr->depth--; - ndr_print_ptr(ndr, "hash", r->in.hash); - ndr->depth++; - if (r->in.hash) { - ndr_print_samr_Password(ndr, "hash", r->in.hash); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server)); - } - if (r->in.account == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password)); - if (r->in.nt_password) { - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier)); - if (r->in.nt_verifier) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier)); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password)); - if (r->in.lm_password) { - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier)); - if (r->in.lm_verifier) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_nt_password; - uint32_t _ptr_nt_verifier; - uint32_t _ptr_lm_password; - uint32_t _ptr_lm_verifier; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_account_0; - TALLOC_CTX *_mem_save_nt_password_0; - TALLOC_CTX *_mem_save_nt_verifier_0; - TALLOC_CTX *_mem_save_lm_password_0; - TALLOC_CTX *_mem_save_lm_verifier_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.account); - } - _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password)); - if (_ptr_nt_password) { - NDR_PULL_ALLOC(ndr, r->in.nt_password); - } else { - r->in.nt_password = NULL; - } - if (r->in.nt_password) { - _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier)); - if (_ptr_nt_verifier) { - NDR_PULL_ALLOC(ndr, r->in.nt_verifier); - } else { - r->in.nt_verifier = NULL; - } - if (r->in.nt_verifier) { - _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password)); - if (_ptr_lm_password) { - NDR_PULL_ALLOC(ndr, r->in.lm_password); - } else { - r->in.lm_password = NULL; - } - if (r->in.lm_password) { - _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier)); - if (_ptr_lm_verifier) { - NDR_PULL_ALLOC(ndr, r->in.lm_verifier); - } else { - r->in.lm_verifier = NULL; - } - if (r->in.lm_verifier) { - _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r) -{ - ndr_print_struct(ndr, name, "samr_ChangePasswordUser2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_lsa_String(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "account", r->in.account); - ndr->depth++; - ndr_print_lsa_String(ndr, "account", r->in.account); - ndr->depth--; - ndr_print_ptr(ndr, "nt_password", r->in.nt_password); - ndr->depth++; - if (r->in.nt_password) { - ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password); - } - ndr->depth--; - ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier); - ndr->depth++; - if (r->in.nt_verifier) { - ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier); - } - ndr->depth--; - ndr_print_uint8(ndr, "lm_change", r->in.lm_change); - ndr_print_ptr(ndr, "lm_password", r->in.lm_password); - ndr->depth++; - if (r->in.lm_password) { - ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password); - } - ndr->depth--; - ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier); - ndr->depth++; - if (r->in.lm_verifier) { - ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name)); - if (r->in.domain_name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r) -{ - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->in.domain_name); - } else { - r->in.domain_name = NULL; - } - if (r->in.domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r) -{ - ndr_print_struct(ndr, name, "samr_GetDomPwInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetDomPwInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - if (r->in.domain_name) { - ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetDomPwInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_samr_PwInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); - if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - ZERO_STRUCTP(r->out.connect_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r) -{ - ndr_print_struct(ndr, name, "samr_Connect2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Connect2"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_string(ndr, "system_name", r->in.system_name); - } - ndr->depth--; - ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Connect2"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r) -{ - if (flags & NDR_IN) { - if (r->in.user_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r) -{ - TALLOC_CTX *_mem_save_user_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.user_handle); - } - _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r) -{ - ndr_print_struct(ndr, name, "samr_SetUserInfo2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetUserInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "user_handle", r->in.user_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle); - ndr->depth--; - ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_samr_UserInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetUserInfo2"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r) -{ - if (flags & NDR_IN) { - if (r->in.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r) -{ - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r) -{ - ndr_print_struct(ndr, name, "samr_SetBootKeyInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle); - ndr->depth--; - ndr_print_uint32(ndr, "unknown1", r->in.unknown1); - ndr_print_uint32(ndr, "unknown2", r->in.unknown2); - ndr_print_uint32(ndr, "unknown3", r->in.unknown3); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - } - if (flags & NDR_OUT) { - if (r->out.unknown == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r) -{ - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_unknown_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.unknown); - ZERO_STRUCTP(r->out.unknown); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.unknown); - } - _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r) -{ - ndr_print_struct(ndr, name, "samr_GetBootKeyInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown", r->out.unknown); - ndr->depth++; - ndr_print_uint32(ndr, "unknown", *r->out.unknown); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown)); - NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); - if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown)); - NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - ZERO_STRUCTP(r->out.connect_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r) -{ - ndr_print_struct(ndr, name, "samr_Connect3"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Connect3"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_string(ndr, "system_name", r->in.system_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown", r->in.unknown); - ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Connect3"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version)); - NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); - if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version)); - NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - ZERO_STRUCTP(r->out.connect_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r) -{ - ndr_print_struct(ndr, name, "samr_Connect4"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Connect4"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_string(ndr, "system_name", r->in.system_name); - } - ndr->depth--; - ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version); - ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Connect4"); - ndr->depth++; - ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server)); - } - if (r->in.account == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password)); - if (r->in.nt_password) { - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier)); - if (r->in.nt_verifier) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier)); - } - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password)); - if (r->in.lm_password) { - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier)); - if (r->in.lm_verifier) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3)); - if (r->in.password3) { - NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3)); - } - } - if (flags & NDR_OUT) { - if (r->out.dominfo == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo)); - if (*r->out.dominfo) { - NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo)); - } - if (r->out.reject == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject)); - if (*r->out.reject) { - NDR_CHECK(ndr_push_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_nt_password; - uint32_t _ptr_nt_verifier; - uint32_t _ptr_lm_password; - uint32_t _ptr_lm_verifier; - uint32_t _ptr_password3; - uint32_t _ptr_dominfo; - uint32_t _ptr_reject; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_account_0; - TALLOC_CTX *_mem_save_nt_password_0; - TALLOC_CTX *_mem_save_nt_verifier_0; - TALLOC_CTX *_mem_save_lm_password_0; - TALLOC_CTX *_mem_save_lm_verifier_0; - TALLOC_CTX *_mem_save_password3_0; - TALLOC_CTX *_mem_save_dominfo_0; - TALLOC_CTX *_mem_save_dominfo_1; - TALLOC_CTX *_mem_save_reject_0; - TALLOC_CTX *_mem_save_reject_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.account); - } - _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password)); - if (_ptr_nt_password) { - NDR_PULL_ALLOC(ndr, r->in.nt_password); - } else { - r->in.nt_password = NULL; - } - if (r->in.nt_password) { - _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier)); - if (_ptr_nt_verifier) { - NDR_PULL_ALLOC(ndr, r->in.nt_verifier); - } else { - r->in.nt_verifier = NULL; - } - if (r->in.nt_verifier) { - _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0); - } - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password)); - if (_ptr_lm_password) { - NDR_PULL_ALLOC(ndr, r->in.lm_password); - } else { - r->in.lm_password = NULL; - } - if (r->in.lm_password) { - _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier)); - if (_ptr_lm_verifier) { - NDR_PULL_ALLOC(ndr, r->in.lm_verifier); - } else { - r->in.lm_verifier = NULL; - } - if (r->in.lm_verifier) { - _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3)); - if (_ptr_password3) { - NDR_PULL_ALLOC(ndr, r->in.password3); - } else { - r->in.password3 = NULL; - } - if (r->in.password3) { - _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0); - NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.dominfo); - ZERO_STRUCTP(r->out.dominfo); - NDR_PULL_ALLOC(ndr, r->out.reject); - ZERO_STRUCTP(r->out.reject); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.dominfo); - } - _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo)); - if (_ptr_dominfo) { - NDR_PULL_ALLOC(ndr, *r->out.dominfo); - } else { - *r->out.dominfo = NULL; - } - if (*r->out.dominfo) { - _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0); - NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.reject); - } - _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject)); - if (_ptr_reject) { - NDR_PULL_ALLOC(ndr, *r->out.reject); - } else { - *r->out.reject = NULL; - } - if (*r->out.reject) { - _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0); - NDR_CHECK(ndr_pull_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r) -{ - ndr_print_struct(ndr, name, "samr_ChangePasswordUser3"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_lsa_String(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "account", r->in.account); - ndr->depth++; - ndr_print_lsa_String(ndr, "account", r->in.account); - ndr->depth--; - ndr_print_ptr(ndr, "nt_password", r->in.nt_password); - ndr->depth++; - if (r->in.nt_password) { - ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password); - } - ndr->depth--; - ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier); - ndr->depth++; - if (r->in.nt_verifier) { - ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier); - } - ndr->depth--; - ndr_print_uint8(ndr, "lm_change", r->in.lm_change); - ndr_print_ptr(ndr, "lm_password", r->in.lm_password); - ndr->depth++; - if (r->in.lm_password) { - ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password); - } - ndr->depth--; - ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier); - ndr->depth++; - if (r->in.lm_verifier) { - ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier); - } - ndr->depth--; - ndr_print_ptr(ndr, "password3", r->in.password3); - ndr->depth++; - if (r->in.password3) { - ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3"); - ndr->depth++; - ndr_print_ptr(ndr, "dominfo", r->out.dominfo); - ndr->depth++; - ndr_print_ptr(ndr, "dominfo", *r->out.dominfo); - ndr->depth++; - if (*r->out.dominfo) { - ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "reject", r->out.reject); - ndr->depth++; - ndr_print_ptr(ndr, "reject", *r->out.reject); - ndr->depth++; - if (*r->out.reject) { - ndr_print_userPwdChangeFailureInformation(ndr, "reject", *r->out.reject); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in)); - if (r->in.info_in == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in)); - NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in)); - } - if (flags & NDR_OUT) { - if (r->out.level_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out)); - if (r->out.info_out == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out)); - NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out)); - if (r->out.connect_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_info_in_0; - TALLOC_CTX *_mem_save_level_out_0; - TALLOC_CTX *_mem_save_info_out_0; - TALLOC_CTX *_mem_save_connect_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); - if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_in); - } - _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in)); - NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.level_out); - ZERO_STRUCTP(r->out.level_out); - NDR_PULL_ALLOC(ndr, r->out.info_out); - ZERO_STRUCTP(r->out.info_out); - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - ZERO_STRUCTP(r->out.connect_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.level_out); - } - _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_out); - } - _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out)); - NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.connect_handle); - } - _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r) -{ - ndr_print_struct(ndr, name, "samr_Connect5"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_Connect5"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_string(ndr, "system_name", r->in.system_name); - } - ndr->depth--; - ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_uint32(ndr, "level_in", r->in.level_in); - ndr_print_ptr(ndr, "info_in", r->in.info_in); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in); - ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_Connect5"); - ndr->depth++; - ndr_print_ptr(ndr, "level_out", r->out.level_out); - ndr->depth++; - ndr_print_uint32(ndr, "level_out", *r->out.level_out); - ndr->depth--; - ndr_print_ptr(ndr, "info_out", r->out.info_out); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out); - ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out); - ndr->depth--; - ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle); - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid)); - } - if (flags & NDR_OUT) { - if (r->out.sid == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid)); - if (*r->out.sid) { - NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_domain_handle_0; - TALLOC_CTX *_mem_save_sid_0; - TALLOC_CTX *_mem_save_sid_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.domain_handle); - } - _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid)); - NDR_PULL_ALLOC(ndr, r->out.sid); - ZERO_STRUCTP(r->out.sid); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sid); - } - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, *r->out.sid); - } else { - *r->out.sid = NULL; - } - if (*r->out.sid) { - _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0); - NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r) -{ - ndr_print_struct(ndr, name, "samr_RidToSid"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_RidToSid"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle); - ndr->depth--; - ndr_print_uint32(ndr, "rid", r->in.rid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_RidToSid"); - ndr->depth++; - ndr_print_ptr(ndr, "sid", r->out.sid); - ndr->depth++; - ndr_print_ptr(ndr, "sid", *r->out.sid); - ndr->depth++; - if (*r->out.sid) { - ndr_print_dom_sid2(ndr, "sid", *r->out.sid); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name)); - if (r->in.name) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash)); - if (r->in.hash) { - NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r) -{ - uint32_t _ptr_name; - uint32_t _ptr_hash; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_hash_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->in.name); - } else { - r->in.name = NULL; - } - if (r->in.name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0); - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash)); - if (_ptr_hash) { - NDR_PULL_ALLOC(ndr, r->in.hash); - } else { - r->in.hash = NULL; - } - if (r->in.hash) { - _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0); - NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r) -{ - ndr_print_struct(ndr, name, "samr_SetDsrmPassword"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_SetDsrmPassword"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - if (r->in.name) { - ndr_print_lsa_String(ndr, "name", r->in.name); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown", r->in.unknown); - ndr_print_ptr(ndr, "hash", r->in.hash); - ndr->depth++; - if (r->in.hash) { - ndr_print_samr_Password(ndr, "hash", r->in.hash); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_SetDsrmPassword"); - ndr->depth++; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level)); - if (r->in.req == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - } - if (flags & NDR_OUT) { - if (r->out.rep == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep)); - if (*r->out.rep) { - NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level)); - NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep)); - } - NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r) -{ - uint32_t _ptr_rep; - TALLOC_CTX *_mem_save_req_0; - TALLOC_CTX *_mem_save_rep_0; - TALLOC_CTX *_mem_save_rep_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.req); - } - _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level)); - NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.rep); - ZERO_STRUCTP(r->out.rep); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.rep); - } - _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep)); - if (_ptr_rep) { - NDR_PULL_ALLOC(ndr, *r->out.rep); - } else { - *r->out.rep = NULL; - } - if (*r->out.rep) { - _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0); - NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level)); - NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r) -{ - ndr_print_struct(ndr, name, "samr_ValidatePassword"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "samr_ValidatePassword"); - ndr->depth++; - ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "req", r->in.req); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.req, r->in.level); - ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "samr_ValidatePassword"); - ndr->depth++; - ndr_print_ptr(ndr, "rep", r->out.rep); - ndr->depth++; - ndr_print_ptr(ndr, "rep", *r->out.rep); - ndr->depth++; - if (*r->out.rep) { - ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level); - ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep); - } - ndr->depth--; - ndr->depth--; - ndr_print_NTSTATUS(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call samr_calls[] = { - { - "samr_Connect", - sizeof(struct samr_Connect), - (ndr_push_flags_fn_t) ndr_push_samr_Connect, - (ndr_pull_flags_fn_t) ndr_pull_samr_Connect, - (ndr_print_function_t) ndr_print_samr_Connect, - false, - }, - { - "samr_Close", - sizeof(struct samr_Close), - (ndr_push_flags_fn_t) ndr_push_samr_Close, - (ndr_pull_flags_fn_t) ndr_pull_samr_Close, - (ndr_print_function_t) ndr_print_samr_Close, - false, - }, - { - "samr_SetSecurity", - sizeof(struct samr_SetSecurity), - (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity, - (ndr_print_function_t) ndr_print_samr_SetSecurity, - false, - }, - { - "samr_QuerySecurity", - sizeof(struct samr_QuerySecurity), - (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity, - (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity, - (ndr_print_function_t) ndr_print_samr_QuerySecurity, - false, - }, - { - "samr_Shutdown", - sizeof(struct samr_Shutdown), - (ndr_push_flags_fn_t) ndr_push_samr_Shutdown, - (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown, - (ndr_print_function_t) ndr_print_samr_Shutdown, - false, - }, - { - "samr_LookupDomain", - sizeof(struct samr_LookupDomain), - (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain, - (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain, - (ndr_print_function_t) ndr_print_samr_LookupDomain, - false, - }, - { - "samr_EnumDomains", - sizeof(struct samr_EnumDomains), - (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains, - (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains, - (ndr_print_function_t) ndr_print_samr_EnumDomains, - false, - }, - { - "samr_OpenDomain", - sizeof(struct samr_OpenDomain), - (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain, - (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain, - (ndr_print_function_t) ndr_print_samr_OpenDomain, - false, - }, - { - "samr_QueryDomainInfo", - sizeof(struct samr_QueryDomainInfo), - (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo, - (ndr_print_function_t) ndr_print_samr_QueryDomainInfo, - false, - }, - { - "samr_SetDomainInfo", - sizeof(struct samr_SetDomainInfo), - (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo, - (ndr_print_function_t) ndr_print_samr_SetDomainInfo, - false, - }, - { - "samr_CreateDomainGroup", - sizeof(struct samr_CreateDomainGroup), - (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup, - (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup, - (ndr_print_function_t) ndr_print_samr_CreateDomainGroup, - false, - }, - { - "samr_EnumDomainGroups", - sizeof(struct samr_EnumDomainGroups), - (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups, - (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups, - (ndr_print_function_t) ndr_print_samr_EnumDomainGroups, - false, - }, - { - "samr_CreateUser", - sizeof(struct samr_CreateUser), - (ndr_push_flags_fn_t) ndr_push_samr_CreateUser, - (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser, - (ndr_print_function_t) ndr_print_samr_CreateUser, - false, - }, - { - "samr_EnumDomainUsers", - sizeof(struct samr_EnumDomainUsers), - (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers, - (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers, - (ndr_print_function_t) ndr_print_samr_EnumDomainUsers, - false, - }, - { - "samr_CreateDomAlias", - sizeof(struct samr_CreateDomAlias), - (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias, - (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias, - (ndr_print_function_t) ndr_print_samr_CreateDomAlias, - false, - }, - { - "samr_EnumDomainAliases", - sizeof(struct samr_EnumDomainAliases), - (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases, - (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases, - (ndr_print_function_t) ndr_print_samr_EnumDomainAliases, - false, - }, - { - "samr_GetAliasMembership", - sizeof(struct samr_GetAliasMembership), - (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership, - (ndr_print_function_t) ndr_print_samr_GetAliasMembership, - false, - }, - { - "samr_LookupNames", - sizeof(struct samr_LookupNames), - (ndr_push_flags_fn_t) ndr_push_samr_LookupNames, - (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames, - (ndr_print_function_t) ndr_print_samr_LookupNames, - false, - }, - { - "samr_LookupRids", - sizeof(struct samr_LookupRids), - (ndr_push_flags_fn_t) ndr_push_samr_LookupRids, - (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids, - (ndr_print_function_t) ndr_print_samr_LookupRids, - false, - }, - { - "samr_OpenGroup", - sizeof(struct samr_OpenGroup), - (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup, - (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup, - (ndr_print_function_t) ndr_print_samr_OpenGroup, - false, - }, - { - "samr_QueryGroupInfo", - sizeof(struct samr_QueryGroupInfo), - (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo, - (ndr_print_function_t) ndr_print_samr_QueryGroupInfo, - false, - }, - { - "samr_SetGroupInfo", - sizeof(struct samr_SetGroupInfo), - (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo, - (ndr_print_function_t) ndr_print_samr_SetGroupInfo, - false, - }, - { - "samr_AddGroupMember", - sizeof(struct samr_AddGroupMember), - (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember, - (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember, - (ndr_print_function_t) ndr_print_samr_AddGroupMember, - false, - }, - { - "samr_DeleteDomainGroup", - sizeof(struct samr_DeleteDomainGroup), - (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup, - (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup, - (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup, - false, - }, - { - "samr_DeleteGroupMember", - sizeof(struct samr_DeleteGroupMember), - (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember, - (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember, - (ndr_print_function_t) ndr_print_samr_DeleteGroupMember, - false, - }, - { - "samr_QueryGroupMember", - sizeof(struct samr_QueryGroupMember), - (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember, - (ndr_print_function_t) ndr_print_samr_QueryGroupMember, - false, - }, - { - "samr_SetMemberAttributesOfGroup", - sizeof(struct samr_SetMemberAttributesOfGroup), - (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup, - (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup, - false, - }, - { - "samr_OpenAlias", - sizeof(struct samr_OpenAlias), - (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias, - (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias, - (ndr_print_function_t) ndr_print_samr_OpenAlias, - false, - }, - { - "samr_QueryAliasInfo", - sizeof(struct samr_QueryAliasInfo), - (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo, - (ndr_print_function_t) ndr_print_samr_QueryAliasInfo, - false, - }, - { - "samr_SetAliasInfo", - sizeof(struct samr_SetAliasInfo), - (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo, - (ndr_print_function_t) ndr_print_samr_SetAliasInfo, - false, - }, - { - "samr_DeleteDomAlias", - sizeof(struct samr_DeleteDomAlias), - (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias, - (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias, - (ndr_print_function_t) ndr_print_samr_DeleteDomAlias, - false, - }, - { - "samr_AddAliasMember", - sizeof(struct samr_AddAliasMember), - (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember, - (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember, - (ndr_print_function_t) ndr_print_samr_AddAliasMember, - false, - }, - { - "samr_DeleteAliasMember", - sizeof(struct samr_DeleteAliasMember), - (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember, - (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember, - (ndr_print_function_t) ndr_print_samr_DeleteAliasMember, - false, - }, - { - "samr_GetMembersInAlias", - sizeof(struct samr_GetMembersInAlias), - (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias, - (ndr_print_function_t) ndr_print_samr_GetMembersInAlias, - false, - }, - { - "samr_OpenUser", - sizeof(struct samr_OpenUser), - (ndr_push_flags_fn_t) ndr_push_samr_OpenUser, - (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser, - (ndr_print_function_t) ndr_print_samr_OpenUser, - false, - }, - { - "samr_DeleteUser", - sizeof(struct samr_DeleteUser), - (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser, - (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser, - (ndr_print_function_t) ndr_print_samr_DeleteUser, - false, - }, - { - "samr_QueryUserInfo", - sizeof(struct samr_QueryUserInfo), - (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo, - (ndr_print_function_t) ndr_print_samr_QueryUserInfo, - false, - }, - { - "samr_SetUserInfo", - sizeof(struct samr_SetUserInfo), - (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo, - (ndr_print_function_t) ndr_print_samr_SetUserInfo, - false, - }, - { - "samr_ChangePasswordUser", - sizeof(struct samr_ChangePasswordUser), - (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser, - (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser, - (ndr_print_function_t) ndr_print_samr_ChangePasswordUser, - false, - }, - { - "samr_GetGroupsForUser", - sizeof(struct samr_GetGroupsForUser), - (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser, - (ndr_print_function_t) ndr_print_samr_GetGroupsForUser, - false, - }, - { - "samr_QueryDisplayInfo", - sizeof(struct samr_QueryDisplayInfo), - (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo, - (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo, - false, - }, - { - "samr_GetDisplayEnumerationIndex", - sizeof(struct samr_GetDisplayEnumerationIndex), - (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex, - (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex, - false, - }, - { - "samr_TestPrivateFunctionsDomain", - sizeof(struct samr_TestPrivateFunctionsDomain), - (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain, - (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain, - (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain, - false, - }, - { - "samr_TestPrivateFunctionsUser", - sizeof(struct samr_TestPrivateFunctionsUser), - (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser, - (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser, - (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser, - false, - }, - { - "samr_GetUserPwInfo", - sizeof(struct samr_GetUserPwInfo), - (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo, - (ndr_print_function_t) ndr_print_samr_GetUserPwInfo, - false, - }, - { - "samr_RemoveMemberFromForeignDomain", - sizeof(struct samr_RemoveMemberFromForeignDomain), - (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain, - (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain, - (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain, - false, - }, - { - "samr_QueryDomainInfo2", - sizeof(struct samr_QueryDomainInfo2), - (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2, - (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2, - false, - }, - { - "samr_QueryUserInfo2", - sizeof(struct samr_QueryUserInfo2), - (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2, - (ndr_print_function_t) ndr_print_samr_QueryUserInfo2, - false, - }, - { - "samr_QueryDisplayInfo2", - sizeof(struct samr_QueryDisplayInfo2), - (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2, - (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2, - false, - }, - { - "samr_GetDisplayEnumerationIndex2", - sizeof(struct samr_GetDisplayEnumerationIndex2), - (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2, - (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2, - false, - }, - { - "samr_CreateUser2", - sizeof(struct samr_CreateUser2), - (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2, - (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2, - (ndr_print_function_t) ndr_print_samr_CreateUser2, - false, - }, - { - "samr_QueryDisplayInfo3", - sizeof(struct samr_QueryDisplayInfo3), - (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3, - (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3, - (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3, - false, - }, - { - "samr_AddMultipleMembersToAlias", - sizeof(struct samr_AddMultipleMembersToAlias), - (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias, - (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias, - (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias, - false, - }, - { - "samr_RemoveMultipleMembersFromAlias", - sizeof(struct samr_RemoveMultipleMembersFromAlias), - (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias, - (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias, - (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias, - false, - }, - { - "samr_OemChangePasswordUser2", - sizeof(struct samr_OemChangePasswordUser2), - (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2, - (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2, - (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2, - false, - }, - { - "samr_ChangePasswordUser2", - sizeof(struct samr_ChangePasswordUser2), - (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2, - (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2, - (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2, - false, - }, - { - "samr_GetDomPwInfo", - sizeof(struct samr_GetDomPwInfo), - (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo, - (ndr_print_function_t) ndr_print_samr_GetDomPwInfo, - false, - }, - { - "samr_Connect2", - sizeof(struct samr_Connect2), - (ndr_push_flags_fn_t) ndr_push_samr_Connect2, - (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2, - (ndr_print_function_t) ndr_print_samr_Connect2, - false, - }, - { - "samr_SetUserInfo2", - sizeof(struct samr_SetUserInfo2), - (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2, - (ndr_print_function_t) ndr_print_samr_SetUserInfo2, - false, - }, - { - "samr_SetBootKeyInformation", - sizeof(struct samr_SetBootKeyInformation), - (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation, - (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation, - false, - }, - { - "samr_GetBootKeyInformation", - sizeof(struct samr_GetBootKeyInformation), - (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation, - (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation, - (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation, - false, - }, - { - "samr_Connect3", - sizeof(struct samr_Connect3), - (ndr_push_flags_fn_t) ndr_push_samr_Connect3, - (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3, - (ndr_print_function_t) ndr_print_samr_Connect3, - false, - }, - { - "samr_Connect4", - sizeof(struct samr_Connect4), - (ndr_push_flags_fn_t) ndr_push_samr_Connect4, - (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4, - (ndr_print_function_t) ndr_print_samr_Connect4, - false, - }, - { - "samr_ChangePasswordUser3", - sizeof(struct samr_ChangePasswordUser3), - (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3, - (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3, - (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3, - false, - }, - { - "samr_Connect5", - sizeof(struct samr_Connect5), - (ndr_push_flags_fn_t) ndr_push_samr_Connect5, - (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5, - (ndr_print_function_t) ndr_print_samr_Connect5, - false, - }, - { - "samr_RidToSid", - sizeof(struct samr_RidToSid), - (ndr_push_flags_fn_t) ndr_push_samr_RidToSid, - (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid, - (ndr_print_function_t) ndr_print_samr_RidToSid, - false, - }, - { - "samr_SetDsrmPassword", - sizeof(struct samr_SetDsrmPassword), - (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword, - (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword, - (ndr_print_function_t) ndr_print_samr_SetDsrmPassword, - false, - }, - { - "samr_ValidatePassword", - sizeof(struct samr_ValidatePassword), - (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword, - (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword, - (ndr_print_function_t) ndr_print_samr_ValidatePassword, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const samr_endpoint_strings[] = { - "ncacn_np:[\\pipe\\samr]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array samr_endpoints = { - .count = 3, - .names = samr_endpoint_strings -}; - -static const char * const samr_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array samr_authservices = { - .count = 1, - .names = samr_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_samr = { - .name = "samr", - .syntax_id = { - {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}}, - NDR_SAMR_VERSION - }, - .helpstring = NDR_SAMR_HELPSTRING, - .num_calls = 68, - .calls = samr_calls, - .endpoints = &samr_endpoints, - .authservices = &samr_authservices -}; - diff --git a/librpc/gen_ndr/ndr_samr.h b/librpc/gen_ndr/ndr_samr.h deleted file mode 100644 index 9ece0ed5ca2..00000000000 --- a/librpc/gen_ndr/ndr_samr.h +++ /dev/null @@ -1,351 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/samr.h" - -#ifndef _HEADER_NDR_samr -#define _HEADER_NDR_samr - -#define NDR_SAMR_UUID "12345778-1234-abcd-ef00-0123456789ac" -#define NDR_SAMR_VERSION 1.0 -#define NDR_SAMR_NAME "samr" -#define NDR_SAMR_HELPSTRING NULL -extern const struct ndr_interface_table ndr_table_samr; -#define NDR_SAMR_CONNECT (0x00) - -#define NDR_SAMR_CLOSE (0x01) - -#define NDR_SAMR_SETSECURITY (0x02) - -#define NDR_SAMR_QUERYSECURITY (0x03) - -#define NDR_SAMR_SHUTDOWN (0x04) - -#define NDR_SAMR_LOOKUPDOMAIN (0x05) - -#define NDR_SAMR_ENUMDOMAINS (0x06) - -#define NDR_SAMR_OPENDOMAIN (0x07) - -#define NDR_SAMR_QUERYDOMAININFO (0x08) - -#define NDR_SAMR_SETDOMAININFO (0x09) - -#define NDR_SAMR_CREATEDOMAINGROUP (0x0a) - -#define NDR_SAMR_ENUMDOMAINGROUPS (0x0b) - -#define NDR_SAMR_CREATEUSER (0x0c) - -#define NDR_SAMR_ENUMDOMAINUSERS (0x0d) - -#define NDR_SAMR_CREATEDOMALIAS (0x0e) - -#define NDR_SAMR_ENUMDOMAINALIASES (0x0f) - -#define NDR_SAMR_GETALIASMEMBERSHIP (0x10) - -#define NDR_SAMR_LOOKUPNAMES (0x11) - -#define NDR_SAMR_LOOKUPRIDS (0x12) - -#define NDR_SAMR_OPENGROUP (0x13) - -#define NDR_SAMR_QUERYGROUPINFO (0x14) - -#define NDR_SAMR_SETGROUPINFO (0x15) - -#define NDR_SAMR_ADDGROUPMEMBER (0x16) - -#define NDR_SAMR_DELETEDOMAINGROUP (0x17) - -#define NDR_SAMR_DELETEGROUPMEMBER (0x18) - -#define NDR_SAMR_QUERYGROUPMEMBER (0x19) - -#define NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP (0x1a) - -#define NDR_SAMR_OPENALIAS (0x1b) - -#define NDR_SAMR_QUERYALIASINFO (0x1c) - -#define NDR_SAMR_SETALIASINFO (0x1d) - -#define NDR_SAMR_DELETEDOMALIAS (0x1e) - -#define NDR_SAMR_ADDALIASMEMBER (0x1f) - -#define NDR_SAMR_DELETEALIASMEMBER (0x20) - -#define NDR_SAMR_GETMEMBERSINALIAS (0x21) - -#define NDR_SAMR_OPENUSER (0x22) - -#define NDR_SAMR_DELETEUSER (0x23) - -#define NDR_SAMR_QUERYUSERINFO (0x24) - -#define NDR_SAMR_SETUSERINFO (0x25) - -#define NDR_SAMR_CHANGEPASSWORDUSER (0x26) - -#define NDR_SAMR_GETGROUPSFORUSER (0x27) - -#define NDR_SAMR_QUERYDISPLAYINFO (0x28) - -#define NDR_SAMR_GETDISPLAYENUMERATIONINDEX (0x29) - -#define NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN (0x2a) - -#define NDR_SAMR_TESTPRIVATEFUNCTIONSUSER (0x2b) - -#define NDR_SAMR_GETUSERPWINFO (0x2c) - -#define NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN (0x2d) - -#define NDR_SAMR_QUERYDOMAININFO2 (0x2e) - -#define NDR_SAMR_QUERYUSERINFO2 (0x2f) - -#define NDR_SAMR_QUERYDISPLAYINFO2 (0x30) - -#define NDR_SAMR_GETDISPLAYENUMERATIONINDEX2 (0x31) - -#define NDR_SAMR_CREATEUSER2 (0x32) - -#define NDR_SAMR_QUERYDISPLAYINFO3 (0x33) - -#define NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS (0x34) - -#define NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS (0x35) - -#define NDR_SAMR_OEMCHANGEPASSWORDUSER2 (0x36) - -#define NDR_SAMR_CHANGEPASSWORDUSER2 (0x37) - -#define NDR_SAMR_GETDOMPWINFO (0x38) - -#define NDR_SAMR_CONNECT2 (0x39) - -#define NDR_SAMR_SETUSERINFO2 (0x3a) - -#define NDR_SAMR_SETBOOTKEYINFORMATION (0x3b) - -#define NDR_SAMR_GETBOOTKEYINFORMATION (0x3c) - -#define NDR_SAMR_CONNECT3 (0x3d) - -#define NDR_SAMR_CONNECT4 (0x3e) - -#define NDR_SAMR_CHANGEPASSWORDUSER3 (0x3f) - -#define NDR_SAMR_CONNECT5 (0x40) - -#define NDR_SAMR_RIDTOSID (0x41) - -#define NDR_SAMR_SETDSRMPASSWORD (0x42) - -#define NDR_SAMR_VALIDATEPASSWORD (0x43) - -#define NDR_SAMR_CALL_COUNT (68) -enum ndr_err_code ndr_push_netr_SamDatabaseID(struct ndr_push *ndr, int ndr_flags, enum netr_SamDatabaseID r); -enum ndr_err_code ndr_pull_netr_SamDatabaseID(struct ndr_pull *ndr, int ndr_flags, enum netr_SamDatabaseID *r); -void ndr_print_netr_SamDatabaseID(struct ndr_print *ndr, const char *name, enum netr_SamDatabaseID r); -enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r); -void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r); -void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r); -void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r); -enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r); -void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r); -void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r); -void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r); -void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r); -void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r); -void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r); -void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r); -void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r); -void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r); -void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r); -void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r); -void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r); -void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r); -void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r); -enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r); -void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r); -void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r); -void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r); -void ndr_print_samr_RidTypeArray(struct ndr_print *ndr, const char *name, const struct samr_RidTypeArray *r); -void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r); -void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r); -void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r); -void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r); -void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r); -void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r); -enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r); -enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r); -void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r); -void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r); -void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r); -void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r); -void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r); -void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r); -void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r); -void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r); -void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r); -void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r); -void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r); -void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r); -void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r); -void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r); -void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r); -enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r); -enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r); -void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r); -void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r); -void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r); -void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r); -enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r); -enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r); -void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r); -void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r); -void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r); -void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r); -void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r); -void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r); -void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r); -enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r); -enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r); -void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r); -enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r); -enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r); -void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r); -void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r); -void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r); -void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r); -void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r); -void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r); -void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r); -void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r); -void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r); -void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r); -void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r); -void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r); -enum ndr_err_code ndr_push_samPwdChangeReason(struct ndr_push *ndr, int ndr_flags, enum samPwdChangeReason r); -enum ndr_err_code ndr_pull_samPwdChangeReason(struct ndr_pull *ndr, int ndr_flags, enum samPwdChangeReason *r); -void ndr_print_samPwdChangeReason(struct ndr_print *ndr, const char *name, enum samPwdChangeReason r); -void ndr_print_userPwdChangeFailureInformation(struct ndr_print *ndr, const char *name, const struct userPwdChangeFailureInformation *r); -void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r); -void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r); -void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r); -void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r); -void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r); -void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r); -void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r); -void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r); -void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r); -void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r); -void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r); -void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r); -void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r); -enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r); -enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r); -void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r); -void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r); -void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r); -void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r); -void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r); -void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r); -enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r); -enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r); -void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r); -void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r); -void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r); -void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r); -void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r); -void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r); -void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r); -void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r); -void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r); -void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r); -enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r); -enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r); -void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r); -void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r); -void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r); -void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r); -void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r); -void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r); -void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r); -void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r); -void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r); -void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r); -void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r); -void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r); -void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r); -void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r); -void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r); -void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r); -void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r); -enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r); -enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r); -void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r); -void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r); -enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r); -enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r); -void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r); -enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r); -enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r); -void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r); -void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r); -void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r); -void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r); -void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r); -void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r); -void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r); -enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r); -enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r); -void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r); -void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r); -void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r); -void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r); -void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r); -void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r); -void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r); -void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r); -void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r); -void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r); -void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r); -void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r); -void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r); -void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r); -enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r); -enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r); -void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r); -void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r); -void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r); -void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r); -void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r); -void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r); -enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r); -enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r); -void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r); -void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r); -void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r); -void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r); -#endif /* _HEADER_NDR_samr */ diff --git a/librpc/gen_ndr/ndr_schannel.c b/librpc/gen_ndr/ndr_schannel.c deleted file mode 100644 index 9a2396f04ec..00000000000 --- a/librpc/gen_ndr/ndr_schannel.c +++ /dev/null @@ -1,642 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_schannel.h" - -#include "librpc/gen_ndr/ndr_netlogon.h" -#include "librpc/gen_ndr/ndr_nbt.h" -_PUBLIC_ enum ndr_err_code ndr_push_netlogon_creds_CredentialState(struct ndr_push *ndr, int ndr_flags, const struct netlogon_creds_CredentialState *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->negotiate_flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->session_key, 16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sequence)); - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->seed)); - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->client)); - NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->server)); - NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->secure_channel_type)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_name, CH_UTF8))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer_name, CH_UTF8))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer_name, ndr_charset_length(r->computer_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->sid)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_netlogon_creds_CredentialState(struct ndr_pull *ndr, int ndr_flags, struct netlogon_creds_CredentialState *r) -{ - uint32_t _ptr_sid; - TALLOC_CTX *_mem_save_sid_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->negotiate_flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->session_key, 16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sequence)); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->seed)); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->client)); - NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->server)); - NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->secure_channel_type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->computer_name)); - if (ndr_get_array_length(ndr, &r->computer_name) > ndr_get_array_size(ndr, &r->computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer_name), ndr_get_array_length(ndr, &r->computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer_name, ndr_get_array_length(ndr, &r->computer_name), sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name)); - if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); - if (_ptr_sid) { - NDR_PULL_ALLOC(ndr, r->sid); - } else { - r->sid = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sid) { - _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_netlogon_creds_CredentialState(struct ndr_print *ndr, const char *name, const struct netlogon_creds_CredentialState *r) -{ - ndr_print_struct(ndr, name, "netlogon_creds_CredentialState"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", r->negotiate_flags); - ndr_print_array_uint8(ndr, "session_key", r->session_key, 16); - ndr_print_uint32(ndr, "sequence", r->sequence); - ndr_print_netr_Credential(ndr, "seed", &r->seed); - ndr_print_netr_Credential(ndr, "client", &r->client); - ndr_print_netr_Credential(ndr, "server", &r->server); - ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->secure_channel_type); - ndr_print_string(ndr, "computer_name", r->computer_name); - ndr_print_string(ndr, "account_name", r->account_name); - ndr_print_ptr(ndr, "sid", r->sid); - ndr->depth++; - if (r->sid) { - ndr_print_dom_sid(ndr, "sid", r->sid); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_NL_AUTH_MESSAGE_TYPE(struct ndr_push *ndr, int ndr_flags, enum NL_AUTH_MESSAGE_TYPE r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE_TYPE(struct ndr_pull *ndr, int ndr_flags, enum NL_AUTH_MESSAGE_TYPE *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_AUTH_MESSAGE_TYPE(struct ndr_print *ndr, const char *name, enum NL_AUTH_MESSAGE_TYPE r) -{ - const char *val = NULL; - - switch (r) { - case NL_NEGOTIATE_REQUEST: val = "NL_NEGOTIATE_REQUEST"; break; - case NL_NEGOTIATE_RESPONSE: val = "NL_NEGOTIATE_RESPONSE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_NL_AUTH_MESSAGE_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE_FLAGS(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_AUTH_MESSAGE_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NL_FLAG_OEM_NETBIOS_DOMAIN_NAME", NL_FLAG_OEM_NETBIOS_DOMAIN_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NL_FLAG_OEM_NETBIOS_COMPUTER_NAME", NL_FLAG_OEM_NETBIOS_COMPUTER_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NL_FLAG_UTF8_DNS_DOMAIN_NAME", NL_FLAG_UTF8_DNS_DOMAIN_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NL_FLAG_UTF8_DNS_HOST_NAME", NL_FLAG_UTF8_DNS_HOST_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME", NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_NL_AUTH_MESSAGE_BUFFER(struct ndr_push *ndr, int ndr_flags, const union NL_AUTH_MESSAGE_BUFFER *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case NL_FLAG_OEM_NETBIOS_DOMAIN_NAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->a)); - ndr->flags = _flags_save_string; - } - break; } - - case NL_FLAG_OEM_NETBIOS_COMPUTER_NAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->a)); - ndr->flags = _flags_save_string; - } - break; } - - case NL_FLAG_UTF8_DNS_DOMAIN_NAME: { - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->u)); - break; } - - case NL_FLAG_UTF8_DNS_HOST_NAME: { - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->u)); - break; } - - case NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME: { - NDR_CHECK(ndr_push_nbt_string(ndr, NDR_SCALARS, r->u)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NL_FLAG_OEM_NETBIOS_DOMAIN_NAME: - break; - - case NL_FLAG_OEM_NETBIOS_COMPUTER_NAME: - break; - - case NL_FLAG_UTF8_DNS_DOMAIN_NAME: - break; - - case NL_FLAG_UTF8_DNS_HOST_NAME: - break; - - case NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE_BUFFER(struct ndr_pull *ndr, int ndr_flags, union NL_AUTH_MESSAGE_BUFFER *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case NL_FLAG_OEM_NETBIOS_DOMAIN_NAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->a)); - ndr->flags = _flags_save_string; - } - break; } - - case NL_FLAG_OEM_NETBIOS_COMPUTER_NAME: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->a)); - ndr->flags = _flags_save_string; - } - break; } - - case NL_FLAG_UTF8_DNS_DOMAIN_NAME: { - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->u)); - break; } - - case NL_FLAG_UTF8_DNS_HOST_NAME: { - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->u)); - break; } - - case NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME: { - NDR_CHECK(ndr_pull_nbt_string(ndr, NDR_SCALARS, &r->u)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NL_FLAG_OEM_NETBIOS_DOMAIN_NAME: - break; - - case NL_FLAG_OEM_NETBIOS_COMPUTER_NAME: - break; - - case NL_FLAG_UTF8_DNS_DOMAIN_NAME: - break; - - case NL_FLAG_UTF8_DNS_HOST_NAME: - break; - - case NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push_NL_AUTH_MESSAGE_BUFFER_REPLY(struct ndr_push *ndr, int ndr_flags, const union NL_AUTH_MESSAGE_BUFFER_REPLY *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case NL_NEGOTIATE_RESPONSE: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case NL_NEGOTIATE_RESPONSE: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE_BUFFER_REPLY(struct ndr_pull *ndr, int ndr_flags, union NL_AUTH_MESSAGE_BUFFER_REPLY *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case NL_NEGOTIATE_RESPONSE: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case NL_NEGOTIATE_RESPONSE: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push_NL_AUTH_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct NL_AUTH_MESSAGE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_TYPE(ndr, NDR_SCALARS, r->MessageType)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_FLAGS(ndr, NDR_SCALARS, r->Flags)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->oem_netbios_domain, r->Flags & NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->oem_netbios_domain)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->oem_netbios_computer, r->Flags & NL_FLAG_OEM_NETBIOS_COMPUTER_NAME)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->oem_netbios_computer)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->utf8_dns_domain, r->Flags & NL_FLAG_UTF8_DNS_DOMAIN_NAME)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->utf8_dns_domain)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->utf8_dns_host, r->Flags & NL_FLAG_UTF8_DNS_HOST_NAME)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->utf8_dns_host)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->utf8_netbios_computer, r->Flags & NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->utf8_netbios_computer)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->Buffer, r->MessageType & NL_NEGOTIATE_RESPONSE)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER_REPLY(ndr, NDR_SCALARS, &r->Buffer)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->oem_netbios_domain)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->oem_netbios_computer)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->utf8_dns_domain)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->utf8_dns_host)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->utf8_netbios_computer)); - NDR_CHECK(ndr_push_NL_AUTH_MESSAGE_BUFFER_REPLY(ndr, NDR_BUFFERS, &r->Buffer)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct NL_AUTH_MESSAGE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_TYPE(ndr, NDR_SCALARS, &r->MessageType)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_FLAGS(ndr, NDR_SCALARS, &r->Flags)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->oem_netbios_domain, r->Flags & NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->oem_netbios_domain)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->oem_netbios_computer, r->Flags & NL_FLAG_OEM_NETBIOS_COMPUTER_NAME)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->oem_netbios_computer)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->utf8_dns_domain, r->Flags & NL_FLAG_UTF8_DNS_DOMAIN_NAME)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->utf8_dns_domain)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->utf8_dns_host, r->Flags & NL_FLAG_UTF8_DNS_HOST_NAME)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->utf8_dns_host)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->utf8_netbios_computer, r->Flags & NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_SCALARS, &r->utf8_netbios_computer)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->Buffer, r->MessageType & NL_NEGOTIATE_RESPONSE)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER_REPLY(ndr, NDR_SCALARS, &r->Buffer)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->oem_netbios_domain)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->oem_netbios_computer)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->utf8_dns_domain)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->utf8_dns_host)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER(ndr, NDR_BUFFERS, &r->utf8_netbios_computer)); - NDR_CHECK(ndr_pull_NL_AUTH_MESSAGE_BUFFER_REPLY(ndr, NDR_BUFFERS, &r->Buffer)); - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_AUTH_MESSAGE(struct ndr_print *ndr, const char *name, const struct NL_AUTH_MESSAGE *r) -{ - ndr_print_struct(ndr, name, "NL_AUTH_MESSAGE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_NL_AUTH_MESSAGE_TYPE(ndr, "MessageType", r->MessageType); - ndr_print_NL_AUTH_MESSAGE_FLAGS(ndr, "Flags", r->Flags); - ndr_print_set_switch_value(ndr, &r->oem_netbios_domain, r->Flags & NL_FLAG_OEM_NETBIOS_DOMAIN_NAME); - ndr_print_NL_AUTH_MESSAGE_BUFFER(ndr, "oem_netbios_domain", &r->oem_netbios_domain); - ndr_print_set_switch_value(ndr, &r->oem_netbios_computer, r->Flags & NL_FLAG_OEM_NETBIOS_COMPUTER_NAME); - ndr_print_NL_AUTH_MESSAGE_BUFFER(ndr, "oem_netbios_computer", &r->oem_netbios_computer); - ndr_print_set_switch_value(ndr, &r->utf8_dns_domain, r->Flags & NL_FLAG_UTF8_DNS_DOMAIN_NAME); - ndr_print_NL_AUTH_MESSAGE_BUFFER(ndr, "utf8_dns_domain", &r->utf8_dns_domain); - ndr_print_set_switch_value(ndr, &r->utf8_dns_host, r->Flags & NL_FLAG_UTF8_DNS_HOST_NAME); - ndr_print_NL_AUTH_MESSAGE_BUFFER(ndr, "utf8_dns_host", &r->utf8_dns_host); - ndr_print_set_switch_value(ndr, &r->utf8_netbios_computer, r->Flags & NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME); - ndr_print_NL_AUTH_MESSAGE_BUFFER(ndr, "utf8_netbios_computer", &r->utf8_netbios_computer); - ndr_print_set_switch_value(ndr, &r->Buffer, r->MessageType & NL_NEGOTIATE_RESPONSE); - ndr_print_NL_AUTH_MESSAGE_BUFFER_REPLY(ndr, "Buffer", &r->Buffer); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_NL_SIGNATURE_ALGORITHM(struct ndr_push *ndr, int ndr_flags, enum NL_SIGNATURE_ALGORITHM r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NL_SIGNATURE_ALGORITHM(struct ndr_pull *ndr, int ndr_flags, enum NL_SIGNATURE_ALGORITHM *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_SIGNATURE_ALGORITHM(struct ndr_print *ndr, const char *name, enum NL_SIGNATURE_ALGORITHM r) -{ - const char *val = NULL; - - switch (r) { - case NL_SIGN_HMAC_SHA256: val = "NL_SIGN_HMAC_SHA256"; break; - case NL_SIGN_HMAC_MD5: val = "NL_SIGN_HMAC_MD5"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_NL_SEAL_ALGORITHM(struct ndr_push *ndr, int ndr_flags, enum NL_SEAL_ALGORITHM r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NL_SEAL_ALGORITHM(struct ndr_pull *ndr, int ndr_flags, enum NL_SEAL_ALGORITHM *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_SEAL_ALGORITHM(struct ndr_print *ndr, const char *name, enum NL_SEAL_ALGORITHM r) -{ - const char *val = NULL; - - switch (r) { - case NL_SEAL_AES128: val = "NL_SEAL_AES128"; break; - case NL_SEAL_RC4: val = "NL_SEAL_RC4"; break; - case NL_SEAL_NONE: val = "NL_SEAL_NONE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_NL_AUTH_SIGNATURE(struct ndr_push *ndr, int ndr_flags, const struct NL_AUTH_SIGNATURE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 3)); - NDR_CHECK(ndr_push_NL_SIGNATURE_ALGORITHM(ndr, NDR_SCALARS, NL_SIGN_HMAC_MD5)); - NDR_CHECK(ndr_push_NL_SEAL_ALGORITHM(ndr, NDR_SCALARS, r->SealAlgorithm)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Pad)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SequenceNumber, 8)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Checksum, 8)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Confounder, 8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NL_AUTH_SIGNATURE(struct ndr_pull *ndr, int ndr_flags, struct NL_AUTH_SIGNATURE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 3)); - NDR_CHECK(ndr_pull_NL_SIGNATURE_ALGORITHM(ndr, NDR_SCALARS, &r->SignatureAlgorithm)); - NDR_CHECK(ndr_pull_NL_SEAL_ALGORITHM(ndr, NDR_SCALARS, &r->SealAlgorithm)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Pad)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SequenceNumber, 8)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Checksum, 8)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Confounder, 8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_AUTH_SIGNATURE(struct ndr_print *ndr, const char *name, const struct NL_AUTH_SIGNATURE *r) -{ - ndr_print_struct(ndr, name, "NL_AUTH_SIGNATURE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_NL_SIGNATURE_ALGORITHM(ndr, "SignatureAlgorithm", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NL_SIGN_HMAC_MD5:r->SignatureAlgorithm); - ndr_print_NL_SEAL_ALGORITHM(ndr, "SealAlgorithm", r->SealAlgorithm); - ndr_print_uint16(ndr, "Pad", r->Pad); - ndr_print_uint16(ndr, "Flags", r->Flags); - ndr_print_array_uint8(ndr, "SequenceNumber", r->SequenceNumber, 8); - ndr_print_array_uint8(ndr, "Checksum", r->Checksum, 8); - ndr_print_array_uint8(ndr, "Confounder", r->Confounder, 8); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_NL_AUTH_SHA2_SIGNATURE(struct ndr_push *ndr, int ndr_flags, const struct NL_AUTH_SHA2_SIGNATURE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 3)); - NDR_CHECK(ndr_push_NL_SIGNATURE_ALGORITHM(ndr, NDR_SCALARS, NL_SIGN_HMAC_SHA256)); - NDR_CHECK(ndr_push_NL_SEAL_ALGORITHM(ndr, NDR_SCALARS, r->SealAlgorithm)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Pad)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Flags)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SequenceNumber, 8)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Checksum, 32)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Confounder, 8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_NL_AUTH_SHA2_SIGNATURE(struct ndr_pull *ndr, int ndr_flags, struct NL_AUTH_SHA2_SIGNATURE *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 3)); - NDR_CHECK(ndr_pull_NL_SIGNATURE_ALGORITHM(ndr, NDR_SCALARS, &r->SignatureAlgorithm)); - NDR_CHECK(ndr_pull_NL_SEAL_ALGORITHM(ndr, NDR_SCALARS, &r->SealAlgorithm)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Pad)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Flags)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SequenceNumber, 8)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Checksum, 32)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Confounder, 8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 3)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NL_AUTH_SHA2_SIGNATURE(struct ndr_print *ndr, const char *name, const struct NL_AUTH_SHA2_SIGNATURE *r) -{ - ndr_print_struct(ndr, name, "NL_AUTH_SHA2_SIGNATURE"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_NL_SIGNATURE_ALGORITHM(ndr, "SignatureAlgorithm", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NL_SIGN_HMAC_SHA256:r->SignatureAlgorithm); - ndr_print_NL_SEAL_ALGORITHM(ndr, "SealAlgorithm", r->SealAlgorithm); - ndr_print_uint16(ndr, "Pad", r->Pad); - ndr_print_uint16(ndr, "Flags", r->Flags); - ndr_print_array_uint8(ndr, "SequenceNumber", r->SequenceNumber, 8); - ndr_print_array_uint8(ndr, "Checksum", r->Checksum, 32); - ndr_print_array_uint8(ndr, "Confounder", r->Confounder, 8); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - diff --git a/librpc/gen_ndr/ndr_schannel.h b/librpc/gen_ndr/ndr_schannel.h deleted file mode 100644 index 63ee1e4cc95..00000000000 --- a/librpc/gen_ndr/ndr_schannel.h +++ /dev/null @@ -1,33 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/schannel.h" - -#ifndef _HEADER_NDR_schannel -#define _HEADER_NDR_schannel - -#include "../librpc/ndr/ndr_schannel.h" -#define NDR_SCHANNEL_CALL_COUNT (0) -enum ndr_err_code ndr_push_netlogon_creds_CredentialState(struct ndr_push *ndr, int ndr_flags, const struct netlogon_creds_CredentialState *r); -enum ndr_err_code ndr_pull_netlogon_creds_CredentialState(struct ndr_pull *ndr, int ndr_flags, struct netlogon_creds_CredentialState *r); -void ndr_print_netlogon_creds_CredentialState(struct ndr_print *ndr, const char *name, const struct netlogon_creds_CredentialState *r); -void ndr_print_NL_AUTH_MESSAGE_TYPE(struct ndr_print *ndr, const char *name, enum NL_AUTH_MESSAGE_TYPE r); -void ndr_print_NL_AUTH_MESSAGE_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_NL_AUTH_MESSAGE_BUFFER(struct ndr_push *ndr, int ndr_flags, const union NL_AUTH_MESSAGE_BUFFER *r); -enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE_BUFFER(struct ndr_pull *ndr, int ndr_flags, union NL_AUTH_MESSAGE_BUFFER *r); -void ndr_print_NL_AUTH_MESSAGE_BUFFER(struct ndr_print *ndr, const char *name, const union NL_AUTH_MESSAGE_BUFFER *r); -enum ndr_err_code ndr_push_NL_AUTH_MESSAGE_BUFFER_REPLY(struct ndr_push *ndr, int ndr_flags, const union NL_AUTH_MESSAGE_BUFFER_REPLY *r); -enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE_BUFFER_REPLY(struct ndr_pull *ndr, int ndr_flags, union NL_AUTH_MESSAGE_BUFFER_REPLY *r); -void ndr_print_NL_AUTH_MESSAGE_BUFFER_REPLY(struct ndr_print *ndr, const char *name, const union NL_AUTH_MESSAGE_BUFFER_REPLY *r); -enum ndr_err_code ndr_push_NL_AUTH_MESSAGE(struct ndr_push *ndr, int ndr_flags, const struct NL_AUTH_MESSAGE *r); -enum ndr_err_code ndr_pull_NL_AUTH_MESSAGE(struct ndr_pull *ndr, int ndr_flags, struct NL_AUTH_MESSAGE *r); -void ndr_print_NL_AUTH_MESSAGE(struct ndr_print *ndr, const char *name, const struct NL_AUTH_MESSAGE *r); -void ndr_print_NL_SIGNATURE_ALGORITHM(struct ndr_print *ndr, const char *name, enum NL_SIGNATURE_ALGORITHM r); -void ndr_print_NL_SEAL_ALGORITHM(struct ndr_print *ndr, const char *name, enum NL_SEAL_ALGORITHM r); -enum ndr_err_code ndr_push_NL_AUTH_SIGNATURE(struct ndr_push *ndr, int ndr_flags, const struct NL_AUTH_SIGNATURE *r); -enum ndr_err_code ndr_pull_NL_AUTH_SIGNATURE(struct ndr_pull *ndr, int ndr_flags, struct NL_AUTH_SIGNATURE *r); -void ndr_print_NL_AUTH_SIGNATURE(struct ndr_print *ndr, const char *name, const struct NL_AUTH_SIGNATURE *r); -enum ndr_err_code ndr_push_NL_AUTH_SHA2_SIGNATURE(struct ndr_push *ndr, int ndr_flags, const struct NL_AUTH_SHA2_SIGNATURE *r); -enum ndr_err_code ndr_pull_NL_AUTH_SHA2_SIGNATURE(struct ndr_pull *ndr, int ndr_flags, struct NL_AUTH_SHA2_SIGNATURE *r); -void ndr_print_NL_AUTH_SHA2_SIGNATURE(struct ndr_print *ndr, const char *name, const struct NL_AUTH_SHA2_SIGNATURE *r); -#endif /* _HEADER_NDR_schannel */ diff --git a/librpc/gen_ndr/ndr_security.c b/librpc/gen_ndr/ndr_security.c deleted file mode 100644 index 7abb5e8e1b1..00000000000 --- a/librpc/gen_ndr/ndr_security.c +++ /dev/null @@ -1,1091 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_security.h" - -#include "librpc/gen_ndr/ndr_misc.h" -_PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r) -{ - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_ace_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_flags(struct ndr_print *ndr, const char *name, uint8_t r) -{ - ndr_print_uint8(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_OBJECT_INHERIT", SEC_ACE_FLAG_OBJECT_INHERIT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_CONTAINER_INHERIT", SEC_ACE_FLAG_CONTAINER_INHERIT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_NO_PROPAGATE_INHERIT", SEC_ACE_FLAG_NO_PROPAGATE_INHERIT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERIT_ONLY", SEC_ACE_FLAG_INHERIT_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_INHERITED_ACE", SEC_ACE_FLAG_INHERITED_ACE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_VALID_INHERIT", SEC_ACE_FLAG_VALID_INHERIT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_SUCCESSFUL_ACCESS", SEC_ACE_FLAG_SUCCESSFUL_ACCESS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "SEC_ACE_FLAG_FAILED_ACCESS", SEC_ACE_FLAG_FAILED_ACCESS, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_ace_type(struct ndr_pull *ndr, int ndr_flags, enum security_ace_type *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_type(struct ndr_print *ndr, const char *name, enum security_ace_type r) -{ - const char *val = NULL; - - switch (r) { - case SEC_ACE_TYPE_ACCESS_ALLOWED: val = "SEC_ACE_TYPE_ACCESS_ALLOWED"; break; - case SEC_ACE_TYPE_ACCESS_DENIED: val = "SEC_ACE_TYPE_ACCESS_DENIED"; break; - case SEC_ACE_TYPE_SYSTEM_AUDIT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT"; break; - case SEC_ACE_TYPE_SYSTEM_ALARM: val = "SEC_ACE_TYPE_SYSTEM_ALARM"; break; - case SEC_ACE_TYPE_ALLOWED_COMPOUND: val = "SEC_ACE_TYPE_ALLOWED_COMPOUND"; break; - case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT"; break; - case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: val = "SEC_ACE_TYPE_ACCESS_DENIED_OBJECT"; break; - case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT"; break; - case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: val = "SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_security_ace_object_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_security_ace_object_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_object_flags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_OBJECT_TYPE_PRESENT", SEC_ACE_OBJECT_TYPE_PRESENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT", SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_security_ace_object_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_type *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case SEC_ACE_OBJECT_TYPE_PRESENT: { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->type)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case SEC_ACE_OBJECT_TYPE_PRESENT: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_security_ace_object_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_type *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case SEC_ACE_OBJECT_TYPE_PRESENT: { - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->type)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case SEC_ACE_OBJECT_TYPE_PRESENT: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_object_type(struct ndr_print *ndr, const char *name, const union security_ace_object_type *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "security_ace_object_type"); - switch (level) { - case SEC_ACE_OBJECT_TYPE_PRESENT: - ndr_print_GUID(ndr, "type", &r->type); - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_security_ace_object_inherited_type(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_inherited_type *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: { - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->inherited_type)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_inherited_type *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: { - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->inherited_type)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_object_inherited_type(struct ndr_print *ndr, const char *name, const union security_ace_object_inherited_type *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "security_ace_object_inherited_type"); - switch (level) { - case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: - ndr_print_GUID(ndr, "inherited_type", &r->inherited_type); - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_security_ace_object(struct ndr_push *ndr, int ndr_flags, const struct security_ace_object *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_security_ace_object_flags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT)); - NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT)); - NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_security_ace_object_type(ndr, NDR_BUFFERS, &r->type)); - NDR_CHECK(ndr_push_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_security_ace_object(struct ndr_pull *ndr, int ndr_flags, struct security_ace_object *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_security_ace_object_flags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT)); - NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT)); - NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_SCALARS, &r->inherited_type)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_security_ace_object_type(ndr, NDR_BUFFERS, &r->type)); - NDR_CHECK(ndr_pull_security_ace_object_inherited_type(ndr, NDR_BUFFERS, &r->inherited_type)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_object(struct ndr_print *ndr, const char *name, const struct security_ace_object *r) -{ - ndr_print_struct(ndr, name, "security_ace_object"); - ndr->depth++; - ndr_print_security_ace_object_flags(ndr, "flags", r->flags); - ndr_print_set_switch_value(ndr, &r->type, r->flags & SEC_ACE_OBJECT_TYPE_PRESENT); - ndr_print_security_ace_object_type(ndr, "type", &r->type); - ndr_print_set_switch_value(ndr, &r->inherited_type, r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT); - ndr_print_security_ace_object_inherited_type(ndr, "inherited_type", &r->inherited_type); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_ace_object_ctr(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_ctr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: { - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: { - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: { - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: { - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: - NDR_CHECK(ndr_push_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_ctr *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: { - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: { - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: { - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: { - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_SCALARS, &r->object)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: - NDR_CHECK(ndr_pull_security_ace_object(ndr, NDR_BUFFERS, &r->object)); - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace_object_ctr(struct ndr_print *ndr, const char *name, const union security_ace_object_ctr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "security_ace_object_ctr"); - switch (level) { - case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: - ndr_print_security_ace_object(ndr, "object", &r->object); - break; - - case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: - ndr_print_security_ace_object(ndr, "object", &r->object); - break; - - case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: - ndr_print_security_ace_object(ndr, "object", &r->object); - break; - - case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: - ndr_print_security_ace_object(ndr, "object", &r->object); - break; - - default: - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_security_ace_type(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_security_ace_flags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_ace(r, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->access_mask)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->type)); - NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_SCALARS, &r->object)); - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->trustee)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_security_ace_object_ctr(ndr, NDR_BUFFERS, &r->object)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_ace(struct ndr_print *ndr, const char *name, const struct security_ace *r) -{ - ndr_print_struct(ndr, name, "security_ace"); - ndr->depth++; - ndr_print_security_ace_type(ndr, "type", r->type); - ndr_print_security_ace_flags(ndr, "flags", r->flags); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_ace(r, ndr->iconv_convenience, ndr->flags):r->size); - ndr_print_uint32(ndr, "access_mask", r->access_mask); - ndr_print_set_switch_value(ndr, &r->object, r->type); - ndr_print_security_ace_object_ctr(ndr, "object", &r->object); - ndr_print_dom_sid(ndr, "trustee", &r->trustee); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_security_acl_revision(struct ndr_push *ndr, int ndr_flags, enum security_acl_revision r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_security_acl_revision(struct ndr_pull *ndr, int ndr_flags, enum security_acl_revision *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_acl_revision(struct ndr_print *ndr, const char *name, enum security_acl_revision r) -{ - const char *val = NULL; - - switch (r) { - case SECURITY_ACL_REVISION_NT4: val = "SECURITY_ACL_REVISION_NT4"; break; - case SECURITY_ACL_REVISION_ADS: val = "SECURITY_ACL_REVISION_ADS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, const struct security_acl *r) -{ - uint32_t cntr_aces_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_security_acl_revision(ndr, NDR_SCALARS, r->revision)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_security_acl(r, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aces)); - for (cntr_aces_0 = 0; cntr_aces_0 < r->num_aces; cntr_aces_0++) { - NDR_CHECK(ndr_push_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_aces_0 = 0; cntr_aces_0 < r->num_aces; cntr_aces_0++) { - NDR_CHECK(ndr_push_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r) -{ - uint32_t cntr_aces_0; - TALLOC_CTX *_mem_save_aces_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_security_acl_revision(ndr, NDR_SCALARS, &r->revision)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces)); - if (r->num_aces > 1000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->aces, r->num_aces); - _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0); - for (cntr_aces_0 = 0; cntr_aces_0 < r->num_aces; cntr_aces_0++) { - NDR_CHECK(ndr_pull_security_ace(ndr, NDR_SCALARS, &r->aces[cntr_aces_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_aces_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->aces, 0); - for (cntr_aces_0 = 0; cntr_aces_0 < r->num_aces; cntr_aces_0++) { - NDR_CHECK(ndr_pull_security_ace(ndr, NDR_BUFFERS, &r->aces[cntr_aces_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_aces_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_acl(struct ndr_print *ndr, const char *name, const struct security_acl *r) -{ - uint32_t cntr_aces_0; - ndr_print_struct(ndr, name, "security_acl"); - ndr->depth++; - ndr_print_security_acl_revision(ndr, "revision", r->revision); - ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_acl(r, ndr->iconv_convenience, ndr->flags):r->size); - ndr_print_uint32(ndr, "num_aces", r->num_aces); - ndr->print(ndr, "%s: ARRAY(%d)", "aces", (int)r->num_aces); - ndr->depth++; - for (cntr_aces_0=0;cntr_aces_0num_aces;cntr_aces_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_aces_0) != -1) { - ndr_print_security_ace(ndr, "aces", &r->aces[cntr_aces_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r) -{ - NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r) -{ - uint8_t v; - NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r) -{ - const char *val = NULL; - - switch (r) { - case SECURITY_DESCRIPTOR_REVISION_1: val = "SECURITY_DESCRIPTOR_REVISION_1"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r) -{ - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r) -{ - ndr_print_uint16(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_OWNER_DEFAULTED", SEC_DESC_OWNER_DEFAULTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_GROUP_DEFAULTED", SEC_DESC_GROUP_DEFAULTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PRESENT", SEC_DESC_DACL_PRESENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_DEFAULTED", SEC_DESC_DACL_DEFAULTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PRESENT", SEC_DESC_SACL_PRESENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_DEFAULTED", SEC_DESC_SACL_DEFAULTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_TRUSTED", SEC_DESC_DACL_TRUSTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SERVER_SECURITY", SEC_DESC_SERVER_SECURITY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERIT_REQ", SEC_DESC_DACL_AUTO_INHERIT_REQ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERIT_REQ", SEC_DESC_SACL_AUTO_INHERIT_REQ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_AUTO_INHERITED", SEC_DESC_DACL_AUTO_INHERITED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_AUTO_INHERITED", SEC_DESC_SACL_AUTO_INHERITED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_DACL_PROTECTED", SEC_DESC_DACL_PROTECTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SACL_PROTECTED", SEC_DESC_SACL_PROTECTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_RM_CONTROL_VALID", SEC_DESC_RM_CONTROL_VALID, r); - ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "SEC_DESC_SELF_RELATIVE", SEC_DESC_SELF_RELATIVE, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision)); - NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->owner_sid) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid)); - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid)); - } - if (r->group_sid) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid)); - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid)); - } - if (r->sacl) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl)); - NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl)); - } - if (r->dacl) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl)); - NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl)); - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r) -{ - uint32_t _ptr_owner_sid; - TALLOC_CTX *_mem_save_owner_sid_0; - uint32_t _ptr_group_sid; - TALLOC_CTX *_mem_save_group_sid_0; - uint32_t _ptr_sacl; - TALLOC_CTX *_mem_save_sacl_0; - uint32_t _ptr_dacl; - TALLOC_CTX *_mem_save_dacl_0; - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_security_descriptor_revision(ndr, NDR_SCALARS, &r->revision)); - NDR_CHECK(ndr_pull_security_descriptor_type(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid)); - if (_ptr_owner_sid) { - NDR_PULL_ALLOC(ndr, r->owner_sid); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->owner_sid, _ptr_owner_sid)); - } else { - r->owner_sid = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid)); - if (_ptr_group_sid) { - NDR_PULL_ALLOC(ndr, r->group_sid); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->group_sid, _ptr_group_sid)); - } else { - r->group_sid = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl)); - if (_ptr_sacl) { - NDR_PULL_ALLOC(ndr, r->sacl); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl)); - } else { - r->sacl = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl)); - if (_ptr_dacl) { - NDR_PULL_ALLOC(ndr, r->dacl); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl)); - } else { - r->dacl = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->owner_sid) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid)); - _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - if (r->group_sid) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid)); - _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - if (r->sacl) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl)); - _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0); - NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - if (r->dacl) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl)); - _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0); - NDR_CHECK(ndr_pull_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r) -{ - ndr_print_struct(ndr, name, "security_descriptor"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); - ndr->depth++; - ndr_print_security_descriptor_revision(ndr, "revision", r->revision); - ndr_print_security_descriptor_type(ndr, "type", r->type); - ndr_print_ptr(ndr, "owner_sid", r->owner_sid); - ndr->depth++; - if (r->owner_sid) { - ndr_print_dom_sid(ndr, "owner_sid", r->owner_sid); - } - ndr->depth--; - ndr_print_ptr(ndr, "group_sid", r->group_sid); - ndr->depth++; - if (r->group_sid) { - ndr_print_dom_sid(ndr, "group_sid", r->group_sid); - } - ndr->depth--; - ndr_print_ptr(ndr, "sacl", r->sacl); - ndr->depth++; - if (r->sacl) { - ndr_print_security_acl(ndr, "sacl", r->sacl); - } - ndr->depth--; - ndr_print_ptr(ndr, "dacl", r->dacl); - ndr->depth++; - if (r->dacl) { - ndr_print_security_acl(ndr, "dacl", r->dacl); - } - ndr->depth--; - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_sec_desc_buf(struct ndr_push *ndr, int ndr_flags, const struct sec_desc_buf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_security_descriptor(r->sd, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sd) { - { - struct ndr_push *_ndr_sd; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_sd, 4, -1)); - NDR_CHECK(ndr_push_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_sd, 4, -1)); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_sec_desc_buf(struct ndr_pull *ndr, int ndr_flags, struct sec_desc_buf *r) -{ - uint32_t _ptr_sd; - TALLOC_CTX *_mem_save_sd_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sd_size)); - if (r->sd_size > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd)); - if (_ptr_sd) { - NDR_PULL_ALLOC(ndr, r->sd); - } else { - r->sd = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sd) { - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0); - { - struct ndr_pull *_ndr_sd; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_sd, 4, -1)); - NDR_CHECK(ndr_pull_security_descriptor(_ndr_sd, NDR_SCALARS|NDR_BUFFERS, r->sd)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_sd, 4, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_sec_desc_buf(struct ndr_print *ndr, const char *name, const struct sec_desc_buf *r) -{ - ndr_print_struct(ndr, name, "sec_desc_buf"); - ndr->depth++; - ndr_print_uint32(ndr, "sd_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_security_descriptor(r->sd, ndr->iconv_convenience, ndr->flags):r->sd_size); - ndr_print_ptr(ndr, "sd", r->sd); - ndr->depth++; - if (r->sd) { - ndr_print_security_descriptor(ndr, "sd", r->sd); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_token(struct ndr_push *ndr, int ndr_flags, const struct security_token *r) -{ - uint32_t cntr_sids_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_sid)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_sid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids)); - for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids[cntr_sids_0])); - } - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->privilege_mask)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user_sid) { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->user_sid)); - } - if (r->group_sid) { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid)); - } - for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { - if (r->sids[cntr_sids_0]) { - NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->sids[cntr_sids_0])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r) -{ - uint32_t _ptr_user_sid; - TALLOC_CTX *_mem_save_user_sid_0; - uint32_t _ptr_group_sid; - TALLOC_CTX *_mem_save_group_sid_0; - uint32_t _ptr_sids; - uint32_t cntr_sids_0; - TALLOC_CTX *_mem_save_sids_0; - TALLOC_CTX *_mem_save_sids_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_sid)); - if (_ptr_user_sid) { - NDR_PULL_ALLOC(ndr, r->user_sid); - } else { - r->user_sid = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid)); - if (_ptr_group_sid) { - NDR_PULL_ALLOC(ndr, r->group_sid); - } else { - r->group_sid = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); - NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids)); - if (_ptr_sids) { - NDR_PULL_ALLOC(ndr, r->sids[cntr_sids_0]); - } else { - r->sids[cntr_sids_0] = NULL; - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->privilege_mask)); - if (r->sids) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user_sid) { - _mem_save_user_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->user_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_sid_0, 0); - } - if (r->group_sid) { - _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0); - } - _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); - for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { - if (r->sids[cntr_sids_0]) { - _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sids[cntr_sids_0], 0); - NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->sids[cntr_sids_0])); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_token(struct ndr_print *ndr, const char *name, const struct security_token *r) -{ - uint32_t cntr_sids_0; - ndr_print_struct(ndr, name, "security_token"); - ndr->depth++; - ndr_print_ptr(ndr, "user_sid", r->user_sid); - ndr->depth++; - if (r->user_sid) { - ndr_print_dom_sid(ndr, "user_sid", r->user_sid); - } - ndr->depth--; - ndr_print_ptr(ndr, "group_sid", r->group_sid); - ndr->depth++; - if (r->group_sid) { - ndr_print_dom_sid(ndr, "group_sid", r->group_sid); - } - ndr->depth--; - ndr_print_uint32(ndr, "num_sids", r->num_sids); - ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids); - ndr->depth++; - for (cntr_sids_0=0;cntr_sids_0num_sids;cntr_sids_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_sids_0) != -1) { - ndr_print_ptr(ndr, "sids", r->sids[cntr_sids_0]); - ndr->depth++; - if (r->sids[cntr_sids_0]) { - ndr_print_dom_sid(ndr, "sids", r->sids[cntr_sids_0]); - } - ndr->depth--; - free(idx_0); - } - } - ndr->depth--; - ndr_print_udlong(ndr, "privilege_mask", r->privilege_mask); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_secinfo(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_secinfo(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_secinfo(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_OWNER", SECINFO_OWNER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_GROUP", SECINFO_GROUP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_DACL", SECINFO_DACL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_SACL", SECINFO_SACL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_SACL", SECINFO_UNPROTECTED_SACL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_UNPROTECTED_DACL", SECINFO_UNPROTECTED_DACL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_SACL", SECINFO_PROTECTED_SACL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SECINFO_PROTECTED_DACL", SECINFO_PROTECTED_DACL, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_kerb_EncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_kerb_EncTypes(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_CRC", KERB_ENCTYPE_DES_CBC_CRC, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_DES_CBC_MD5", KERB_ENCTYPE_DES_CBC_MD5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_RC4_HMAC_MD5", KERB_ENCTYPE_RC4_HMAC_MD5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96", KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_autoinherit(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_autoinherit(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_autoinherit(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DACL_AUTO_INHERIT", SEC_DACL_AUTO_INHERIT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_SACL_AUTO_INHERIT", SEC_SACL_AUTO_INHERIT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_DEFAULT_DESCRIPTOR", SEC_DEFAULT_DESCRIPTOR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_OWNER_FROM_PARENT", SEC_OWNER_FROM_PARENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SEC_GROUP_FROM_PARENT", SEC_GROUP_FROM_PARENT, r); - ndr->depth--; -} - diff --git a/librpc/gen_ndr/ndr_security.h b/librpc/gen_ndr/ndr_security.h deleted file mode 100644 index e1f943dbc35..00000000000 --- a/librpc/gen_ndr/ndr_security.h +++ /dev/null @@ -1,61 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/security.h" - -#ifndef _HEADER_NDR_security -#define _HEADER_NDR_security - -#define NDR_SECURITY_CALL_COUNT (0) -enum ndr_err_code ndr_push_dom_sid(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *r); -enum ndr_err_code ndr_pull_dom_sid(struct ndr_pull *ndr, int ndr_flags, struct dom_sid *r); -void ndr_print_dom_sid(struct ndr_print *ndr, const char *name, const struct dom_sid *r); -size_t ndr_size_dom_sid(const struct dom_sid *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r); -enum ndr_err_code ndr_pull_security_ace_flags(struct ndr_pull *ndr, int ndr_flags, uint8_t *r); -void ndr_print_security_ace_flags(struct ndr_print *ndr, const char *name, uint8_t r); -enum ndr_err_code ndr_push_security_ace_type(struct ndr_push *ndr, int ndr_flags, enum security_ace_type r); -enum ndr_err_code ndr_pull_security_ace_type(struct ndr_pull *ndr, int ndr_flags, enum security_ace_type *r); -void ndr_print_security_ace_type(struct ndr_print *ndr, const char *name, enum security_ace_type r); -void ndr_print_security_ace_object_flags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_security_ace_object_type(struct ndr_print *ndr, const char *name, const union security_ace_object_type *r); -void ndr_print_security_ace_object_inherited_type(struct ndr_print *ndr, const char *name, const union security_ace_object_inherited_type *r); -void ndr_print_security_ace_object(struct ndr_print *ndr, const char *name, const struct security_ace_object *r); -enum ndr_err_code ndr_push_security_ace_object_ctr(struct ndr_push *ndr, int ndr_flags, const union security_ace_object_ctr *r); -enum ndr_err_code ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr, int ndr_flags, union security_ace_object_ctr *r); -void ndr_print_security_ace_object_ctr(struct ndr_print *ndr, const char *name, const union security_ace_object_ctr *r); -enum ndr_err_code ndr_push_security_ace(struct ndr_push *ndr, int ndr_flags, const struct security_ace *r); -enum ndr_err_code ndr_pull_security_ace(struct ndr_pull *ndr, int ndr_flags, struct security_ace *r); -void ndr_print_security_ace(struct ndr_print *ndr, const char *name, const struct security_ace *r); -size_t ndr_size_security_ace(const struct security_ace *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_security_acl_revision(struct ndr_print *ndr, const char *name, enum security_acl_revision r); -enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, const struct security_acl *r); -enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r); -void ndr_print_security_acl(struct ndr_print *ndr, const char *name, const struct security_acl *r); -size_t ndr_size_security_acl(const struct security_acl *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r); -enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r); -void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r); -enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r); -enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r); -void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r); -enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r); -enum ndr_err_code ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r); -void ndr_print_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r); -size_t ndr_size_security_descriptor(const struct security_descriptor *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_sec_desc_buf(struct ndr_push *ndr, int ndr_flags, const struct sec_desc_buf *r); -enum ndr_err_code ndr_pull_sec_desc_buf(struct ndr_pull *ndr, int ndr_flags, struct sec_desc_buf *r); -void ndr_print_sec_desc_buf(struct ndr_print *ndr, const char *name, const struct sec_desc_buf *r); -enum ndr_err_code ndr_push_security_token(struct ndr_push *ndr, int ndr_flags, const struct security_token *r); -enum ndr_err_code ndr_pull_security_token(struct ndr_pull *ndr, int ndr_flags, struct security_token *r); -void ndr_print_security_token(struct ndr_print *ndr, const char *name, const struct security_token *r); -enum ndr_err_code ndr_push_security_secinfo(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_security_secinfo(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_security_secinfo(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_kerb_EncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_kerb_EncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_kerb_EncTypes(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_security_autoinherit(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_security_autoinherit(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_security_autoinherit(struct ndr_print *ndr, const char *name, uint32_t r); -#endif /* _HEADER_NDR_security */ diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c deleted file mode 100644 index cd036cf1cb8..00000000000 --- a/librpc/gen_ndr/ndr_spoolss.c +++ /dev/null @@ -1,31763 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_spoolss.h" - -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_winreg.h" -static enum ndr_err_code ndr_push_spoolss_Time(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Time *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->year)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->month)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->day_of_week)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->day)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->hour)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minute)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->second)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->millisecond)); - NDR_CHECK(ndr_push_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_Time(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Time *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 2)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->year)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->month)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day_of_week)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->day)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->hour)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minute)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->second)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->millisecond)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static size_t ndr_size_spoolss_Time(const struct spoolss_Time *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_Time, ic); -} - -static enum ndr_err_code ndr_push_spoolss_TimeCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_TimeCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_Time(r->time, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->time) { - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, r->time)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_TimeCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_TimeCtr *r) -{ - uint32_t _ptr_time; - TALLOC_CTX *_mem_save_time_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_time)); - if (_ptr_time) { - NDR_PULL_ALLOC(ndr, r->time); - } else { - r->time = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->time) { - _mem_save_time_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->time, 0); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, r->time)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_time_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_TimeCtr(struct ndr_print *ndr, const char *name, const struct spoolss_TimeCtr *r) -{ - ndr_print_struct(ndr, name, "spoolss_TimeCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_Time(r->time, ndr->iconv_convenience, ndr->flags):r->size); - ndr_print_ptr(ndr, "time", r->time); - ndr->depth++; - if (r->time) { - ndr_print_spoolss_Time(ndr, "time", r->time); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ProcessorArchitecture(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ProcessorArchitecture(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ProcessorArchitecture(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorArchitecture r) -{ - const char *val = NULL; - - switch (r) { - case PROCESSOR_ARCHITECTURE_INTEL: val = "PROCESSOR_ARCHITECTURE_INTEL"; break; - case PROCESSOR_ARCHITECTURE_IA64: val = "PROCESSOR_ARCHITECTURE_IA64"; break; - case PROCESSOR_ARCHITECTURE_AMD64: val = "PROCESSOR_ARCHITECTURE_AMD64"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_ProcessorType(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ProcessorType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ProcessorType(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorType r) -{ - const char *val = NULL; - - switch (r) { - case PROCESSOR_INTEL_386: val = "PROCESSOR_INTEL_386"; break; - case PROCESSOR_INTEL_486: val = "PROCESSOR_INTEL_486"; break; - case PROCESSOR_INTEL_PENTIUM: val = "PROCESSOR_INTEL_PENTIUM"; break; - case PROCESSOR_INTEL_IA64: val = "PROCESSOR_INTEL_IA64"; break; - case PROCESSOR_AMD_X8664: val = "PROCESSOR_AMD_X8664"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_MajorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MajorVersion r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_MajorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MajorVersion *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_MajorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MajorVersion r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_MAJOR_VERSION_NT4_95_98_ME: val = "SPOOLSS_MAJOR_VERSION_NT4_95_98_ME"; break; - case SPOOLSS_MAJOR_VERSION_2000_2003_XP: val = "SPOOLSS_MAJOR_VERSION_2000_2003_XP"; break; - case SPOOLSS_MAJOR_VERSION_2008_VISTA: val = "SPOOLSS_MAJOR_VERSION_2008_VISTA"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_MinorVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_MinorVersion r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_MinorVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_MinorVersion *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_MinorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MinorVersion r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_MINOR_VERSION_0: val = "SPOOLSS_MINOR_VERSION_0"; break; - case SPOOLSS_MINOR_VERSION_XP: val = "SPOOLSS_MINOR_VERSION_XP"; break; - case SPOOLSS_MINOR_VERSION_2003_XP64: val = "SPOOLSS_MINOR_VERSION_2003_XP64"; break; - case SPOOLSS_MINOR_VERSION_98: val = "SPOOLSS_MINOR_VERSION_98"; break; - case SPOOLSS_MINOR_VERSION_ME: val = "SPOOLSS_MINOR_VERSION_ME"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterStatus(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAUSED", PRINTER_STATUS_PAUSED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_ERROR", PRINTER_STATUS_ERROR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PENDING_DELETION", PRINTER_STATUS_PENDING_DELETION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_JAM", PRINTER_STATUS_PAPER_JAM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_OUT", PRINTER_STATUS_PAPER_OUT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_MANUAL_FEED", PRINTER_STATUS_MANUAL_FEED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAPER_PROBLEM", PRINTER_STATUS_PAPER_PROBLEM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OFFLINE", PRINTER_STATUS_OFFLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_IO_ACTIVE", PRINTER_STATUS_IO_ACTIVE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_BUSY", PRINTER_STATUS_BUSY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PRINTING", PRINTER_STATUS_PRINTING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUTPUT_BIN_FULL", PRINTER_STATUS_OUTPUT_BIN_FULL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NOT_AVAILABLE", PRINTER_STATUS_NOT_AVAILABLE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WAITING", PRINTER_STATUS_WAITING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PROCESSING", PRINTER_STATUS_PROCESSING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_INITIALIZING", PRINTER_STATUS_INITIALIZING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_WARMING_UP", PRINTER_STATUS_WARMING_UP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_TONER_LOW", PRINTER_STATUS_TONER_LOW, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_NO_TONER", PRINTER_STATUS_NO_TONER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_PAGE_PUNT", PRINTER_STATUS_PAGE_PUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_USER_INTERVENTION", PRINTER_STATUS_USER_INTERVENTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_OUT_OF_MEMORY", PRINTER_STATUS_OUT_OF_MEMORY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_DOOR_OPEN", PRINTER_STATUS_DOOR_OPEN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_SERVER_UNKNOWN", PRINTER_STATUS_SERVER_UNKNOWN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_STATUS_POWER_SAVE", PRINTER_STATUS_POWER_SAVE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_JobStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_JobStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobStatus(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAUSED", JOB_STATUS_PAUSED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_ERROR", JOB_STATUS_ERROR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETING", JOB_STATUS_DELETING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_SPOOLING", JOB_STATUS_SPOOLING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTING", JOB_STATUS_PRINTING, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_OFFLINE", JOB_STATUS_OFFLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PAPEROUT", JOB_STATUS_PAPEROUT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_PRINTED", JOB_STATUS_PRINTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_DELETED", JOB_STATUS_DELETED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_BLOCKED_DEVQ", JOB_STATUS_BLOCKED_DEVQ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_USER_INTERVENTION", JOB_STATUS_USER_INTERVENTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_RESTART", JOB_STATUS_RESTART, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_STATUS_COMPLETE", JOB_STATUS_COMPLETE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_Build(struct ndr_push *ndr, int ndr_flags, enum spoolss_Build r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_Build(struct ndr_pull *ndr, int ndr_flags, enum spoolss_Build *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_Build(struct ndr_print *ndr, const char *name, enum spoolss_Build r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DEBUGGING_BUILD: val = "SPOOLSS_DEBUGGING_BUILD"; break; - case SPOOLSS_RELEASE_BUILD: val = "SPOOLSS_RELEASE_BUILD"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_spoolss_Build(ndr, NDR_SCALARS, r->free_build)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready)); - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->job_error)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors)); - NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error)); - NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter)); - NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->servername) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo0 *r) -{ - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername)); - } else { - r->printername = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->servername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername)); - } else { - r->servername = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_spoolss_Build(ndr, NDR_SCALARS, &r->free_build)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready)); - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->job_error)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors)); - NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error)); - NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter)); - NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername)); - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->servername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername)); - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "servername", r->servername); - ndr->depth++; - if (r->servername) { - ndr_print_string(ndr, "servername", r->servername); - } - ndr->depth--; - ndr_print_uint32(ndr, "cjobs", r->cjobs); - ndr_print_uint32(ndr, "total_jobs", r->total_jobs); - ndr_print_uint32(ndr, "total_bytes", r->total_bytes); - ndr_print_spoolss_Time(ndr, "time", &r->time); - ndr_print_uint32(ndr, "global_counter", r->global_counter); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "version", r->version); - ndr_print_spoolss_Build(ndr, "free_build", r->free_build); - ndr_print_uint32(ndr, "spooling", r->spooling); - ndr_print_uint32(ndr, "max_spooling", r->max_spooling); - ndr_print_uint32(ndr, "session_counter", r->session_counter); - ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper); - ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready); - ndr_print_spoolss_JobStatus(ndr, "job_error", r->job_error); - ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors); - ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type); - ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes); - ndr_print_uint32(ndr, "change_id", r->change_id); - ndr_print_WERROR(ndr, "last_error", r->last_error); - ndr_print_spoolss_PrinterStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers); - ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter); - ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture); - ndr_print_uint16(ndr, "processor_level", r->processor_level); - ndr_print_uint32(ndr, "ref_ic", r->ref_ic); - ndr_print_uint32(ndr, "reserved2", r->reserved2); - ndr_print_uint32(ndr, "reserved3", r->reserved3); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo0(const struct spoolss_PrinterInfo0 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo0, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DM_Signature(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_Signature r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DM_Signature(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_Signature *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DM_Signature(struct ndr_print *ndr, const char *name, enum spoolss_DM_Signature r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA: val = "SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA"; break; - case SPOOLSS_DM_SIGNATURE_JTEXP: val = "SPOOLSS_DM_SIGNATURE_JTEXP"; break; - case SPOOLSS_DM_SIGNATURE_PSEXTRA: val = "SPOOLSS_DM_SIGNATURE_PSEXTRA"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DM_Layout(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_Layout r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DM_Layout(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_Layout *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DM_Layout(struct ndr_print *ndr, const char *name, enum spoolss_DM_Layout r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DM_LAYOUT_NUP_DISABLED: val = "SPOOLSS_DM_LAYOUT_NUP_DISABLED"; break; - case SPOOLSS_DM_LAYOUT_NUP_2: val = "SPOOLSS_DM_LAYOUT_NUP_2"; break; - case SPOOLSS_DM_LAYOUT_NUP_4: val = "SPOOLSS_DM_LAYOUT_NUP_4"; break; - case SPOOLSS_DM_LAYOUT_NUP_6: val = "SPOOLSS_DM_LAYOUT_NUP_6"; break; - case SPOOLSS_DM_LAYOUT_NUP_9: val = "SPOOLSS_DM_LAYOUT_NUP_9"; break; - case SPOOLSS_DM_LAYOUT_NUP_16: val = "SPOOLSS_DM_LAYOUT_NUP_16"; break; - case SPOOLSS_DM_LAYOUT_BOOKLET: val = "SPOOLSS_DM_LAYOUT_BOOKLET"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DM_NupDirection(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_NupDirection r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DM_NupDirection(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_NupDirection *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DM_NupDirection(struct ndr_print *ndr, const char *name, enum spoolss_DM_NupDirection r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DM_NUP_DIRECTION_L2R_T2B: val = "SPOOLSS_DM_NUP_DIRECTION_L2R_T2B"; break; - case SPOOLSS_DM_NUP_DIRECTION_T2B_L2R: val = "SPOOLSS_DM_NUP_DIRECTION_T2B_L2R"; break; - case SPOOLSS_DM_NUP_DIRECTION_R2L_T2B: val = "SPOOLSS_DM_NUP_DIRECTION_R2L_T2B"; break; - case SPOOLSS_DM_NUP_DIRECTION_T2B_R2L: val = "SPOOLSS_DM_NUP_DIRECTION_T2B_R2L"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DM_NupBorderFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_NupBorderFlags r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DM_NupBorderFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_NupBorderFlags *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DM_NupBorderFlags(struct ndr_print *ndr, const char *name, enum spoolss_DM_NupBorderFlags r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DM_NUP_BORDER_PRINT: val = "SPOOLSS_DM_NUP_BORDER_PRINT"; break; - case SPOOLSS_DM_NUP_BORDER_NONE: val = "SPOOLSS_DM_NUP_BORDER_NONE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DM_BookletFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_DM_BookletFlags r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DM_BookletFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DM_BookletFlags *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DM_BookletFlags(struct ndr_print *ndr, const char *name, enum spoolss_DM_BookletFlags r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DM_BOOKLET_LEFT_FLIP: val = "SPOOLSS_DM_BOOKLET_LEFT_FLIP"; break; - case SPOOLSS_DM_BOOKLET_RIGHT_FLIP: val = "SPOOLSS_DM_BOOKLET_RIGHT_FLIP"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DMUNI_Quality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DMUNI_Quality r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DMUNI_Quality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DMUNI_Quality *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DMUNI_Quality(struct ndr_print *ndr, const char *name, enum spoolss_DMUNI_Quality r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DM_UNI_QUALITY_BEST: val = "SPOOLSS_DM_UNI_QUALITY_BEST"; break; - case SPOOLSS_DM_UNI_QUALITY_MEDIUM: val = "SPOOLSS_DM_UNI_QUALITY_MEDIUM"; break; - case SPOOLSS_DM_UNI_QUALITY_DRAFT: val = "SPOOLSS_DM_UNI_QUALITY_DRAFT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DMUNI_Flags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DMUNI_Flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DMUNI_Flags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS", SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL", SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING", SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_UNIDRVEXTRA(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UNIDRVEXTRA *r) -{ - uint32_t cntr_wReserved_0; - uint32_t cntr_aOptions_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_spoolss_DM_Signature(ndr, NDR_SCALARS, SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0x0022)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->wCoreJTExpSize)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_spoolss_UNIDRVEXTRA(r, ndr->iconv_convenience, ndr->flags) + r->wCoreJTExpSize)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->wOEMExtra)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dwChecksum32)); - NDR_CHECK(ndr_push_spoolss_DMUNI_Flags(ndr, NDR_SCALARS, r->dwFlags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bReversePrint)); - NDR_CHECK(ndr_push_spoolss_DM_Layout(ndr, NDR_SCALARS, r->iLayout)); - NDR_CHECK(ndr_push_spoolss_DMUNI_Quality(ndr, NDR_SCALARS, r->iQuality)); - for (cntr_wReserved_0 = 0; cntr_wReserved_0 < 6; cntr_wReserved_0++) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->wReserved[cntr_wReserved_0])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dwOptions)); - for (cntr_aOptions_0 = 0; cntr_aOptions_0 < 128; cntr_aOptions_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->aOptions[cntr_aOptions_0])); - } - NDR_CHECK(ndr_push_spoolss_DM_NupDirection(ndr, NDR_SCALARS, r->dwNupDirection)); - NDR_CHECK(ndr_push_spoolss_DM_NupBorderFlags(ndr, NDR_SCALARS, r->dwNupBorderFlags)); - NDR_CHECK(ndr_push_spoolss_DM_BookletFlags(ndr, NDR_SCALARS, r->dwBookletFlags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_UNIDRVEXTRA(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UNIDRVEXTRA *r) -{ - uint32_t cntr_wReserved_0; - uint32_t cntr_aOptions_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_spoolss_DM_Signature(ndr, NDR_SCALARS, &r->dwSignature)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wVer)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wCoreJTExpSize)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wCoreFullSize)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wOEMExtra)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dwChecksum32)); - NDR_CHECK(ndr_pull_spoolss_DMUNI_Flags(ndr, NDR_SCALARS, &r->dwFlags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bReversePrint)); - NDR_CHECK(ndr_pull_spoolss_DM_Layout(ndr, NDR_SCALARS, &r->iLayout)); - NDR_CHECK(ndr_pull_spoolss_DMUNI_Quality(ndr, NDR_SCALARS, &r->iQuality)); - for (cntr_wReserved_0 = 0; cntr_wReserved_0 < 6; cntr_wReserved_0++) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->wReserved[cntr_wReserved_0])); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dwOptions)); - for (cntr_aOptions_0 = 0; cntr_aOptions_0 < 128; cntr_aOptions_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->aOptions[cntr_aOptions_0])); - } - NDR_CHECK(ndr_pull_spoolss_DM_NupDirection(ndr, NDR_SCALARS, &r->dwNupDirection)); - NDR_CHECK(ndr_pull_spoolss_DM_NupBorderFlags(ndr, NDR_SCALARS, &r->dwNupBorderFlags)); - NDR_CHECK(ndr_pull_spoolss_DM_BookletFlags(ndr, NDR_SCALARS, &r->dwBookletFlags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_UNIDRVEXTRA(struct ndr_print *ndr, const char *name, const struct spoolss_UNIDRVEXTRA *r) -{ - uint32_t cntr_wReserved_0; - uint32_t cntr_aOptions_0; - ndr_print_struct(ndr, name, "spoolss_UNIDRVEXTRA"); - ndr->depth++; - ndr_print_spoolss_DM_Signature(ndr, "dwSignature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA:r->dwSignature); - ndr_print_uint16(ndr, "wVer", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x0022:r->wVer); - ndr_print_uint16(ndr, "wCoreJTExpSize", r->wCoreJTExpSize); - ndr_print_uint16(ndr, "wCoreFullSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_UNIDRVEXTRA(r, ndr->iconv_convenience, ndr->flags) + r->wCoreJTExpSize:r->wCoreFullSize); - ndr_print_uint16(ndr, "wOEMExtra", r->wOEMExtra); - ndr_print_uint32(ndr, "dwChecksum32", r->dwChecksum32); - ndr_print_spoolss_DMUNI_Flags(ndr, "dwFlags", r->dwFlags); - ndr_print_uint32(ndr, "bReversePrint", r->bReversePrint); - ndr_print_spoolss_DM_Layout(ndr, "iLayout", r->iLayout); - ndr_print_spoolss_DMUNI_Quality(ndr, "iQuality", r->iQuality); - ndr->print(ndr, "%s: ARRAY(%d)", "wReserved", (int)6); - ndr->depth++; - for (cntr_wReserved_0=0;cntr_wReserved_0<6;cntr_wReserved_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_wReserved_0) != -1) { - ndr_print_uint16(ndr, "wReserved", r->wReserved[cntr_wReserved_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_uint32(ndr, "dwOptions", r->dwOptions); - ndr->print(ndr, "%s: ARRAY(%d)", "aOptions", (int)128); - ndr->depth++; - for (cntr_aOptions_0=0;cntr_aOptions_0<128;cntr_aOptions_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_aOptions_0) != -1) { - ndr_print_uint32(ndr, "aOptions", r->aOptions[cntr_aOptions_0]); - free(idx_0); - } - } - ndr->depth--; - ndr_print_spoolss_DM_NupDirection(ndr, "dwNupDirection", r->dwNupDirection); - ndr_print_spoolss_DM_NupBorderFlags(ndr, "dwNupBorderFlags", r->dwNupBorderFlags); - ndr_print_spoolss_DM_BookletFlags(ndr, "dwBookletFlags", r->dwBookletFlags); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_UNIDRVEXTRA(const struct spoolss_UNIDRVEXTRA *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_UNIDRVEXTRA, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeFields(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeFields(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ORIENTATION", DEVMODE_ORIENTATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERSIZE", DEVMODE_PAPERSIZE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERLENGTH", DEVMODE_PAPERLENGTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERWIDTH", DEVMODE_PAPERWIDTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_SCALE", DEVMODE_SCALE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_POSITION", DEVMODE_POSITION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_NUP", DEVMODE_NUP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COPIES", DEVMODE_COPIES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DEFAULTSOURCE", DEVMODE_DEFAULTSOURCE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PRINTQUALITY", DEVMODE_PRINTQUALITY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLOR", DEVMODE_COLOR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DUPLEX", DEVMODE_DUPLEX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_YRESOLUTION", DEVMODE_YRESOLUTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_TTOPTION", DEVMODE_TTOPTION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLLATE", DEVMODE_COLLATE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_FORMNAME", DEVMODE_FORMNAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_LOGPIXELS", DEVMODE_LOGPIXELS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_BITSPERPEL", DEVMODE_BITSPERPEL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSWIDTH", DEVMODE_PELSWIDTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSHEIGHT", DEVMODE_PELSHEIGHT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFLAGS", DEVMODE_DISPLAYFLAGS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFREQUENCY", DEVMODE_DISPLAYFREQUENCY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMMETHOD", DEVMODE_ICMMETHOD, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMINTENT", DEVMODE_ICMINTENT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_MEDIATYPE", DEVMODE_MEDIATYPE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DITHERTYPE", DEVMODE_DITHERTYPE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGWIDTH", DEVMODE_PANNINGWIDTH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGHEIGHT", DEVMODE_PANNINGHEIGHT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeSpecVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeSpecVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r) -{ - const char *val = NULL; - - switch (r) { - case DMSPEC_NT3: val = "DMSPEC_NT3"; break; - case DMSPEC_WIN95_98_ME: val = "DMSPEC_WIN95_98_ME"; break; - case DMSPEC_NT4_AND_ABOVE: val = "DMSPEC_NT4_AND_ABOVE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeOrientation(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeOrientation(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r) -{ - const char *val = NULL; - - switch (r) { - case DMORIENT_PORTRAIT: val = "DMORIENT_PORTRAIT"; break; - case DMORIENT_LANDSCAPE: val = "DMORIENT_LANDSCAPE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModePaperSize(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModePaperSize(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r) -{ - const char *val = NULL; - - switch (r) { - case DMPAPER_LETTER: val = "DMPAPER_LETTER"; break; - case DMPAPER_LETTERSMALL: val = "DMPAPER_LETTERSMALL"; break; - case DMPAPER_TABLOID: val = "DMPAPER_TABLOID"; break; - case DMPAPER_LEDGER: val = "DMPAPER_LEDGER"; break; - case DMPAPER_LEGAL: val = "DMPAPER_LEGAL"; break; - case DMPAPER_STATEMENT: val = "DMPAPER_STATEMENT"; break; - case DMPAPER_EXECUTIVE: val = "DMPAPER_EXECUTIVE"; break; - case DMPAPER_A3: val = "DMPAPER_A3"; break; - case DMPAPER_A4: val = "DMPAPER_A4"; break; - case DMPAPER_A4SMALL: val = "DMPAPER_A4SMALL"; break; - case DMPAPER_A5: val = "DMPAPER_A5"; break; - case DMPAPER_B4: val = "DMPAPER_B4"; break; - case DMPAPER_B5: val = "DMPAPER_B5"; break; - case DMPAPER_FOLIO: val = "DMPAPER_FOLIO"; break; - case DMPAPER_QUARTO: val = "DMPAPER_QUARTO"; break; - case DMPAPER_10X14: val = "DMPAPER_10X14"; break; - case DMPAPER_11X17: val = "DMPAPER_11X17"; break; - case DMPAPER_NOTE: val = "DMPAPER_NOTE"; break; - case DMPAPER_ENV_9: val = "DMPAPER_ENV_9"; break; - case DMPAPER_ENV_10: val = "DMPAPER_ENV_10"; break; - case DMPAPER_ENV_11: val = "DMPAPER_ENV_11"; break; - case DMPAPER_ENV_12: val = "DMPAPER_ENV_12"; break; - case DMPAPER_ENV_14: val = "DMPAPER_ENV_14"; break; - case DMPAPER_CSHEET: val = "DMPAPER_CSHEET"; break; - case DMPAPER_DSHEET: val = "DMPAPER_DSHEET"; break; - case DMPAPER_ESHEET: val = "DMPAPER_ESHEET"; break; - case DMPAPER_ENV_DL: val = "DMPAPER_ENV_DL"; break; - case DMPAPER_ENV_C5: val = "DMPAPER_ENV_C5"; break; - case DMPAPER_ENV_C3: val = "DMPAPER_ENV_C3"; break; - case DMPAPER_ENV_C4: val = "DMPAPER_ENV_C4"; break; - case DMPAPER_ENV_C6: val = "DMPAPER_ENV_C6"; break; - case DMPAPER_ENV_C65: val = "DMPAPER_ENV_C65"; break; - case DMPAPER_ENV_B4: val = "DMPAPER_ENV_B4"; break; - case DMPAPER_ENV_B5: val = "DMPAPER_ENV_B5"; break; - case DMPAPER_ENV_B6: val = "DMPAPER_ENV_B6"; break; - case DMPAPER_ENV_ITALY: val = "DMPAPER_ENV_ITALY"; break; - case DMPAPER_ENV_MONARCH: val = "DMPAPER_ENV_MONARCH"; break; - case DMPAPER_ENV_PERSONAL: val = "DMPAPER_ENV_PERSONAL"; break; - case DMPAPER_FANFOLD_US: val = "DMPAPER_FANFOLD_US"; break; - case DMPAPER_FANFOLD_STD_GERMAN: val = "DMPAPER_FANFOLD_STD_GERMAN"; break; - case DMPAPER_FANFOLD_LGL_GERMAN: val = "DMPAPER_FANFOLD_LGL_GERMAN"; break; - case DMPAPER_DBL_JAPANESE_POSTCARD: val = "DMPAPER_DBL_JAPANESE_POSTCARD"; break; - case DMPAPER_A6: val = "DMPAPER_A6"; break; - case DMPAPER_JENV_KAKU2: val = "DMPAPER_JENV_KAKU2"; break; - case DMPAPER_JENV_KAKU3: val = "DMPAPER_JENV_KAKU3"; break; - case DMPAPER_JENV_CHOU3: val = "DMPAPER_JENV_CHOU3"; break; - case DMPAPER_JENV_CHOU4: val = "DMPAPER_JENV_CHOU4"; break; - case DMPAPER_LETTER_ROTATED: val = "DMPAPER_LETTER_ROTATED"; break; - case DMPAPER_A3_ROTATED: val = "DMPAPER_A3_ROTATED"; break; - case DMPAPER_A4_ROTATED: val = "DMPAPER_A4_ROTATED"; break; - case DMPAPER_A5_ROTATED: val = "DMPAPER_A5_ROTATED"; break; - case DMPAPER_B4_JIS_ROTATED: val = "DMPAPER_B4_JIS_ROTATED"; break; - case DMPAPER_B5_JIS_ROTATED: val = "DMPAPER_B5_JIS_ROTATED"; break; - case DMPAPER_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_JAPANESE_POSTCARD_ROTATED"; break; - case DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED"; break; - case DMPAPER_A6_ROTATED: val = "DMPAPER_A6_ROTATED"; break; - case DMPAPER_JENV_KAKU2_ROTATED: val = "DMPAPER_JENV_KAKU2_ROTATED"; break; - case DMPAPER_JENV_KAKU3_ROTATED: val = "DMPAPER_JENV_KAKU3_ROTATED"; break; - case DMPAPER_JENV_CHOU3_ROTATED: val = "DMPAPER_JENV_CHOU3_ROTATED"; break; - case DMPAPER_JENV_CHOU4_ROTATED: val = "DMPAPER_JENV_CHOU4_ROTATED"; break; - case DMPAPER_B6_JIS: val = "DMPAPER_B6_JIS"; break; - case DMPAPER_B6_JIS_ROTATED: val = "DMPAPER_B6_JIS_ROTATED"; break; - case DMPAPER_12X11: val = "DMPAPER_12X11"; break; - case DMPAPER_JENV_YOU4: val = "DMPAPER_JENV_YOU4"; break; - case DMPAPER_JENV_YOU4_ROTATED: val = "DMPAPER_JENV_YOU4_ROTATED"; break; - case DMPAPER_P16K: val = "DMPAPER_P16K"; break; - case DMPAPER_P32K: val = "DMPAPER_P32K"; break; - case DMPAPER_P32KBIG: val = "DMPAPER_P32KBIG"; break; - case DMPAPER_PENV_1: val = "DMPAPER_PENV_1"; break; - case DMPAPER_PENV_2: val = "DMPAPER_PENV_2"; break; - case DMPAPER_PENV_3: val = "DMPAPER_PENV_3"; break; - case DMPAPER_PENV_4: val = "DMPAPER_PENV_4"; break; - case DMPAPER_PENV_5: val = "DMPAPER_PENV_5"; break; - case DMPAPER_PENV_6: val = "DMPAPER_PENV_6"; break; - case DMPAPER_PENV_7: val = "DMPAPER_PENV_7"; break; - case DMPAPER_PENV_8: val = "DMPAPER_PENV_8"; break; - case DMPAPER_PENV_9: val = "DMPAPER_PENV_9"; break; - case DMPAPER_PENV_10: val = "DMPAPER_PENV_10"; break; - case DMPAPER_P16K_ROTATED: val = "DMPAPER_P16K_ROTATED"; break; - case DMPAPER_P32K_ROTATED: val = "DMPAPER_P32K_ROTATED"; break; - case DMPAPER_P32KBIG_ROTATED: val = "DMPAPER_P32KBIG_ROTATED"; break; - case DMPAPER_PENV_1_ROTATED: val = "DMPAPER_PENV_1_ROTATED"; break; - case DMPAPER_PENV_2_ROTATED: val = "DMPAPER_PENV_2_ROTATED"; break; - case DMPAPER_PENV_3_ROTATED: val = "DMPAPER_PENV_3_ROTATED"; break; - case DMPAPER_PENV_4_ROTATED: val = "DMPAPER_PENV_4_ROTATED"; break; - case DMPAPER_PENV_5_ROTATED: val = "DMPAPER_PENV_5_ROTATED"; break; - case DMPAPER_PENV_6_ROTATED: val = "DMPAPER_PENV_6_ROTATED"; break; - case DMPAPER_PENV_7_ROTATED: val = "DMPAPER_PENV_7_ROTATED"; break; - case DMPAPER_PENV_8_ROTATED: val = "DMPAPER_PENV_8_ROTATED"; break; - case DMPAPER_PENV_9_ROTATED: val = "DMPAPER_PENV_9_ROTATED"; break; - case DMPAPER_PENV_10_ROTATED: val = "DMPAPER_PENV_10_ROTATED"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeDefaultSource(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeDefaultSource(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r) -{ - const char *val = NULL; - - switch (r) { - case DMBIN_UPPER: val = "DMBIN_UPPER"; break; - case DMBIN_LOWER: val = "DMBIN_LOWER"; break; - case DMBIN_MIDDLE: val = "DMBIN_MIDDLE"; break; - case DMBIN_MANUAL: val = "DMBIN_MANUAL"; break; - case DMBIN_ENVELOPE: val = "DMBIN_ENVELOPE"; break; - case DMBIN_ENVMANUAL: val = "DMBIN_ENVMANUAL"; break; - case DMBIN_AUTO: val = "DMBIN_AUTO"; break; - case DMBIN_TRACTOR: val = "DMBIN_TRACTOR"; break; - case DMBIN_SMALLFMT: val = "DMBIN_SMALLFMT"; break; - case DMBIN_LARGEFMT: val = "DMBIN_LARGEFMT"; break; - case DMBIN_LARGECAPACITY: val = "DMBIN_LARGECAPACITY"; break; - case DMBIN_CASSETTE: val = "DMBIN_CASSETTE"; break; - case DMBIN_FORMSOURCE: val = "DMBIN_FORMSOURCE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModePrintQuality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModePrintQuality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r) -{ - const char *val = NULL; - - switch (r) { - case DMRES_HIGH: val = "DMRES_HIGH"; break; - case DMRES_MEDIUM: val = "DMRES_MEDIUM"; break; - case DMRES_LOW: val = "DMRES_LOW"; break; - case DMRES_DRAFT: val = "DMRES_DRAFT"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeColor(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeColor r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeColor(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeColor *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r) -{ - const char *val = NULL; - - switch (r) { - case DMRES_MONOCHROME: val = "DMRES_MONOCHROME"; break; - case DMRES_COLOR: val = "DMRES_COLOR"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeDuplex(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeDuplex(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r) -{ - const char *val = NULL; - - switch (r) { - case DMDUP_SIMPLEX: val = "DMDUP_SIMPLEX"; break; - case DMDUP_VERTICAL: val = "DMDUP_VERTICAL"; break; - case DMDUP_HORIZONTAL: val = "DMDUP_HORIZONTAL"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeTTOption(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeTTOption(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r) -{ - const char *val = NULL; - - switch (r) { - case DMTT_BITMAP: val = "DMTT_BITMAP"; break; - case DMTT_DOWNLOAD: val = "DMTT_DOWNLOAD"; break; - case DMTT_SUBDEV: val = "DMTT_SUBDEV"; break; - case DMTT_DOWNLOAD_OUTLINE: val = "DMTT_DOWNLOAD_OUTLINE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeCollate(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeCollate r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeCollate(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeCollate *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r) -{ - const char *val = NULL; - - switch (r) { - case DMCOLLATE_FALSE: val = "DMCOLLATE_FALSE"; break; - case DMCOLLATE_TRUE: val = "DMCOLLATE_TRUE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeNUp(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeNUp r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeNUp(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeNUp *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r) -{ - const char *val = NULL; - - switch (r) { - case DMNUP_SYSTEM: val = "DMNUP_SYSTEM"; break; - case DMNUP_ONEUP: val = "DMNUP_ONEUP"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeICMMethod(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMMethod(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r) -{ - const char *val = NULL; - - switch (r) { - case DMICMMETHOD_NONE: val = "DMICMMETHOD_NONE"; break; - case DMICMMETHOD_SYSTEM: val = "DMICMMETHOD_SYSTEM"; break; - case DMICMMETHOD_DRIVER: val = "DMICMMETHOD_DRIVER"; break; - case DMICMMETHOD_DEVICE: val = "DMICMMETHOD_DEVICE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeICMIntent(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMIntent(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r) -{ - const char *val = NULL; - - switch (r) { - case DMICM_SATURATE: val = "DMICM_SATURATE"; break; - case DMICM_CONTRAST: val = "DMICM_CONTRAST"; break; - case DMICM_COLORIMETRIC: val = "DMICM_COLORIMETRIC"; break; - case DMICM_ABS_COLORIMETRIC: val = "DMICM_ABS_COLORIMETRIC"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeMediaType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeMediaType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r) -{ - const char *val = NULL; - - switch (r) { - case DMMEDIA_STANDARD: val = "DMMEDIA_STANDARD"; break; - case DMMEDIA_TRANSPARENCY: val = "DMMEDIA_TRANSPARENCY"; break; - case DMMEDIA_GLOSSY: val = "DMMEDIA_GLOSSY"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeDitherType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeDitherType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType r) -{ - const char *val = NULL; - - switch (r) { - case DMDITHER_NONE: val = "DMDITHER_NONE"; break; - case DMDITHER_COARSE: val = "DMDITHER_COARSE"; break; - case DMDITHER_FINE: val = "DMDITHER_FINE"; break; - case DMDITHER_LINEART: val = "DMDITHER_LINEART"; break; - case DMDITHER_ERRORDIFFUSION: val = "DMDITHER_ERRORDIFFUSION"; break; - case DMDITHER_RESERVED6: val = "DMDITHER_RESERVED6"; break; - case DMDITHER_RESERVED7: val = "DMDITHER_RESERVED7"; break; - case DMDITHER_RESERVED8: val = "DMDITHER_RESERVED8"; break; - case DMDITHER_RESERVED9: val = "DMDITHER_RESERVED9"; break; - case DMDITHER_GRAYSCALE: val = "DMDITHER_GRAYSCALE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, r->specversion)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverextra_data.length)); - NDR_CHECK(ndr_push_spoolss_DeviceModeFields(ndr, NDR_SCALARS, r->fields)); - NDR_CHECK(ndr_push_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, r->orientation)); - NDR_CHECK(ndr_push_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, r->papersize)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperwidth)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->scale)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->copies)); - NDR_CHECK(ndr_push_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, r->defaultsource)); - NDR_CHECK(ndr_push_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, r->printquality)); - NDR_CHECK(ndr_push_spoolss_DeviceModeColor(ndr, NDR_SCALARS, r->color)); - NDR_CHECK(ndr_push_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, r->duplex)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution)); - NDR_CHECK(ndr_push_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, r->ttoption)); - NDR_CHECK(ndr_push_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, r->collate)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelsheight)); - NDR_CHECK(ndr_push_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, r->displayflags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayfrequency)); - NDR_CHECK(ndr_push_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, r->icmmethod)); - NDR_CHECK(ndr_push_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, r->icmintent)); - NDR_CHECK(ndr_push_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, r->mediatype)); - NDR_CHECK(ndr_push_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, r->dithertype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningwidth)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningheight)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - { - struct ndr_push *_ndr_driverextra_data; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->driverextra_data.length)); - NDR_CHECK(ndr_push_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, r->driverextra_data)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_driverextra_data, 0, r->driverextra_data.length)); - } - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, &r->specversion)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__driverextra_length)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeFields(ndr, NDR_SCALARS, &r->fields)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, &r->orientation)); - NDR_CHECK(ndr_pull_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, &r->papersize)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperwidth)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->scale)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->copies)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, &r->defaultsource)); - NDR_CHECK(ndr_pull_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, &r->printquality)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeColor(ndr, NDR_SCALARS, &r->color)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, &r->duplex)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, &r->ttoption)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, &r->collate)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelsheight)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, &r->displayflags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayfrequency)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, &r->icmmethod)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, &r->icmintent)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, &r->mediatype)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, &r->dithertype)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningwidth)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningheight)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - { - struct ndr_pull *_ndr_driverextra_data; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_driverextra_data, 0, r->__driverextra_length)); - NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_driverextra_data, NDR_SCALARS, &r->driverextra_data)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_driverextra_data, 0, r->__driverextra_length)); - } - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeviceMode"); - ndr->depth++; - ndr_print_string(ndr, "devicename", r->devicename); - ndr_print_spoolss_DeviceModeSpecVersion(ndr, "specversion", r->specversion); - ndr_print_uint16(ndr, "driverversion", r->driverversion); - ndr_print_uint16(ndr, "size", r->size); - ndr_print_uint16(ndr, "__driverextra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->driverextra_data.length:r->__driverextra_length); - ndr_print_spoolss_DeviceModeFields(ndr, "fields", r->fields); - ndr_print_spoolss_DeviceModeOrientation(ndr, "orientation", r->orientation); - ndr_print_spoolss_DeviceModePaperSize(ndr, "papersize", r->papersize); - ndr_print_uint16(ndr, "paperlength", r->paperlength); - ndr_print_uint16(ndr, "paperwidth", r->paperwidth); - ndr_print_uint16(ndr, "scale", r->scale); - ndr_print_uint16(ndr, "copies", r->copies); - ndr_print_spoolss_DeviceModeDefaultSource(ndr, "defaultsource", r->defaultsource); - ndr_print_spoolss_DeviceModePrintQuality(ndr, "printquality", r->printquality); - ndr_print_spoolss_DeviceModeColor(ndr, "color", r->color); - ndr_print_spoolss_DeviceModeDuplex(ndr, "duplex", r->duplex); - ndr_print_uint16(ndr, "yresolution", r->yresolution); - ndr_print_spoolss_DeviceModeTTOption(ndr, "ttoption", r->ttoption); - ndr_print_spoolss_DeviceModeCollate(ndr, "collate", r->collate); - ndr_print_string(ndr, "formname", r->formname); - ndr_print_uint16(ndr, "logpixels", r->logpixels); - ndr_print_uint32(ndr, "bitsperpel", r->bitsperpel); - ndr_print_uint32(ndr, "pelswidth", r->pelswidth); - ndr_print_uint32(ndr, "pelsheight", r->pelsheight); - ndr_print_spoolss_DeviceModeNUp(ndr, "displayflags", r->displayflags); - ndr_print_uint32(ndr, "displayfrequency", r->displayfrequency); - ndr_print_spoolss_DeviceModeICMMethod(ndr, "icmmethod", r->icmmethod); - ndr_print_spoolss_DeviceModeICMIntent(ndr, "icmintent", r->icmintent); - ndr_print_spoolss_DeviceModeMediaType(ndr, "mediatype", r->mediatype); - ndr_print_spoolss_DeviceModeDitherType(ndr, "dithertype", r->dithertype); - ndr_print_uint32(ndr, "reserved1", r->reserved1); - ndr_print_uint32(ndr, "reserved2", r->reserved2); - ndr_print_uint32(ndr, "panningwidth", r->panningwidth); - ndr_print_uint32(ndr, "panningheight", r->panningheight); - ndr_print_DATA_BLOB(ndr, "driverextra_data", r->driverextra_data); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DeviceMode(const struct spoolss_DeviceMode *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DeviceMode, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_DEFAULT", PRINTER_ENUM_DEFAULT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_LOCAL", PRINTER_ENUM_LOCAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONNECTIONS", PRINTER_ENUM_CONNECTIONS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_FAVORITE", PRINTER_ENUM_FAVORITE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NAME", PRINTER_ENUM_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_REMOTE", PRINTER_ENUM_REMOTE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_SHARED", PRINTER_ENUM_SHARED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_NETWORK", PRINTER_ENUM_NETWORK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_EXPAND", PRINTER_ENUM_EXPAND, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_CONTAINER", PRINTER_ENUM_CONTAINER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON1", PRINTER_ENUM_ICON1, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON2", PRINTER_ENUM_ICON2, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON3", PRINTER_ENUM_ICON3, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON4", PRINTER_ENUM_ICON4, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON5", PRINTER_ENUM_ICON5, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON6", PRINTER_ENUM_ICON6, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON7", PRINTER_ENUM_ICON7, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_ICON8", PRINTER_ENUM_ICON8, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ENUM_HIDE", PRINTER_ENUM_HIDE, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterAttributes(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_QUEUED", PRINTER_ATTRIBUTE_QUEUED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DIRECT", PRINTER_ATTRIBUTE_DIRECT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DEFAULT", PRINTER_ATTRIBUTE_DEFAULT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_SHARED", PRINTER_ATTRIBUTE_SHARED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_NETWORK", PRINTER_ATTRIBUTE_NETWORK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_HIDDEN", PRINTER_ATTRIBUTE_HIDDEN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_LOCAL", PRINTER_ATTRIBUTE_LOCAL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_DEVQ", PRINTER_ATTRIBUTE_ENABLE_DEVQ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS", PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST", PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_WORK_OFFLINE", PRINTER_ATTRIBUTE_WORK_OFFLINE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_ENABLE_BIDI", PRINTER_ATTRIBUTE_ENABLE_BIDI, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_RAW_ONLY", PRINTER_ATTRIBUTE_RAW_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_PUBLISHED", PRINTER_ATTRIBUTE_PUBLISHED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_FAX", PRINTER_ATTRIBUTE_FAX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ATTRIBUTE_TS", PRINTER_ATTRIBUTE_TS, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->description) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo1 *r) -{ - uint32_t _ptr_description; - TALLOC_CTX *_mem_save_description_0; - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description)); - if (_ptr_description) { - NDR_PULL_ALLOC(ndr, r->description); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description)); - } else { - r->description = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name, _ptr_name)); - } else { - r->name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment)); - } else { - r->comment = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->description) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description)); - _mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->description, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name)); - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment)); - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo1"); - ndr->depth++; - ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "description", r->description); - ndr->depth++; - if (r->description) { - ndr_print_string(ndr, "description", r->description); - } - ndr->depth--; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo1(const struct spoolss_PrinterInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo2 *r) -{ - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_sharename; - TALLOC_CTX *_mem_save_sharename_0; - uint32_t _ptr_portname; - TALLOC_CTX *_mem_save_portname_0; - uint32_t _ptr_drivername; - TALLOC_CTX *_mem_save_drivername_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_location; - TALLOC_CTX *_mem_save_location_0; - uint32_t _ptr_devmode; - TALLOC_CTX *_mem_save_devmode_0; - uint32_t _ptr_sepfile; - TALLOC_CTX *_mem_save_sepfile_0; - uint32_t _ptr_printprocessor; - TALLOC_CTX *_mem_save_printprocessor_0; - uint32_t _ptr_datatype; - TALLOC_CTX *_mem_save_datatype_0; - uint32_t _ptr_parameters; - TALLOC_CTX *_mem_save_parameters_0; - uint32_t _ptr_secdesc; - TALLOC_CTX *_mem_save_secdesc_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->servername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername)); - } else { - r->servername = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername)); - } else { - r->printername = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename)); - if (_ptr_sharename) { - NDR_PULL_ALLOC(ndr, r->sharename); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sharename, _ptr_sharename)); - } else { - r->sharename = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname)); - if (_ptr_portname) { - NDR_PULL_ALLOC(ndr, r->portname); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname)); - } else { - r->portname = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername)); - if (_ptr_drivername) { - NDR_PULL_ALLOC(ndr, r->drivername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->drivername, _ptr_drivername)); - } else { - r->drivername = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->comment, _ptr_comment)); - } else { - r->comment = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location)); - if (_ptr_location) { - NDR_PULL_ALLOC(ndr, r->location); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->location, _ptr_location)); - } else { - r->location = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode)); - if (_ptr_devmode) { - NDR_PULL_ALLOC(ndr, r->devmode); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode)); - } else { - r->devmode = NULL; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile)); - if (_ptr_sepfile) { - NDR_PULL_ALLOC(ndr, r->sepfile); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sepfile, _ptr_sepfile)); - } else { - r->sepfile = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor)); - if (_ptr_printprocessor) { - NDR_PULL_ALLOC(ndr, r->printprocessor); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printprocessor, _ptr_printprocessor)); - } else { - r->printprocessor = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype)); - if (_ptr_datatype) { - NDR_PULL_ALLOC(ndr, r->datatype); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->datatype, _ptr_datatype)); - } else { - r->datatype = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters)); - if (_ptr_parameters) { - NDR_PULL_ALLOC(ndr, r->parameters); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters)); - } else { - r->parameters = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc)); - if (_ptr_secdesc) { - NDR_PULL_ALLOC(ndr, r->secdesc); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc)); - } else { - r->secdesc = NULL; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime)); - NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->servername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername)); - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername)); - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->sharename) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sharename)); - _mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sharename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->portname) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname)); - _mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->drivername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->drivername)); - _mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->drivername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->comment) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->comment)); - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->location) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->location)); - _mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->location, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->location)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode)); - _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0); - { - struct ndr_pull *_ndr_devmode; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->sepfile) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sepfile)); - _mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sepfile)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printprocessor) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printprocessor)); - _mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printprocessor)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->datatype) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->datatype)); - _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->datatype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->parameters) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters)); - _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc)); - _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0); - { - struct ndr_pull *_ndr_secdesc; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->servername); - ndr->depth++; - if (r->servername) { - ndr_print_string(ndr, "servername", r->servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "sharename", r->sharename); - ndr->depth++; - if (r->sharename) { - ndr_print_string(ndr, "sharename", r->sharename); - } - ndr->depth--; - ndr_print_ptr(ndr, "portname", r->portname); - ndr->depth++; - if (r->portname) { - ndr_print_string(ndr, "portname", r->portname); - } - ndr->depth--; - ndr_print_ptr(ndr, "drivername", r->drivername); - ndr->depth++; - if (r->drivername) { - ndr_print_string(ndr, "drivername", r->drivername); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_ptr(ndr, "location", r->location); - ndr->depth++; - if (r->location) { - ndr_print_string(ndr, "location", r->location); - } - ndr->depth--; - ndr_print_ptr(ndr, "devmode", r->devmode); - ndr->depth++; - if (r->devmode) { - ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode); - } - ndr->depth--; - ndr_print_ptr(ndr, "sepfile", r->sepfile); - ndr->depth++; - if (r->sepfile) { - ndr_print_string(ndr, "sepfile", r->sepfile); - } - ndr->depth--; - ndr_print_ptr(ndr, "printprocessor", r->printprocessor); - ndr->depth++; - if (r->printprocessor) { - ndr_print_string(ndr, "printprocessor", r->printprocessor); - } - ndr->depth--; - ndr_print_ptr(ndr, "datatype", r->datatype); - ndr->depth++; - if (r->datatype) { - ndr_print_string(ndr, "datatype", r->datatype); - } - ndr->depth--; - ndr_print_ptr(ndr, "parameters", r->parameters); - ndr->depth++; - if (r->parameters) { - ndr_print_string(ndr, "parameters", r->parameters); - } - ndr->depth--; - ndr_print_ptr(ndr, "secdesc", r->secdesc); - ndr->depth++; - if (r->secdesc) { - ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc); - } - ndr->depth--; - ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority); - ndr_print_uint32(ndr, "starttime", r->starttime); - ndr_print_uint32(ndr, "untiltime", r->untiltime); - ndr_print_spoolss_PrinterStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "cjobs", r->cjobs); - ndr_print_uint32(ndr, "averageppm", r->averageppm); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo2(const struct spoolss_PrinterInfo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo2, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc)); - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); - { - struct ndr_push *_ndr_secdesc; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo3 *r) -{ - uint32_t _ptr_secdesc; - TALLOC_CTX *_mem_save_secdesc_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc)); - if (_ptr_secdesc) { - NDR_PULL_ALLOC(ndr, r->secdesc); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc)); - } else { - r->secdesc = NULL; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc)); - _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0); - { - struct ndr_pull *_ndr_secdesc; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo3"); - ndr->depth++; - ndr_print_ptr(ndr, "secdesc", r->secdesc); - ndr->depth++; - if (r->secdesc) { - ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo3(const struct spoolss_PrinterInfo3 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo3, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->servername) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo4 *r) -{ - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername)); - } else { - r->printername = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->servername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->servername, _ptr_servername)); - } else { - r->servername = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername)); - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->servername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->servername)); - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo4 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo4"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "servername", r->servername); - ndr->depth++; - if (r->servername) { - ndr_print_string(ndr, "servername", r->servername); - } - ndr->depth--; - ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo4(const struct spoolss_PrinterInfo4 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo4, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->portname) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo5 *r) -{ - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_portname; - TALLOC_CTX *_mem_save_portname_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printername, _ptr_printername)); - } else { - r->printername = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname)); - if (_ptr_portname) { - NDR_PULL_ALLOC(ndr, r->portname); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->portname, _ptr_portname)); - } else { - r->portname = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printername) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printername)); - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->portname) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->portname)); - _mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo5 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo5"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "portname", r->portname); - ndr->depth++; - if (r->portname) { - ndr_print_string(ndr, "portname", r->portname); - } - ndr->depth--; - ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes); - ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout); - ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo5(const struct spoolss_PrinterInfo5 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo5, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo6 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo6"); - ndr->depth++; - ndr_print_spoolss_PrinterStatus(ndr, "status", r->status); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo6(const struct spoolss_PrinterInfo6 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo6, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DsPrintAction(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DsPrintAction(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DsPrintAction(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PUBLISH", DSPRINT_PUBLISH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UPDATE", DSPRINT_UPDATE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_UNPUBLISH", DSPRINT_UNPUBLISH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_REPUBLISH", DSPRINT_REPUBLISH, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DSPRINT_PENDING", DSPRINT_PENDING, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->guid)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->guid) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->guid)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo7 *r) -{ - uint32_t _ptr_guid; - TALLOC_CTX *_mem_save_guid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid)); - if (_ptr_guid) { - NDR_PULL_ALLOC(ndr, r->guid); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->guid, _ptr_guid)); - } else { - r->guid = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->guid) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->guid)); - _mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->guid)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo7 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterInfo7"); - ndr->depth++; - ndr_print_ptr(ndr, "guid", r->guid); - ndr->depth++; - if (r->guid) { - ndr_print_string(ndr, "guid", r->guid); - } - ndr->depth--; - ndr_print_spoolss_DsPrintAction(ndr, "action", r->action); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo7(const struct spoolss_PrinterInfo7 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo7, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DeviceModeInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceModeInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode)); - ndr->flags = _flags_save_spoolss_DeviceMode; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); - { - struct ndr_push *_ndr_devmode; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeviceModeInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceModeInfo *r) -{ - uint32_t _ptr_devmode; - TALLOC_CTX *_mem_save_devmode_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode)); - if (_ptr_devmode) { - NDR_PULL_ALLOC(ndr, r->devmode); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode)); - } else { - r->devmode = NULL; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode)); - _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0); - { - struct ndr_pull *_ndr_devmode; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeviceModeInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceModeInfo *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeviceModeInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "devmode", r->devmode); - ndr->depth++; - if (r->devmode) { - ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 0: - NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0)); - break; - - case 1: - NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - break; - - case 7: - NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7)); - break; - - case 8: - NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8)); - break; - - case 9: - NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 0: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0)); - break; - - case 1: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - break; - - case 7: - NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7)); - break; - - case 8: - NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8)); - break; - - case 9: - NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_PrinterInfo"); - switch (level) { - case 0: - ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0); - break; - - case 1: - ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4); - break; - - case 5: - ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5); - break; - - case 6: - ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6); - break; - - case 7: - ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7); - break; - - case 8: - ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8); - break; - - case 9: - ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo(const union spoolss_PrinterInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_RELATIVE_REVERSE; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DevmodeContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DevmodeContainer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->devmode) { - { - struct ndr_push *_ndr_devmode; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 4, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags))); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DevmodeContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DevmodeContainer *r) -{ - uint32_t _ptr_devmode; - TALLOC_CTX *_mem_save_devmode_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode)); - if (_ptr_devmode) { - NDR_PULL_ALLOC(ndr, r->devmode); - } else { - r->devmode = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->devmode) { - _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0); - { - struct ndr_pull *_ndr_devmode; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 4, r->_ndr_size)); - NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 4, r->_ndr_size)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DevmodeContainer(struct ndr_print *ndr, const char *name, const struct spoolss_DevmodeContainer *r) -{ - ndr_print_struct(ndr, name, "spoolss_DevmodeContainer"); - ndr->depth++; - ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags):r->_ndr_size); - ndr_print_ptr(ndr, "devmode", r->devmode); - ndr->depth++; - if (r->devmode) { - ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printer_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->server_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->user_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->document_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_type) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->text_status) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo1 *r) -{ - uint32_t _ptr_printer_name; - TALLOC_CTX *_mem_save_printer_name_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_data_type_0; - uint32_t _ptr_text_status; - TALLOC_CTX *_mem_save_text_status_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name)); - if (_ptr_printer_name) { - NDR_PULL_ALLOC(ndr, r->printer_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name)); - } else { - r->printer_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name)); - } else { - r->server_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name)); - } else { - r->user_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name)); - } else { - r->document_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->data_type); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type)); - } else { - r->data_type = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status)); - if (_ptr_text_status) { - NDR_PULL_ALLOC(ndr, r->text_status); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status)); - } else { - r->text_status = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printer_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name)); - _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->server_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name)); - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->user_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name)); - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->document_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name)); - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_type) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type)); - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->text_status) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status)); - _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_JobInfo1"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_ptr(ndr, "printer_name", r->printer_name); - ndr->depth++; - if (r->printer_name) { - ndr_print_string(ndr, "printer_name", r->printer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->data_type); - ndr->depth++; - if (r->data_type) { - ndr_print_string(ndr, "data_type", r->data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "text_status", r->text_status); - ndr->depth++; - if (r->text_status) { - ndr_print_string(ndr, "text_status", r->text_status); - } - ndr->depth--; - ndr_print_spoolss_JobStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "position", r->position); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "pages_printed", r->pages_printed); - ndr_print_spoolss_Time(ndr, "submitted", &r->submitted); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_JobInfo1(const struct spoolss_JobInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode)); - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc)); - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printer_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->server_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->user_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->document_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->notify_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_type) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->parameters) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); - { - struct ndr_push *_ndr_devmode; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->text_status) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); - { - struct ndr_push *_ndr_secdesc; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo2 *r) -{ - uint32_t _ptr_printer_name; - TALLOC_CTX *_mem_save_printer_name_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_notify_name; - TALLOC_CTX *_mem_save_notify_name_0; - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_data_type_0; - uint32_t _ptr_print_processor; - TALLOC_CTX *_mem_save_print_processor_0; - uint32_t _ptr_parameters; - TALLOC_CTX *_mem_save_parameters_0; - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_devmode; - TALLOC_CTX *_mem_save_devmode_0; - uint32_t _ptr_text_status; - TALLOC_CTX *_mem_save_text_status_0; - uint32_t _ptr_secdesc; - TALLOC_CTX *_mem_save_secdesc_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name)); - if (_ptr_printer_name) { - NDR_PULL_ALLOC(ndr, r->printer_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name)); - } else { - r->printer_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name)); - } else { - r->server_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name)); - } else { - r->user_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name)); - } else { - r->document_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name)); - if (_ptr_notify_name) { - NDR_PULL_ALLOC(ndr, r->notify_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name)); - } else { - r->notify_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->data_type); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type)); - } else { - r->data_type = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor)); - if (_ptr_print_processor) { - NDR_PULL_ALLOC(ndr, r->print_processor); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor)); - } else { - r->print_processor = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters)); - if (_ptr_parameters) { - NDR_PULL_ALLOC(ndr, r->parameters); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters)); - } else { - r->parameters = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode)); - if (_ptr_devmode) { - NDR_PULL_ALLOC(ndr, r->devmode); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode)); - } else { - r->devmode = NULL; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status)); - if (_ptr_text_status) { - NDR_PULL_ALLOC(ndr, r->text_status); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status)); - } else { - r->text_status = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc)); - if (_ptr_secdesc) { - NDR_PULL_ALLOC(ndr, r->secdesc); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc)); - } else { - r->secdesc = NULL; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printer_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name)); - _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->server_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name)); - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->user_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name)); - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->document_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name)); - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->notify_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name)); - _mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_type) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type)); - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor)); - _mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->parameters) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters)); - _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode)); - _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0); - { - struct ndr_pull *_ndr_devmode; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->text_status) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status)); - _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc)); - _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0); - { - struct ndr_pull *_ndr_secdesc; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_JobInfo2"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_ptr(ndr, "printer_name", r->printer_name); - ndr->depth++; - if (r->printer_name) { - ndr_print_string(ndr, "printer_name", r->printer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "notify_name", r->notify_name); - ndr->depth++; - if (r->notify_name) { - ndr_print_string(ndr, "notify_name", r->notify_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->data_type); - ndr->depth++; - if (r->data_type) { - ndr_print_string(ndr, "data_type", r->data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor", r->print_processor); - ndr->depth++; - if (r->print_processor) { - ndr_print_string(ndr, "print_processor", r->print_processor); - } - ndr->depth--; - ndr_print_ptr(ndr, "parameters", r->parameters); - ndr->depth++; - if (r->parameters) { - ndr_print_string(ndr, "parameters", r->parameters); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "devmode", r->devmode); - ndr->depth++; - if (r->devmode) { - ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode); - } - ndr->depth--; - ndr_print_ptr(ndr, "text_status", r->text_status); - ndr->depth++; - if (r->text_status) { - ndr_print_string(ndr, "text_status", r->text_status); - } - ndr->depth--; - ndr_print_ptr(ndr, "secdesc", r->secdesc); - ndr->depth++; - if (r->secdesc) { - ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc); - } - ndr->depth--; - ndr_print_spoolss_JobStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "position", r->position); - ndr_print_uint32(ndr, "start_time", r->start_time); - ndr_print_uint32(ndr, "until_time", r->until_time); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "size", r->size); - ndr_print_spoolss_Time(ndr, "submitted", &r->submitted); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "pages_printed", r->pages_printed); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_JobInfo2(const struct spoolss_JobInfo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo2, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_job_id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_job_id)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_JobInfo3"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_uint32(ndr, "next_job_id", r->next_job_id); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_JobInfo3(const struct spoolss_JobInfo3 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo3, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode)); - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc)); - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printer_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->server_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->user_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->document_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->notify_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_type) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->parameters) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode)); - { - struct ndr_push *_ndr_devmode; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode)); - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->text_status) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc)); - { - struct ndr_push *_ndr_secdesc; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_push_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc)); - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo4 *r) -{ - uint32_t _ptr_printer_name; - TALLOC_CTX *_mem_save_printer_name_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_notify_name; - TALLOC_CTX *_mem_save_notify_name_0; - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_data_type_0; - uint32_t _ptr_print_processor; - TALLOC_CTX *_mem_save_print_processor_0; - uint32_t _ptr_parameters; - TALLOC_CTX *_mem_save_parameters_0; - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_devmode; - TALLOC_CTX *_mem_save_devmode_0; - uint32_t _ptr_text_status; - TALLOC_CTX *_mem_save_text_status_0; - uint32_t _ptr_secdesc; - TALLOC_CTX *_mem_save_secdesc_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name)); - if (_ptr_printer_name) { - NDR_PULL_ALLOC(ndr, r->printer_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->printer_name, _ptr_printer_name)); - } else { - r->printer_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->server_name, _ptr_server_name)); - } else { - r->server_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->user_name, _ptr_user_name)); - } else { - r->user_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->document_name, _ptr_document_name)); - } else { - r->document_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name)); - if (_ptr_notify_name) { - NDR_PULL_ALLOC(ndr, r->notify_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->notify_name, _ptr_notify_name)); - } else { - r->notify_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->data_type); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_type, _ptr_data_type)); - } else { - r->data_type = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor)); - if (_ptr_print_processor) { - NDR_PULL_ALLOC(ndr, r->print_processor); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor)); - } else { - r->print_processor = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters)); - if (_ptr_parameters) { - NDR_PULL_ALLOC(ndr, r->parameters); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->parameters, _ptr_parameters)); - } else { - r->parameters = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode)); - if (_ptr_devmode) { - NDR_PULL_ALLOC(ndr, r->devmode); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode)); - } else { - r->devmode = NULL; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status)); - if (_ptr_text_status) { - NDR_PULL_ALLOC(ndr, r->text_status); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->text_status, _ptr_text_status)); - } else { - r->text_status = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc)); - if (_ptr_secdesc) { - NDR_PULL_ALLOC(ndr, r->secdesc); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc)); - } else { - r->secdesc = NULL; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->printer_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->printer_name)); - _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->server_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->server_name)); - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->user_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->user_name)); - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->document_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->document_name)); - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->notify_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->notify_name)); - _mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_type) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_type)); - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor)); - _mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->parameters) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->parameters)); - _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_DeviceMode = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->devmode) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode)); - _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0); - { - struct ndr_pull *_ndr_devmode; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_DeviceMode; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->text_status) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->text_status)); - _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_spoolss_security_descriptor = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4); - if (r->secdesc) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc)); - _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0); - { - struct ndr_pull *_ndr_secdesc; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1)); - NDR_CHECK(ndr_pull_spoolss_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_spoolss_security_descriptor; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo4 *r) -{ - ndr_print_struct(ndr, name, "spoolss_JobInfo4"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_ptr(ndr, "printer_name", r->printer_name); - ndr->depth++; - if (r->printer_name) { - ndr_print_string(ndr, "printer_name", r->printer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "notify_name", r->notify_name); - ndr->depth++; - if (r->notify_name) { - ndr_print_string(ndr, "notify_name", r->notify_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->data_type); - ndr->depth++; - if (r->data_type) { - ndr_print_string(ndr, "data_type", r->data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor", r->print_processor); - ndr->depth++; - if (r->print_processor) { - ndr_print_string(ndr, "print_processor", r->print_processor); - } - ndr->depth--; - ndr_print_ptr(ndr, "parameters", r->parameters); - ndr->depth++; - if (r->parameters) { - ndr_print_string(ndr, "parameters", r->parameters); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "devmode", r->devmode); - ndr->depth++; - if (r->devmode) { - ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode); - } - ndr->depth--; - ndr_print_ptr(ndr, "text_status", r->text_status); - ndr->depth++; - if (r->text_status) { - ndr_print_string(ndr, "text_status", r->text_status); - } - ndr->depth--; - ndr_print_ptr(ndr, "secdesc", r->secdesc); - ndr->depth++; - if (r->secdesc) { - ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc); - } - ndr->depth--; - ndr_print_spoolss_JobStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "position", r->position); - ndr_print_uint32(ndr, "start_time", r->start_time); - ndr_print_uint32(ndr, "until_time", r->until_time); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "size", r->size); - ndr_print_spoolss_Time(ndr, "submitted", &r->submitted); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "pages_printed", r->pages_printed); - ndr_print_uint32(ndr, "size_high", r->size_high); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_JobInfo4(const struct spoolss_JobInfo4 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo4, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - break; - - case 4: - NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_JobInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - break; - - case 4: - NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_JobInfo"); - switch (level) { - case 1: - ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_spoolss_JobInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_spoolss_JobInfo3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_spoolss_JobInfo4(ndr, "info4", &r->info4); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_RELATIVE_REVERSE; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo, ic); -} - -static enum ndr_err_code ndr_push_spoolss_SetJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status)); - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->document_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_type) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->text_status) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetJobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo1 *r) -{ - uint32_t _ptr_printer_name; - TALLOC_CTX *_mem_save_printer_name_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_data_type_0; - uint32_t _ptr_text_status; - TALLOC_CTX *_mem_save_text_status_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name)); - if (_ptr_printer_name) { - NDR_PULL_ALLOC(ndr, r->printer_name); - } else { - r->printer_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - } else { - r->user_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - } else { - r->document_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->data_type); - } else { - r->data_type = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status)); - if (_ptr_text_status) { - NDR_PULL_ALLOC(ndr, r->text_status); - } else { - r->text_status = NULL; - } - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printer_name) { - _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name)); - if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printer_name), ndr_get_array_length(ndr, &r->printer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0); - } - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->user_name) { - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name)); - if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - } - if (r->document_name) { - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name)); - if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - } - if (r->data_type) { - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type)); - if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_type), ndr_get_array_length(ndr, &r->data_type)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - } - if (r->text_status) { - _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status)); - if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->text_status), ndr_get_array_length(ndr, &r->text_status)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetJobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetJobInfo1"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_ptr(ndr, "printer_name", r->printer_name); - ndr->depth++; - if (r->printer_name) { - ndr_print_string(ndr, "printer_name", r->printer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->data_type); - ndr->depth++; - if (r->data_type) { - ndr_print_string(ndr, "data_type", r->data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "text_status", r->text_status); - ndr->depth++; - if (r->text_status) { - ndr_print_string(ndr, "text_status", r->text_status); - } - ndr->depth--; - ndr_print_spoolss_JobStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "position", r->position); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "pages_printed", r->pages_printed); - ndr_print_spoolss_Time(ndr, "submitted", &r->submitted); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr)); - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->document_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->notify_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_type) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->print_processor) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->parameters) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->text_status) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo2 *r) -{ - uint32_t _ptr_printer_name; - TALLOC_CTX *_mem_save_printer_name_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_notify_name; - TALLOC_CTX *_mem_save_notify_name_0; - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_data_type_0; - uint32_t _ptr_print_processor; - TALLOC_CTX *_mem_save_print_processor_0; - uint32_t _ptr_parameters; - TALLOC_CTX *_mem_save_parameters_0; - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_text_status; - TALLOC_CTX *_mem_save_text_status_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name)); - if (_ptr_printer_name) { - NDR_PULL_ALLOC(ndr, r->printer_name); - } else { - r->printer_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - } else { - r->user_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - } else { - r->document_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name)); - if (_ptr_notify_name) { - NDR_PULL_ALLOC(ndr, r->notify_name); - } else { - r->notify_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->data_type); - } else { - r->data_type = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor)); - if (_ptr_print_processor) { - NDR_PULL_ALLOC(ndr, r->print_processor); - } else { - r->print_processor = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters)); - if (_ptr_parameters) { - NDR_PULL_ALLOC(ndr, r->parameters); - } else { - r->parameters = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status)); - if (_ptr_text_status) { - NDR_PULL_ALLOC(ndr, r->text_status); - } else { - r->text_status = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr)); - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printer_name) { - _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name)); - if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printer_name), ndr_get_array_length(ndr, &r->printer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0); - } - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->user_name) { - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name)); - if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - } - if (r->document_name) { - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name)); - if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - } - if (r->notify_name) { - _mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name)); - if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->notify_name), ndr_get_array_length(ndr, &r->notify_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0); - } - if (r->data_type) { - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type)); - if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_type), ndr_get_array_length(ndr, &r->data_type)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - } - if (r->print_processor) { - _mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor)); - if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->print_processor), ndr_get_array_length(ndr, &r->print_processor)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0); - } - if (r->parameters) { - _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters)); - if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->parameters), ndr_get_array_length(ndr, &r->parameters)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0); - } - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->text_status) { - _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status)); - if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->text_status), ndr_get_array_length(ndr, &r->text_status)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetJobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetJobInfo2"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_ptr(ndr, "printer_name", r->printer_name); - ndr->depth++; - if (r->printer_name) { - ndr_print_string(ndr, "printer_name", r->printer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "notify_name", r->notify_name); - ndr->depth++; - if (r->notify_name) { - ndr_print_string(ndr, "notify_name", r->notify_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->data_type); - ndr->depth++; - if (r->data_type) { - ndr_print_string(ndr, "data_type", r->data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor", r->print_processor); - ndr->depth++; - if (r->print_processor) { - ndr_print_string(ndr, "print_processor", r->print_processor); - } - ndr->depth--; - ndr_print_ptr(ndr, "parameters", r->parameters); - ndr->depth++; - if (r->parameters) { - ndr_print_string(ndr, "parameters", r->parameters); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr); - ndr_print_ptr(ndr, "text_status", r->text_status); - ndr->depth++; - if (r->text_status) { - ndr_print_string(ndr, "text_status", r->text_status); - } - ndr->depth--; - ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr); - ndr_print_spoolss_JobStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "position", r->position); - ndr_print_uint32(ndr, "start_time", r->start_time); - ndr_print_uint32(ndr, "until_time", r->until_time); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "size", r->size); - ndr_print_spoolss_Time(ndr, "submitted", &r->submitted); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "pages_printed", r->pages_printed); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetJobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printer_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->notify_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_devmode_ptr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->text_status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->_secdesc_ptr)); - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->until_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printer_name, ndr_charset_length(r->printer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->document_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->notify_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->notify_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->notify_name, ndr_charset_length(r->notify_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_type) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_type, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_type, ndr_charset_length(r->data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->print_processor) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->parameters) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->text_status) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->text_status, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->text_status, ndr_charset_length(r->text_status, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetJobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetJobInfo4 *r) -{ - uint32_t _ptr_printer_name; - TALLOC_CTX *_mem_save_printer_name_0; - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_notify_name; - TALLOC_CTX *_mem_save_notify_name_0; - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_data_type_0; - uint32_t _ptr_print_processor; - TALLOC_CTX *_mem_save_print_processor_0; - uint32_t _ptr_parameters; - TALLOC_CTX *_mem_save_parameters_0; - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_text_status; - TALLOC_CTX *_mem_save_text_status_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name)); - if (_ptr_printer_name) { - NDR_PULL_ALLOC(ndr, r->printer_name); - } else { - r->printer_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - } else { - r->user_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - } else { - r->document_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name)); - if (_ptr_notify_name) { - NDR_PULL_ALLOC(ndr, r->notify_name); - } else { - r->notify_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->data_type); - } else { - r->data_type = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor)); - if (_ptr_print_processor) { - NDR_PULL_ALLOC(ndr, r->print_processor); - } else { - r->print_processor = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters)); - if (_ptr_parameters) { - NDR_PULL_ALLOC(ndr, r->parameters); - } else { - r->parameters = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_devmode_ptr)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status)); - if (_ptr_text_status) { - NDR_PULL_ALLOC(ndr, r->text_status); - } else { - r->text_status = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_secdesc_ptr)); - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->position)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->until_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printer_name) { - _mem_save_printer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printer_name)); - if (ndr_get_array_length(ndr, &r->printer_name) > ndr_get_array_size(ndr, &r->printer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printer_name), ndr_get_array_length(ndr, &r->printer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printer_name, ndr_get_array_length(ndr, &r->printer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0); - } - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->user_name) { - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name)); - if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - } - if (r->document_name) { - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name)); - if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - } - if (r->notify_name) { - _mem_save_notify_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->notify_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->notify_name)); - if (ndr_get_array_length(ndr, &r->notify_name) > ndr_get_array_size(ndr, &r->notify_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->notify_name), ndr_get_array_length(ndr, &r->notify_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->notify_name, ndr_get_array_length(ndr, &r->notify_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0); - } - if (r->data_type) { - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_type)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_type)); - if (ndr_get_array_length(ndr, &r->data_type) > ndr_get_array_size(ndr, &r->data_type)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_type), ndr_get_array_length(ndr, &r->data_type)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_type, ndr_get_array_length(ndr, &r->data_type), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - } - if (r->print_processor) { - _mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor)); - if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->print_processor), ndr_get_array_length(ndr, &r->print_processor)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0); - } - if (r->parameters) { - _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters)); - if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->parameters), ndr_get_array_length(ndr, &r->parameters)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0); - } - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->text_status) { - _mem_save_text_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->text_status)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->text_status)); - if (ndr_get_array_length(ndr, &r->text_status) > ndr_get_array_size(ndr, &r->text_status)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->text_status), ndr_get_array_length(ndr, &r->text_status)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->text_status, ndr_get_array_length(ndr, &r->text_status), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetJobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo4 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetJobInfo4"); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_ptr(ndr, "printer_name", r->printer_name); - ndr->depth++; - if (r->printer_name) { - ndr_print_string(ndr, "printer_name", r->printer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "notify_name", r->notify_name); - ndr->depth++; - if (r->notify_name) { - ndr_print_string(ndr, "notify_name", r->notify_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->data_type); - ndr->depth++; - if (r->data_type) { - ndr_print_string(ndr, "data_type", r->data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor", r->print_processor); - ndr->depth++; - if (r->print_processor) { - ndr_print_string(ndr, "print_processor", r->print_processor); - } - ndr->depth--; - ndr_print_ptr(ndr, "parameters", r->parameters); - ndr->depth++; - if (r->parameters) { - ndr_print_string(ndr, "parameters", r->parameters); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "_devmode_ptr", r->_devmode_ptr); - ndr_print_ptr(ndr, "text_status", r->text_status); - ndr->depth++; - if (r->text_status) { - ndr_print_string(ndr, "text_status", r->text_status); - } - ndr->depth--; - ndr_print_uint32(ndr, "_secdesc_ptr", r->_secdesc_ptr); - ndr_print_spoolss_JobStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "position", r->position); - ndr_print_uint32(ndr, "start_time", r->start_time); - ndr_print_uint32(ndr, "until_time", r->until_time); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "size", r->size); - ndr_print_spoolss_Time(ndr, "submitted", &r->submitted); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "pages_printed", r->pages_printed); - ndr_print_uint32(ndr, "size_high", r->size_high); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_SetJobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetJobInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3)); - } - break; - - case 4: - if (r->info4) { - NDR_CHECK(ndr_push_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_SetJobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetJobInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - TALLOC_CTX *_mem_save_info4_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_info4; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4)); - if (_ptr_info4) { - NDR_PULL_ALLOC(ndr, r->info4); - } else { - r->info4 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_spoolss_SetJobInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_spoolss_SetJobInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - case 4: - if (r->info4) { - _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0); - NDR_CHECK(ndr_pull_spoolss_SetJobInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetJobInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetJobInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_SetJobInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_spoolss_SetJobInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_spoolss_SetJobInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_spoolss_JobInfo3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "info4", r->info4); - ndr->depth++; - if (r->info4) { - ndr_print_spoolss_SetJobInfo4(ndr, "info4", r->info4); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_spoolss_JobInfoContainer(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfoContainer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_JobInfoContainer(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfoContainer *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfoContainer *r) -{ - ndr_print_struct(ndr, name, "spoolss_JobInfoContainer"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->info, r->level); - ndr_print_spoolss_SetJobInfo(ndr, "info", &r->info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_JobControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobControl r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_JobControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobControl *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobControl(struct ndr_print *ndr, const char *name, enum spoolss_JobControl r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_JOB_CONTROL_PAUSE: val = "SPOOLSS_JOB_CONTROL_PAUSE"; break; - case SPOOLSS_JOB_CONTROL_RESUME: val = "SPOOLSS_JOB_CONTROL_RESUME"; break; - case SPOOLSS_JOB_CONTROL_CANCEL: val = "SPOOLSS_JOB_CONTROL_CANCEL"; break; - case SPOOLSS_JOB_CONTROL_RESTART: val = "SPOOLSS_JOB_CONTROL_RESTART"; break; - case SPOOLSS_JOB_CONTROL_DELETE: val = "SPOOLSS_JOB_CONTROL_DELETE"; break; - case SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER: val = "SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER"; break; - case SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED: val = "SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED"; break; - case SPOOLSS_JOB_CONTROL_RETAIN: val = "SPOOLSS_JOB_CONTROL_RETAIN"; break; - case SPOOLSS_JOB_CONTROL_RELEASE: val = "SPOOLSS_JOB_CONTROL_RELEASE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_PrinterControl(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrinterControl r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PrinterControl(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrinterControl *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterControl(struct ndr_print *ndr, const char *name, enum spoolss_PrinterControl r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_PRINTER_CONTROL_UNPAUSE: val = "SPOOLSS_PRINTER_CONTROL_UNPAUSE"; break; - case SPOOLSS_PRINTER_CONTROL_PAUSE: val = "SPOOLSS_PRINTER_CONTROL_PAUSE"; break; - case SPOOLSS_PRINTER_CONTROL_RESUME: val = "SPOOLSS_PRINTER_CONTROL_RESUME"; break; - case SPOOLSS_PRINTER_CONTROL_PURGE: val = "SPOOLSS_PRINTER_CONTROL_PURGE"; break; - case SPOOLSS_PRINTER_CONTROL_SET_STATUS: val = "SPOOLSS_PRINTER_CONTROL_SET_STATUS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_jobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_bytes)); - NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->global_counter)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_spoolss_Build(ndr, NDR_SCALARS, r->free_build)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->spooling)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_spooling)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_counter)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_out_of_paper)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_error_not_ready)); - NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->job_error)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->number_of_processors)); - NDR_CHECK(ndr_push_spoolss_ProcessorType(ndr, NDR_SCALARS, r->processor_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high_part_total_bytes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->change_id)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->last_error)); - NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumerate_network_printers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->c_setprinter)); - NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor_architecture)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->processor_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->printername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo0 *r) -{ - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->servername); - } else { - r->servername = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - } else { - r->printername = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_jobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_bytes)); - NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->global_counter)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_spoolss_Build(ndr, NDR_SCALARS, &r->free_build)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->spooling)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_spooling)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_counter)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_out_of_paper)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_error_not_ready)); - NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->job_error)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->number_of_processors)); - NDR_CHECK(ndr_pull_spoolss_ProcessorType(ndr, NDR_SCALARS, &r->processor_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high_part_total_bytes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->change_id)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->last_error)); - NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumerate_network_printers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->c_setprinter)); - NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor_architecture)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->processor_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->servername)); - if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->servername), ndr_get_array_length(ndr, &r->servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - if (r->printername) { - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printername)); - if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo0 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->servername); - ndr->depth++; - if (r->servername) { - ndr_print_string(ndr, "servername", r->servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_uint32(ndr, "cjobs", r->cjobs); - ndr_print_uint32(ndr, "total_jobs", r->total_jobs); - ndr_print_uint32(ndr, "total_bytes", r->total_bytes); - ndr_print_spoolss_Time(ndr, "time", &r->time); - ndr_print_uint32(ndr, "global_counter", r->global_counter); - ndr_print_uint32(ndr, "total_pages", r->total_pages); - ndr_print_uint32(ndr, "version", r->version); - ndr_print_spoolss_Build(ndr, "free_build", r->free_build); - ndr_print_uint32(ndr, "spooling", r->spooling); - ndr_print_uint32(ndr, "max_spooling", r->max_spooling); - ndr_print_uint32(ndr, "session_counter", r->session_counter); - ndr_print_uint32(ndr, "num_error_out_of_paper", r->num_error_out_of_paper); - ndr_print_uint32(ndr, "num_error_not_ready", r->num_error_not_ready); - ndr_print_spoolss_JobStatus(ndr, "job_error", r->job_error); - ndr_print_uint32(ndr, "number_of_processors", r->number_of_processors); - ndr_print_spoolss_ProcessorType(ndr, "processor_type", r->processor_type); - ndr_print_uint32(ndr, "high_part_total_bytes", r->high_part_total_bytes); - ndr_print_uint32(ndr, "change_id", r->change_id); - ndr_print_WERROR(ndr, "last_error", r->last_error); - ndr_print_spoolss_PrinterStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "enumerate_network_printers", r->enumerate_network_printers); - ndr_print_uint32(ndr, "c_setprinter", r->c_setprinter); - ndr_print_spoolss_ProcessorArchitecture(ndr, "processor_architecture", r->processor_architecture); - ndr_print_uint16(ndr, "processor_level", r->processor_level); - ndr_print_uint32(ndr, "ref_ic", r->ref_ic); - ndr_print_uint32(ndr, "reserved2", r->reserved2); - ndr_print_uint32(ndr, "reserved3", r->reserved3); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->description)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->description) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->description, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->description, ndr_charset_length(r->description, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo1 *r) -{ - uint32_t _ptr_description; - TALLOC_CTX *_mem_save_description_0; - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description)); - if (_ptr_description) { - NDR_PULL_ALLOC(ndr, r->description); - } else { - r->description = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->description) { - _mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->description, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->description)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->description)); - if (ndr_get_array_length(ndr, &r->description) > ndr_get_array_size(ndr, &r->description)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->description), ndr_get_array_length(ndr, &r->description)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->description, ndr_get_array_length(ndr, &r->description), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0); - } - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo1"); - ndr->depth++; - ndr_print_spoolss_PrinterAttributes(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "description", r->description); - ndr->depth++; - if (r->description) { - ndr_print_string(ndr, "description", r->description); - } - ndr->depth--; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sharename)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->drivername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->location)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sepfile)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printprocessor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secdesc_ptr)); - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->untiltime)); - NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->printername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->sharename) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sharename, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sharename, ndr_charset_length(r->sharename, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->portname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->drivername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->drivername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->drivername, ndr_charset_length(r->drivername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->location) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->location, ndr_charset_length(r->location, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->sepfile) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sepfile, ndr_charset_length(r->sepfile, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->printprocessor) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printprocessor, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printprocessor, ndr_charset_length(r->printprocessor, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->parameters) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo2 *r) -{ - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_sharename; - TALLOC_CTX *_mem_save_sharename_0; - uint32_t _ptr_portname; - TALLOC_CTX *_mem_save_portname_0; - uint32_t _ptr_drivername; - TALLOC_CTX *_mem_save_drivername_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_location; - TALLOC_CTX *_mem_save_location_0; - uint32_t _ptr_sepfile; - TALLOC_CTX *_mem_save_sepfile_0; - uint32_t _ptr_printprocessor; - TALLOC_CTX *_mem_save_printprocessor_0; - uint32_t _ptr_datatype; - TALLOC_CTX *_mem_save_datatype_0; - uint32_t _ptr_parameters; - TALLOC_CTX *_mem_save_parameters_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->servername); - } else { - r->servername = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - } else { - r->printername = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename)); - if (_ptr_sharename) { - NDR_PULL_ALLOC(ndr, r->sharename); - } else { - r->sharename = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname)); - if (_ptr_portname) { - NDR_PULL_ALLOC(ndr, r->portname); - } else { - r->portname = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername)); - if (_ptr_drivername) { - NDR_PULL_ALLOC(ndr, r->drivername); - } else { - r->drivername = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location)); - if (_ptr_location) { - NDR_PULL_ALLOC(ndr, r->location); - } else { - r->location = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile)); - if (_ptr_sepfile) { - NDR_PULL_ALLOC(ndr, r->sepfile); - } else { - r->sepfile = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor)); - if (_ptr_printprocessor) { - NDR_PULL_ALLOC(ndr, r->printprocessor); - } else { - r->printprocessor = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype)); - if (_ptr_datatype) { - NDR_PULL_ALLOC(ndr, r->datatype); - } else { - r->datatype = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters)); - if (_ptr_parameters) { - NDR_PULL_ALLOC(ndr, r->parameters); - } else { - r->parameters = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secdesc_ptr)); - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - if (r->priority > 99) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->defaultpriority)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->untiltime)); - NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->servername)); - if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->servername), ndr_get_array_length(ndr, &r->servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - if (r->printername) { - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printername)); - if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - } - if (r->sharename) { - _mem_save_sharename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sharename)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->sharename)); - if (ndr_get_array_length(ndr, &r->sharename) > ndr_get_array_size(ndr, &r->sharename)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sharename), ndr_get_array_length(ndr, &r->sharename)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sharename, ndr_get_array_length(ndr, &r->sharename), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0); - } - if (r->portname) { - _mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->portname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->portname)); - if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->portname), ndr_get_array_length(ndr, &r->portname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0); - } - if (r->drivername) { - _mem_save_drivername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->drivername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->drivername)); - if (ndr_get_array_length(ndr, &r->drivername) > ndr_get_array_size(ndr, &r->drivername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->drivername), ndr_get_array_length(ndr, &r->drivername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->drivername, ndr_get_array_length(ndr, &r->drivername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->location) { - _mem_save_location_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->location, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->location)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->location)); - if (ndr_get_array_length(ndr, &r->location) > ndr_get_array_size(ndr, &r->location)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->location), ndr_get_array_length(ndr, &r->location)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->location, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0); - } - if (r->sepfile) { - _mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->sepfile)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->sepfile)); - if (ndr_get_array_length(ndr, &r->sepfile) > ndr_get_array_size(ndr, &r->sepfile)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sepfile), ndr_get_array_length(ndr, &r->sepfile)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sepfile, ndr_get_array_length(ndr, &r->sepfile), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0); - } - if (r->printprocessor) { - _mem_save_printprocessor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printprocessor)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printprocessor)); - if (ndr_get_array_length(ndr, &r->printprocessor) > ndr_get_array_size(ndr, &r->printprocessor)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printprocessor), ndr_get_array_length(ndr, &r->printprocessor)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printprocessor, ndr_get_array_length(ndr, &r->printprocessor), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0); - } - if (r->datatype) { - _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype)); - if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->datatype), ndr_get_array_length(ndr, &r->datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0); - } - if (r->parameters) { - _mem_save_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->parameters)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->parameters)); - if (ndr_get_array_length(ndr, &r->parameters) > ndr_get_array_size(ndr, &r->parameters)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->parameters), ndr_get_array_length(ndr, &r->parameters)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->servername); - ndr->depth++; - if (r->servername) { - ndr_print_string(ndr, "servername", r->servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "sharename", r->sharename); - ndr->depth++; - if (r->sharename) { - ndr_print_string(ndr, "sharename", r->sharename); - } - ndr->depth--; - ndr_print_ptr(ndr, "portname", r->portname); - ndr->depth++; - if (r->portname) { - ndr_print_string(ndr, "portname", r->portname); - } - ndr->depth--; - ndr_print_ptr(ndr, "drivername", r->drivername); - ndr->depth++; - if (r->drivername) { - ndr_print_string(ndr, "drivername", r->drivername); - } - ndr->depth--; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_ptr(ndr, "location", r->location); - ndr->depth++; - if (r->location) { - ndr_print_string(ndr, "location", r->location); - } - ndr->depth--; - ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr); - ndr_print_ptr(ndr, "sepfile", r->sepfile); - ndr->depth++; - if (r->sepfile) { - ndr_print_string(ndr, "sepfile", r->sepfile); - } - ndr->depth--; - ndr_print_ptr(ndr, "printprocessor", r->printprocessor); - ndr->depth++; - if (r->printprocessor) { - ndr_print_string(ndr, "printprocessor", r->printprocessor); - } - ndr->depth--; - ndr_print_ptr(ndr, "datatype", r->datatype); - ndr->depth++; - if (r->datatype) { - ndr_print_string(ndr, "datatype", r->datatype); - } - ndr->depth--; - ndr_print_ptr(ndr, "parameters", r->parameters); - ndr->depth++; - if (r->parameters) { - ndr_print_string(ndr, "parameters", r->parameters); - } - ndr->depth--; - ndr_print_uint32(ndr, "secdesc_ptr", r->secdesc_ptr); - ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes); - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority); - ndr_print_uint32(ndr, "starttime", r->starttime); - ndr_print_uint32(ndr, "untiltime", r->untiltime); - ndr_print_spoolss_PrinterStatus(ndr, "status", r->status); - ndr_print_uint32(ndr, "cjobs", r->cjobs); - ndr_print_uint32(ndr, "averageppm", r->averageppm); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sec_desc_ptr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sec_desc_ptr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo3"); - ndr->depth++; - ndr_print_uint32(ndr, "sec_desc_ptr", r->sec_desc_ptr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername)); - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->servername, ndr_charset_length(r->servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo4 *r) -{ - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - } else { - r->printername = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->servername); - } else { - r->servername = NULL; - } - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printername) { - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printername)); - if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - } - if (r->servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->servername)); - if (ndr_get_array_length(ndr, &r->servername) > ndr_get_array_size(ndr, &r->servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->servername), ndr_get_array_length(ndr, &r->servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->servername, ndr_get_array_length(ndr, &r->servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo4 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo4"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "servername", r->servername); - ndr->depth++; - if (r->servername) { - ndr_print_string(ndr, "servername", r->servername); - } - ndr->depth--; - ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->portname)); - NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->printername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->printername, ndr_charset_length(r->printername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->portname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->portname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, ndr_charset_length(r->portname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo5 *r) -{ - uint32_t _ptr_printername; - TALLOC_CTX *_mem_save_printername_0; - uint32_t _ptr_portname; - TALLOC_CTX *_mem_save_portname_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->printername); - } else { - r->printername = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname)); - if (_ptr_portname) { - NDR_PULL_ALLOC(ndr, r->portname); - } else { - r->portname = NULL; - } - NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->printername) { - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->printername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->printername)); - if (ndr_get_array_length(ndr, &r->printername) > ndr_get_array_size(ndr, &r->printername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->printername), ndr_get_array_length(ndr, &r->printername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->printername, ndr_get_array_length(ndr, &r->printername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - } - if (r->portname) { - _mem_save_portname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->portname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->portname)); - if (ndr_get_array_length(ndr, &r->portname) > ndr_get_array_size(ndr, &r->portname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->portname), ndr_get_array_length(ndr, &r->portname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, ndr_get_array_length(ndr, &r->portname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo5 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo5"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->printername); - ndr->depth++; - if (r->printername) { - ndr_print_string(ndr, "printername", r->printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "portname", r->portname); - ndr->depth++; - if (r->portname) { - ndr_print_string(ndr, "portname", r->portname); - } - ndr->depth--; - ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes); - ndr_print_uint32(ndr, "device_not_selected_timeout", r->device_not_selected_timeout); - ndr_print_uint32(ndr, "transmission_retry_timeout", r->transmission_retry_timeout); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo6 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo6"); - ndr->depth++; - ndr_print_spoolss_PrinterStatus(ndr, "status", r->status); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->guid)); - NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->guid) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guid, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->guid, ndr_charset_length(r->guid, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo7 *r) -{ - uint32_t _ptr_guid; - TALLOC_CTX *_mem_save_guid_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid)); - if (_ptr_guid) { - NDR_PULL_ALLOC(ndr, r->guid); - } else { - r->guid = NULL; - } - NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->guid) { - _mem_save_guid_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->guid)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->guid)); - if (ndr_get_array_length(ndr, &r->guid) > ndr_get_array_size(ndr, &r->guid)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->guid), ndr_get_array_length(ndr, &r->guid)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guid, ndr_get_array_length(ndr, &r->guid), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo7 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo7"); - ndr->depth++; - ndr_print_ptr(ndr, "guid", r->guid); - ndr->depth++; - if (r->guid) { - ndr_print_string(ndr, "guid", r->guid); - } - ndr->depth--; - ndr_print_spoolss_DsPrintAction(ndr, "action", r->action); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo8 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo8"); - ndr->depth++; - ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo9(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo9 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo9(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo9 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo9(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo9 *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo9"); - ndr->depth++; - ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetPrinterInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8)); - break; } - - case 9: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info9)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3)); - } - break; - - case 4: - if (r->info4) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - } - break; - - case 5: - if (r->info5) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5)); - } - break; - - case 6: - if (r->info6) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6)); - } - break; - - case 7: - if (r->info7) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7)); - } - break; - - case 8: - if (r->info8) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8)); - } - break; - - case 9: - if (r->info9) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetPrinterInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - TALLOC_CTX *_mem_save_info4_0; - TALLOC_CTX *_mem_save_info5_0; - TALLOC_CTX *_mem_save_info6_0; - TALLOC_CTX *_mem_save_info7_0; - TALLOC_CTX *_mem_save_info8_0; - TALLOC_CTX *_mem_save_info9_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_info4; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4)); - if (_ptr_info4) { - NDR_PULL_ALLOC(ndr, r->info4); - } else { - r->info4 = NULL; - } - break; } - - case 5: { - uint32_t _ptr_info5; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5)); - if (_ptr_info5) { - NDR_PULL_ALLOC(ndr, r->info5); - } else { - r->info5 = NULL; - } - break; } - - case 6: { - uint32_t _ptr_info6; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6)); - if (_ptr_info6) { - NDR_PULL_ALLOC(ndr, r->info6); - } else { - r->info6 = NULL; - } - break; } - - case 7: { - uint32_t _ptr_info7; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7)); - if (_ptr_info7) { - NDR_PULL_ALLOC(ndr, r->info7); - } else { - r->info7 = NULL; - } - break; } - - case 8: { - uint32_t _ptr_info8; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8)); - if (_ptr_info8) { - NDR_PULL_ALLOC(ndr, r->info8); - } else { - r->info8 = NULL; - } - break; } - - case 9: { - uint32_t _ptr_info9; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info9)); - if (_ptr_info9) { - NDR_PULL_ALLOC(ndr, r->info9); - } else { - r->info9 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo3(ndr, NDR_SCALARS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - case 4: - if (r->info4) { - _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0); - } - break; - - case 5: - if (r->info5) { - _mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0); - } - break; - - case 6: - if (r->info6) { - _mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo6(ndr, NDR_SCALARS, r->info6)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0); - } - break; - - case 7: - if (r->info7) { - _mem_save_info7_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info7, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo7(ndr, NDR_SCALARS|NDR_BUFFERS, r->info7)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info7_0, 0); - } - break; - - case 8: - if (r->info8) { - _mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0); - } - break; - - case 9: - if (r->info9) { - _mem_save_info9_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info9, 0); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info9_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetPrinterInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_SetPrinterInfo"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_spoolss_SetPrinterInfo0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_spoolss_SetPrinterInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_spoolss_SetPrinterInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_spoolss_SetPrinterInfo3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "info4", r->info4); - ndr->depth++; - if (r->info4) { - ndr_print_spoolss_SetPrinterInfo4(ndr, "info4", r->info4); - } - ndr->depth--; - break; - - case 5: - ndr_print_ptr(ndr, "info5", r->info5); - ndr->depth++; - if (r->info5) { - ndr_print_spoolss_SetPrinterInfo5(ndr, "info5", r->info5); - } - ndr->depth--; - break; - - case 6: - ndr_print_ptr(ndr, "info6", r->info6); - ndr->depth++; - if (r->info6) { - ndr_print_spoolss_SetPrinterInfo6(ndr, "info6", r->info6); - } - ndr->depth--; - break; - - case 7: - ndr_print_ptr(ndr, "info7", r->info7); - ndr->depth++; - if (r->info7) { - ndr_print_spoolss_SetPrinterInfo7(ndr, "info7", r->info7); - } - ndr->depth--; - break; - - case 8: - ndr_print_ptr(ndr, "info8", r->info8); - ndr->depth++; - if (r->info8) { - ndr_print_spoolss_SetPrinterInfo8(ndr, "info8", r->info8); - } - ndr->depth--; - break; - - case 9: - ndr_print_ptr(ndr, "info9", r->info9); - ndr->depth++; - if (r->info9) { - ndr_print_spoolss_SetPrinterInfo9(ndr, "info9", r->info9); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfoCtr *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->info, r->level); - ndr_print_spoolss_SetPrinterInfo(ndr, "info", &r->info); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_StringArray(struct ndr_push *ndr, int ndr_flags, const struct spoolss_StringArray *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2)); - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_StringArray(struct ndr_pull *ndr, int ndr_flags, struct spoolss_StringArray *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size)); - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_StringArray(struct ndr_print *ndr, const char *name, const struct spoolss_StringArray *r) -{ - ndr_print_struct(ndr, name, "spoolss_StringArray"); - ndr->depth++; - ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?(ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2:r->_ndr_size); - ndr_print_string_array(ndr, "string", r->string); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo1 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverOSVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverOSVersion r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverOSVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverOSVersion *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverOSVersion(struct ndr_print *ndr, const char *name, enum spoolss_DriverOSVersion r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DRIVER_VERSION_9X: val = "SPOOLSS_DRIVER_VERSION_9X"; break; - case SPOOLSS_DRIVER_VERSION_NT35: val = "SPOOLSS_DRIVER_VERSION_NT35"; break; - case SPOOLSS_DRIVER_VERSION_NT4: val = "SPOOLSS_DRIVER_VERSION_NT4"; break; - case SPOOLSS_DRIVER_VERSION_200X: val = "SPOOLSS_DRIVER_VERSION_200X"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->config_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo2 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - } else { - r->architecture = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - } else { - r->driver_path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - } else { - r->data_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - } else { - r->config_file = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture)); - if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - if (r->driver_path) { - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path)); - if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - } - if (r->data_file) { - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file)); - if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - } - if (r->config_file) { - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file)); - if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfo2"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->config_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->help_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->monitor_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->default_datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dependent_files) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo3 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - } else { - r->architecture = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - } else { - r->driver_path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - } else { - r->data_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - } else { - r->config_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - } else { - r->help_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - } else { - r->monitor_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - } else { - r->default_datatype = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - } else { - r->dependent_files = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture)); - if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - if (r->driver_path) { - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path)); - if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - } - if (r->data_file) { - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file)); - if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - } - if (r->config_file) { - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file)); - if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - } - if (r->help_file) { - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file)); - if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - } - if (r->monitor_name) { - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name)); - if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - } - if (r->default_datatype) { - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype)); - if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - } - if (r->dependent_files) { - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfo3"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files); - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->config_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->help_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->monitor_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->default_datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dependent_files) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - } - if (r->previous_names) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo4 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_previous_names; - TALLOC_CTX *_mem_save_previous_names_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - } else { - r->architecture = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - } else { - r->driver_path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - } else { - r->data_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - } else { - r->config_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - } else { - r->help_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - } else { - r->monitor_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - } else { - r->default_datatype = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - } else { - r->dependent_files = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); - if (_ptr_previous_names) { - NDR_PULL_ALLOC(ndr, r->previous_names); - } else { - r->previous_names = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture)); - if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - if (r->driver_path) { - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path)); - if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - } - if (r->data_file) { - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file)); - if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - } - if (r->config_file) { - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file)); - if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - } - if (r->help_file) { - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file)); - if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - } - if (r->monitor_name) { - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name)); - if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - } - if (r->default_datatype) { - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype)); - if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - } - if (r->dependent_files) { - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - } - if (r->previous_names) { - _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo4 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfo4"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files); - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names); - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DriverAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DriverAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverAttributes(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_DRIVER_PACKAGE_AWARE", PRINTER_DRIVER_PACKAGE_AWARE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->config_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->help_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->monitor_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->default_datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dependent_files) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - } - if (r->previous_names) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names)); - } - if (r->manufacturer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->manufacturer_url) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->hardware_id) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->provider) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo6 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_previous_names; - TALLOC_CTX *_mem_save_previous_names_0; - uint32_t _ptr_manufacturer_name; - TALLOC_CTX *_mem_save_manufacturer_name_0; - uint32_t _ptr_manufacturer_url; - TALLOC_CTX *_mem_save_manufacturer_url_0; - uint32_t _ptr_hardware_id; - TALLOC_CTX *_mem_save_hardware_id_0; - uint32_t _ptr_provider; - TALLOC_CTX *_mem_save_provider_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - } else { - r->architecture = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - } else { - r->driver_path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - } else { - r->data_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - } else { - r->config_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - } else { - r->help_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - } else { - r->monitor_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - } else { - r->default_datatype = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - } else { - r->dependent_files = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); - if (_ptr_previous_names) { - NDR_PULL_ALLOC(ndr, r->previous_names); - } else { - r->previous_names = NULL; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name)); - if (_ptr_manufacturer_name) { - NDR_PULL_ALLOC(ndr, r->manufacturer_name); - } else { - r->manufacturer_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url)); - if (_ptr_manufacturer_url) { - NDR_PULL_ALLOC(ndr, r->manufacturer_url); - } else { - r->manufacturer_url = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id)); - if (_ptr_hardware_id) { - NDR_PULL_ALLOC(ndr, r->hardware_id); - } else { - r->hardware_id = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider)); - if (_ptr_provider) { - NDR_PULL_ALLOC(ndr, r->provider); - } else { - r->provider = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture)); - if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - if (r->driver_path) { - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path)); - if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - } - if (r->data_file) { - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file)); - if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - } - if (r->config_file) { - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file)); - if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - } - if (r->help_file) { - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file)); - if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - } - if (r->monitor_name) { - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name)); - if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - } - if (r->default_datatype) { - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype)); - if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - } - if (r->dependent_files) { - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - } - if (r->previous_names) { - _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0); - } - if (r->manufacturer_name) { - _mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name)); - if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_name), ndr_get_array_length(ndr, &r->manufacturer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0); - } - if (r->manufacturer_url) { - _mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url)); - if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_url), ndr_get_array_length(ndr, &r->manufacturer_url)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0); - } - if (r->hardware_id) { - _mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id)); - if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->hardware_id), ndr_get_array_length(ndr, &r->hardware_id)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0); - } - if (r->provider) { - _mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->provider)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->provider)); - if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->provider), ndr_get_array_length(ndr, &r->provider)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo6 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfo6"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files); - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names); - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "driver_date", r->driver_date); - ndr_print_hyper(ndr, "driver_version", r->driver_version); - ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name); - ndr->depth++; - if (r->manufacturer_name) { - ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url); - ndr->depth++; - if (r->manufacturer_url) { - ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url); - } - ndr->depth--; - ndr_print_ptr(ndr, "hardware_id", r->hardware_id); - ndr->depth++; - if (r->hardware_id) { - ndr_print_string(ndr, "hardware_id", r->hardware_id); - } - ndr->depth--; - ndr_print_ptr(ndr, "provider", r->provider); - ndr->depth++; - if (r->provider) { - ndr_print_string(ndr, "provider", r->provider); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->architecture)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->help_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->print_processor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->vendor_setup)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->color_profiles, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->color_profiles)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->inf_path)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->iconv_convenience, ndr->flags) - 4) / 2))); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->core_driver_dependencies)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_name, ndr_charset_length(r->driver_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->architecture, ndr_charset_length(r->architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->driver_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->driver_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->driver_path, ndr_charset_length(r->driver_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->data_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->data_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->data_file, ndr_charset_length(r->data_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->config_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->config_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->config_file, ndr_charset_length(r->config_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->help_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->help_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->help_file, ndr_charset_length(r->help_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->monitor_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->monitor_name, ndr_charset_length(r->monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->default_datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->default_datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->default_datatype, ndr_charset_length(r->default_datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dependent_files) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - } - if (r->previous_names) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names)); - } - if (r->manufacturer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_name, ndr_charset_length(r->manufacturer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->manufacturer_url) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->manufacturer_url, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->manufacturer_url, ndr_charset_length(r->manufacturer_url, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->hardware_id) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->hardware_id, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_id, ndr_charset_length(r->hardware_id, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->provider) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->provider, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->provider, ndr_charset_length(r->provider, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->print_processor) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->print_processor, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->print_processor, ndr_charset_length(r->print_processor, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->vendor_setup) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->vendor_setup, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->vendor_setup, ndr_charset_length(r->vendor_setup, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->color_profiles) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles)); - } - if (r->inf_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->inf_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->inf_path, ndr_charset_length(r->inf_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->core_driver_dependencies) { - NDR_CHECK(ndr_push_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfo8 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_previous_names; - TALLOC_CTX *_mem_save_previous_names_0; - uint32_t _ptr_manufacturer_name; - TALLOC_CTX *_mem_save_manufacturer_name_0; - uint32_t _ptr_manufacturer_url; - TALLOC_CTX *_mem_save_manufacturer_url_0; - uint32_t _ptr_hardware_id; - TALLOC_CTX *_mem_save_hardware_id_0; - uint32_t _ptr_provider; - TALLOC_CTX *_mem_save_provider_0; - uint32_t _ptr_print_processor; - TALLOC_CTX *_mem_save_print_processor_0; - uint32_t _ptr_vendor_setup; - TALLOC_CTX *_mem_save_vendor_setup_0; - uint32_t _ptr_color_profiles; - TALLOC_CTX *_mem_save_color_profiles_0; - uint32_t _ptr_inf_path; - TALLOC_CTX *_mem_save_inf_path_0; - uint32_t _ptr_core_driver_dependencies; - TALLOC_CTX *_mem_save_core_driver_dependencies_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - } else { - r->driver_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - } else { - r->architecture = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - } else { - r->driver_path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - } else { - r->data_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - } else { - r->config_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - } else { - r->help_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - } else { - r->monitor_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - } else { - r->default_datatype = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_dependent_files)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - } else { - r->dependent_files = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_previous_names)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); - if (_ptr_previous_names) { - NDR_PULL_ALLOC(ndr, r->previous_names); - } else { - r->previous_names = NULL; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name)); - if (_ptr_manufacturer_name) { - NDR_PULL_ALLOC(ndr, r->manufacturer_name); - } else { - r->manufacturer_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url)); - if (_ptr_manufacturer_url) { - NDR_PULL_ALLOC(ndr, r->manufacturer_url); - } else { - r->manufacturer_url = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id)); - if (_ptr_hardware_id) { - NDR_PULL_ALLOC(ndr, r->hardware_id); - } else { - r->hardware_id = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider)); - if (_ptr_provider) { - NDR_PULL_ALLOC(ndr, r->provider); - } else { - r->provider = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor)); - if (_ptr_print_processor) { - NDR_PULL_ALLOC(ndr, r->print_processor); - } else { - r->print_processor = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup)); - if (_ptr_vendor_setup) { - NDR_PULL_ALLOC(ndr, r->vendor_setup); - } else { - r->vendor_setup = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_color_profiles)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles)); - if (_ptr_color_profiles) { - NDR_PULL_ALLOC(ndr, r->color_profiles); - } else { - r->color_profiles = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path)); - if (_ptr_inf_path) { - NDR_PULL_ALLOC(ndr, r->inf_path); - } else { - r->inf_path = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size_core_driver_dependencies)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies)); - if (_ptr_core_driver_dependencies) { - NDR_PULL_ALLOC(ndr, r->core_driver_dependencies); - } else { - r->core_driver_dependencies = NULL; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->driver_name) { - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_name)); - if (ndr_get_array_length(ndr, &r->driver_name) > ndr_get_array_size(ndr, &r->driver_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_name), ndr_get_array_length(ndr, &r->driver_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_name, ndr_get_array_length(ndr, &r->driver_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - } - if (r->architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->architecture)); - if (ndr_get_array_length(ndr, &r->architecture) > ndr_get_array_size(ndr, &r->architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->architecture), ndr_get_array_length(ndr, &r->architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->architecture, ndr_get_array_length(ndr, &r->architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - if (r->driver_path) { - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->driver_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->driver_path)); - if (ndr_get_array_length(ndr, &r->driver_path) > ndr_get_array_size(ndr, &r->driver_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->driver_path), ndr_get_array_length(ndr, &r->driver_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->driver_path, ndr_get_array_length(ndr, &r->driver_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - } - if (r->data_file) { - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data_file)); - if (ndr_get_array_length(ndr, &r->data_file) > ndr_get_array_size(ndr, &r->data_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data_file), ndr_get_array_length(ndr, &r->data_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->data_file, ndr_get_array_length(ndr, &r->data_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - } - if (r->config_file) { - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->config_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->config_file)); - if (ndr_get_array_length(ndr, &r->config_file) > ndr_get_array_size(ndr, &r->config_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->config_file), ndr_get_array_length(ndr, &r->config_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->config_file, ndr_get_array_length(ndr, &r->config_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - } - if (r->help_file) { - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->help_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->help_file)); - if (ndr_get_array_length(ndr, &r->help_file) > ndr_get_array_size(ndr, &r->help_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->help_file), ndr_get_array_length(ndr, &r->help_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->help_file, ndr_get_array_length(ndr, &r->help_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - } - if (r->monitor_name) { - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->monitor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->monitor_name)); - if (ndr_get_array_length(ndr, &r->monitor_name) > ndr_get_array_size(ndr, &r->monitor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->monitor_name), ndr_get_array_length(ndr, &r->monitor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->monitor_name, ndr_get_array_length(ndr, &r->monitor_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - } - if (r->default_datatype) { - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->default_datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->default_datatype)); - if (ndr_get_array_length(ndr, &r->default_datatype) > ndr_get_array_size(ndr, &r->default_datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->default_datatype), ndr_get_array_length(ndr, &r->default_datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->default_datatype, ndr_get_array_length(ndr, &r->default_datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - } - if (r->dependent_files) { - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - } - if (r->previous_names) { - _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->previous_names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0); - } - if (r->manufacturer_name) { - _mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_name)); - if (ndr_get_array_length(ndr, &r->manufacturer_name) > ndr_get_array_size(ndr, &r->manufacturer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_name), ndr_get_array_length(ndr, &r->manufacturer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_name, ndr_get_array_length(ndr, &r->manufacturer_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0); - } - if (r->manufacturer_url) { - _mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->manufacturer_url)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->manufacturer_url)); - if (ndr_get_array_length(ndr, &r->manufacturer_url) > ndr_get_array_size(ndr, &r->manufacturer_url)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->manufacturer_url), ndr_get_array_length(ndr, &r->manufacturer_url)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->manufacturer_url, ndr_get_array_length(ndr, &r->manufacturer_url), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0); - } - if (r->hardware_id) { - _mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->hardware_id)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->hardware_id)); - if (ndr_get_array_length(ndr, &r->hardware_id) > ndr_get_array_size(ndr, &r->hardware_id)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->hardware_id), ndr_get_array_length(ndr, &r->hardware_id)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_id, ndr_get_array_length(ndr, &r->hardware_id), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0); - } - if (r->provider) { - _mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->provider)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->provider)); - if (ndr_get_array_length(ndr, &r->provider) > ndr_get_array_size(ndr, &r->provider)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->provider), ndr_get_array_length(ndr, &r->provider)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->provider, ndr_get_array_length(ndr, &r->provider), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0); - } - if (r->print_processor) { - _mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->print_processor)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->print_processor)); - if (ndr_get_array_length(ndr, &r->print_processor) > ndr_get_array_size(ndr, &r->print_processor)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->print_processor), ndr_get_array_length(ndr, &r->print_processor)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->print_processor, ndr_get_array_length(ndr, &r->print_processor), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0); - } - if (r->vendor_setup) { - _mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->vendor_setup)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->vendor_setup)); - if (ndr_get_array_length(ndr, &r->vendor_setup) > ndr_get_array_size(ndr, &r->vendor_setup)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->vendor_setup), ndr_get_array_length(ndr, &r->vendor_setup)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->vendor_setup, ndr_get_array_length(ndr, &r->vendor_setup), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0); - } - if (r->color_profiles) { - _mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->color_profiles)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0); - } - if (r->inf_path) { - _mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->inf_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->inf_path)); - if (ndr_get_array_length(ndr, &r->inf_path) > ndr_get_array_size(ndr, &r->inf_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->inf_path), ndr_get_array_length(ndr, &r->inf_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->inf_path, ndr_get_array_length(ndr, &r->inf_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0); - } - if (r->core_driver_dependencies) { - _mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0); - NDR_CHECK(ndr_pull_spoolss_StringArray(ndr, NDR_SCALARS, r->core_driver_dependencies)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo8 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfo8"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_dependent_files", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_dependent_files); - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_spoolss_StringArray(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_previous_names", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_previous_names); - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_spoolss_StringArray(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "driver_date", r->driver_date); - ndr_print_hyper(ndr, "driver_version", r->driver_version); - ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name); - ndr->depth++; - if (r->manufacturer_name) { - ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url); - ndr->depth++; - if (r->manufacturer_url) { - ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url); - } - ndr->depth--; - ndr_print_ptr(ndr, "hardware_id", r->hardware_id); - ndr->depth++; - if (r->hardware_id) { - ndr_print_string(ndr, "hardware_id", r->hardware_id); - } - ndr->depth--; - ndr_print_ptr(ndr, "provider", r->provider); - ndr->depth++; - if (r->provider) { - ndr_print_string(ndr, "provider", r->provider); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor", r->print_processor); - ndr->depth++; - if (r->print_processor) { - ndr_print_string(ndr, "print_processor", r->print_processor); - } - ndr->depth--; - ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup); - ndr->depth++; - if (r->vendor_setup) { - ndr_print_string(ndr, "vendor_setup", r->vendor_setup); - } - ndr->depth--; - ndr_print_uint32(ndr, "_ndr_size_color_profiles", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->color_profiles, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_color_profiles); - ndr_print_ptr(ndr, "color_profiles", r->color_profiles); - ndr->depth++; - if (r->color_profiles) { - ndr_print_spoolss_StringArray(ndr, "color_profiles", r->color_profiles); - } - ndr->depth--; - ndr_print_ptr(ndr, "inf_path", r->inf_path); - ndr->depth++; - if (r->inf_path) { - ndr_print_string(ndr, "inf_path", r->inf_path); - } - ndr->depth--; - ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes); - ndr_print_uint32(ndr, "_ndr_size_core_driver_dependencies", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?((ndr_size_spoolss_StringArray(r->core_driver_dependencies, ndr->iconv_convenience, ndr->flags) - 4) / 2):r->_ndr_size_core_driver_dependencies); - ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies); - ndr->depth++; - if (r->core_driver_dependencies) { - ndr_print_spoolss_StringArray(ndr, "core_driver_dependencies", r->core_driver_dependencies); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date); - ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddDriverInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4)); - break; } - - case 6: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6)); - break; } - - case 8: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info8)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - } - break; - - case 4: - if (r->info4) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - } - break; - - case 6: - if (r->info6) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6)); - } - break; - - case 8: - if (r->info8) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddDriverInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - TALLOC_CTX *_mem_save_info4_0; - TALLOC_CTX *_mem_save_info6_0; - TALLOC_CTX *_mem_save_info8_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - case 4: { - uint32_t _ptr_info4; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4)); - if (_ptr_info4) { - NDR_PULL_ALLOC(ndr, r->info4); - } else { - r->info4 = NULL; - } - break; } - - case 6: { - uint32_t _ptr_info6; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6)); - if (_ptr_info6) { - NDR_PULL_ALLOC(ndr, r->info6); - } else { - r->info6 = NULL; - } - break; } - - case 8: { - uint32_t _ptr_info8; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info8)); - if (_ptr_info8) { - NDR_PULL_ALLOC(ndr, r->info8); - } else { - r->info8 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - case 4: - if (r->info4) { - _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0); - } - break; - - case 6: - if (r->info6) { - _mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0); - } - break; - - case 8: - if (r->info8) { - _mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo8(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddDriverInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_AddDriverInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_spoolss_AddDriverInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_spoolss_AddDriverInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_spoolss_AddDriverInfo3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - case 4: - ndr_print_ptr(ndr, "info4", r->info4); - ndr->depth++; - if (r->info4) { - ndr_print_spoolss_AddDriverInfo4(ndr, "info4", r->info4); - } - ndr->depth--; - break; - - case 6: - ndr_print_ptr(ndr, "info6", r->info6); - ndr->depth++; - if (r->info6) { - ndr_print_spoolss_AddDriverInfo6(ndr, "info6", r->info6); - } - ndr->depth--; - break; - - case 8: - ndr_print_ptr(ndr, "info8", r->info8); - ndr->depth++; - if (r->info8) { - ndr_print_spoolss_AddDriverInfo8(ndr, "info8", r->info8); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_spoolss_AddDriverInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddDriverInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddDriverInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddDriverInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level)); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddDriverInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfoCtr *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddDriverInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->info, r->level); - ndr_print_spoolss_AddDriverInfo(ndr, "info", &r->info); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo1 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo1(const struct spoolss_DriverInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo2 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture)); - } else { - r->architecture = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path)); - } else { - r->driver_path = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file)); - } else { - r->data_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file)); - } else { - r->config_file = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture)); - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path)); - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file)); - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file)); - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo2"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo2(const struct spoolss_DriverInfo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo2, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files)); - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo3 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture)); - } else { - r->architecture = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path)); - } else { - r->driver_path = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file)); - } else { - r->data_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file)); - } else { - r->config_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file)); - } else { - r->help_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files)); - } else { - r->dependent_files = NULL; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype)); - } else { - r->default_datatype = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture)); - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path)); - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file)); - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file)); - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file)); - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files)); - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype)); - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo3"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_string_array(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo3(const struct spoolss_DriverInfo3 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo3, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo4 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files)); - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->previous_names) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names)); - } - ndr->flags = _flags_save_string_array; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo4 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_previous_names; - TALLOC_CTX *_mem_save_previous_names_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture)); - } else { - r->architecture = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path)); - } else { - r->driver_path = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file)); - } else { - r->data_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file)); - } else { - r->config_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file)); - } else { - r->help_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files)); - } else { - r->dependent_files = NULL; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype)); - } else { - r->default_datatype = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); - if (_ptr_previous_names) { - NDR_PULL_ALLOC(ndr, r->previous_names); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names)); - } else { - r->previous_names = NULL; - } - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture)); - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path)); - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file)); - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file)); - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file)); - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files)); - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype)); - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->previous_names) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names)); - _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo4 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo4"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_string_array(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_string_array(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo4(const struct spoolss_DriverInfo4 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo4, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo5 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_DriverAttributes(ndr, NDR_SCALARS, r->driver_attributes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->config_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo5 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture)); - } else { - r->architecture = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path)); - } else { - r->driver_path = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file)); - } else { - r->data_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file)); - } else { - r->config_file = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_DriverAttributes(ndr, NDR_SCALARS, &r->driver_attributes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->config_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture)); - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path)); - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file)); - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file)); - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo5 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo5"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_spoolss_DriverAttributes(ndr, "driver_attributes", r->driver_attributes); - ndr_print_uint32(ndr, "config_version", r->config_version); - ndr_print_uint32(ndr, "driver_version", r->driver_version); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo5(const struct spoolss_DriverInfo5 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo5, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo6 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files)); - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->previous_names) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_url) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->hardware_id) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->provider) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo6 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_previous_names; - TALLOC_CTX *_mem_save_previous_names_0; - uint32_t _ptr_manufacturer_name; - TALLOC_CTX *_mem_save_manufacturer_name_0; - uint32_t _ptr_manufacturer_url; - TALLOC_CTX *_mem_save_manufacturer_url_0; - uint32_t _ptr_hardware_id; - TALLOC_CTX *_mem_save_hardware_id_0; - uint32_t _ptr_provider; - TALLOC_CTX *_mem_save_provider_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture)); - } else { - r->architecture = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path)); - } else { - r->driver_path = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file)); - } else { - r->data_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file)); - } else { - r->config_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file)); - } else { - r->help_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files)); - } else { - r->dependent_files = NULL; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype)); - } else { - r->default_datatype = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); - if (_ptr_previous_names) { - NDR_PULL_ALLOC(ndr, r->previous_names); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names)); - } else { - r->previous_names = NULL; - } - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name)); - if (_ptr_manufacturer_name) { - NDR_PULL_ALLOC(ndr, r->manufacturer_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name)); - } else { - r->manufacturer_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url)); - if (_ptr_manufacturer_url) { - NDR_PULL_ALLOC(ndr, r->manufacturer_url); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url)); - } else { - r->manufacturer_url = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id)); - if (_ptr_hardware_id) { - NDR_PULL_ALLOC(ndr, r->hardware_id); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id)); - } else { - r->hardware_id = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider)); - if (_ptr_provider) { - NDR_PULL_ALLOC(ndr, r->provider); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider)); - } else { - r->provider = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture)); - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path)); - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file)); - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file)); - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file)); - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files)); - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype)); - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->previous_names) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names)); - _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name)); - _mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_url) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url)); - _mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->hardware_id) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id)); - _mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->provider) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider)); - _mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo6 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo6"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_string_array(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_string_array(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "driver_date", r->driver_date); - ndr_print_hyper(ndr, "driver_version", r->driver_version); - ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name); - ndr->depth++; - if (r->manufacturer_name) { - ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url); - ndr->depth++; - if (r->manufacturer_url) { - ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url); - } - ndr->depth--; - ndr_print_ptr(ndr, "hardware_id", r->hardware_id); - ndr->depth++; - if (r->hardware_id) { - ndr_print_string(ndr, "hardware_id", r->hardware_id); - } - ndr->depth--; - ndr_print_ptr(ndr, "provider", r->provider); - ndr->depth++; - if (r->provider) { - ndr_print_string(ndr, "provider", r->provider); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo6(const struct spoolss_DriverInfo6 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo6, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo7 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->install_source_root)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->inf_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->install_source_root) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->install_source_root)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo7 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_inf_name; - TALLOC_CTX *_mem_save_inf_name_0; - uint32_t _ptr_install_source_root; - TALLOC_CTX *_mem_save_install_source_root_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_name)); - if (_ptr_inf_name) { - NDR_PULL_ALLOC(ndr, r->inf_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_name, _ptr_inf_name)); - } else { - r->inf_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_install_source_root)); - if (_ptr_install_source_root) { - NDR_PULL_ALLOC(ndr, r->install_source_root); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->install_source_root, _ptr_install_source_root)); - } else { - r->install_source_root = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->inf_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_name)); - _mem_save_inf_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->inf_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->install_source_root) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->install_source_root)); - _mem_save_install_source_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->install_source_root, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->install_source_root)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_install_source_root_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo7 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo7"); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "inf_name", r->inf_name); - ndr->depth++; - if (r->inf_name) { - ndr_print_string(ndr, "inf_name", r->inf_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "install_source_root", r->install_source_root); - ndr->depth++; - if (r->install_source_root) { - ndr_print_string(ndr, "install_source_root", r->install_source_root); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo7(const struct spoolss_DriverInfo7 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo7, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files)); - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->vendor_setup)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->color_profiles)); - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_path)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes)); - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->core_driver_dependencies)); - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->previous_names) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_url) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->hardware_id) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->provider) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->vendor_setup) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->vendor_setup)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->color_profiles) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->color_profiles)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->inf_path) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_path)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->core_driver_dependencies) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->core_driver_dependencies)); - } - ndr->flags = _flags_save_string_array; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo8 *r) -{ - uint32_t _ptr_driver_name; - TALLOC_CTX *_mem_save_driver_name_0; - uint32_t _ptr_architecture; - TALLOC_CTX *_mem_save_architecture_0; - uint32_t _ptr_driver_path; - TALLOC_CTX *_mem_save_driver_path_0; - uint32_t _ptr_data_file; - TALLOC_CTX *_mem_save_data_file_0; - uint32_t _ptr_config_file; - TALLOC_CTX *_mem_save_config_file_0; - uint32_t _ptr_help_file; - TALLOC_CTX *_mem_save_help_file_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_default_datatype; - TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_previous_names; - TALLOC_CTX *_mem_save_previous_names_0; - uint32_t _ptr_manufacturer_name; - TALLOC_CTX *_mem_save_manufacturer_name_0; - uint32_t _ptr_manufacturer_url; - TALLOC_CTX *_mem_save_manufacturer_url_0; - uint32_t _ptr_hardware_id; - TALLOC_CTX *_mem_save_hardware_id_0; - uint32_t _ptr_provider; - TALLOC_CTX *_mem_save_provider_0; - uint32_t _ptr_print_processor; - TALLOC_CTX *_mem_save_print_processor_0; - uint32_t _ptr_vendor_setup; - TALLOC_CTX *_mem_save_vendor_setup_0; - uint32_t _ptr_color_profiles; - TALLOC_CTX *_mem_save_color_profiles_0; - uint32_t _ptr_inf_path; - TALLOC_CTX *_mem_save_inf_path_0; - uint32_t _ptr_core_driver_dependencies; - TALLOC_CTX *_mem_save_core_driver_dependencies_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name)); - if (_ptr_driver_name) { - NDR_PULL_ALLOC(ndr, r->driver_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name)); - } else { - r->driver_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->architecture); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->architecture, _ptr_architecture)); - } else { - r->architecture = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path)); - if (_ptr_driver_path) { - NDR_PULL_ALLOC(ndr, r->driver_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_path, _ptr_driver_path)); - } else { - r->driver_path = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file)); - if (_ptr_data_file) { - NDR_PULL_ALLOC(ndr, r->data_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data_file, _ptr_data_file)); - } else { - r->data_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file)); - if (_ptr_config_file) { - NDR_PULL_ALLOC(ndr, r->config_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->config_file, _ptr_config_file)); - } else { - r->config_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file)); - if (_ptr_help_file) { - NDR_PULL_ALLOC(ndr, r->help_file); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->help_file, _ptr_help_file)); - } else { - r->help_file = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files)); - } else { - r->dependent_files = NULL; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype)); - if (_ptr_default_datatype) { - NDR_PULL_ALLOC(ndr, r->default_datatype); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->default_datatype, _ptr_default_datatype)); - } else { - r->default_datatype = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); - if (_ptr_previous_names) { - NDR_PULL_ALLOC(ndr, r->previous_names); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->previous_names, _ptr_previous_names)); - } else { - r->previous_names = NULL; - } - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name)); - if (_ptr_manufacturer_name) { - NDR_PULL_ALLOC(ndr, r->manufacturer_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_name, _ptr_manufacturer_name)); - } else { - r->manufacturer_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url)); - if (_ptr_manufacturer_url) { - NDR_PULL_ALLOC(ndr, r->manufacturer_url); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->manufacturer_url, _ptr_manufacturer_url)); - } else { - r->manufacturer_url = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id)); - if (_ptr_hardware_id) { - NDR_PULL_ALLOC(ndr, r->hardware_id); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->hardware_id, _ptr_hardware_id)); - } else { - r->hardware_id = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider)); - if (_ptr_provider) { - NDR_PULL_ALLOC(ndr, r->provider); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->provider, _ptr_provider)); - } else { - r->provider = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor)); - if (_ptr_print_processor) { - NDR_PULL_ALLOC(ndr, r->print_processor); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor, _ptr_print_processor)); - } else { - r->print_processor = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup)); - if (_ptr_vendor_setup) { - NDR_PULL_ALLOC(ndr, r->vendor_setup); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->vendor_setup, _ptr_vendor_setup)); - } else { - r->vendor_setup = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles)); - if (_ptr_color_profiles) { - NDR_PULL_ALLOC(ndr, r->color_profiles); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->color_profiles, _ptr_color_profiles)); - } else { - r->color_profiles = NULL; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path)); - if (_ptr_inf_path) { - NDR_PULL_ALLOC(ndr, r->inf_path); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_path, _ptr_inf_path)); - } else { - r->inf_path = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes)); - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies)); - if (_ptr_core_driver_dependencies) { - NDR_PULL_ALLOC(ndr, r->core_driver_dependencies); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->core_driver_dependencies, _ptr_core_driver_dependencies)); - } else { - r->core_driver_dependencies = NULL; - } - ndr->flags = _flags_save_string_array; - } - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name)); - _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->architecture) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->architecture)); - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->driver_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_path)); - _mem_save_driver_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->data_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data_file)); - _mem_save_data_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->config_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->config_file)); - _mem_save_config_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->help_file) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->help_file)); - _mem_save_help_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files)); - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->default_datatype) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->default_datatype)); - _mem_save_default_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->previous_names) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->previous_names)); - _mem_save_previous_names_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_name)); - _mem_save_manufacturer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->manufacturer_url) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->manufacturer_url)); - _mem_save_manufacturer_url_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->hardware_id) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->hardware_id)); - _mem_save_hardware_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->provider) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->provider)); - _mem_save_provider_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor)); - _mem_save_print_processor_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->vendor_setup) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->vendor_setup)); - _mem_save_vendor_setup_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->vendor_setup)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->color_profiles) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->color_profiles)); - _mem_save_color_profiles_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->color_profiles)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->inf_path) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_path)); - _mem_save_inf_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_path)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->core_driver_dependencies) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->core_driver_dependencies)); - _mem_save_core_driver_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->core_driver_dependencies)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo8 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverInfo8"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "driver_path", r->driver_path); - ndr->depth++; - if (r->driver_path) { - ndr_print_string(ndr, "driver_path", r->driver_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_file", r->data_file); - ndr->depth++; - if (r->data_file) { - ndr_print_string(ndr, "data_file", r->data_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "config_file", r->config_file); - ndr->depth++; - if (r->config_file) { - ndr_print_string(ndr, "config_file", r->config_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "help_file", r->help_file); - ndr->depth++; - if (r->help_file) { - ndr_print_string(ndr, "help_file", r->help_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_string_array(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_string_array(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "driver_date", r->driver_date); - ndr_print_hyper(ndr, "driver_version", r->driver_version); - ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name); - ndr->depth++; - if (r->manufacturer_name) { - ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url); - ndr->depth++; - if (r->manufacturer_url) { - ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url); - } - ndr->depth--; - ndr_print_ptr(ndr, "hardware_id", r->hardware_id); - ndr->depth++; - if (r->hardware_id) { - ndr_print_string(ndr, "hardware_id", r->hardware_id); - } - ndr->depth--; - ndr_print_ptr(ndr, "provider", r->provider); - ndr->depth++; - if (r->provider) { - ndr_print_string(ndr, "provider", r->provider); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor", r->print_processor); - ndr->depth++; - if (r->print_processor) { - ndr_print_string(ndr, "print_processor", r->print_processor); - } - ndr->depth--; - ndr_print_ptr(ndr, "vendor_setup", r->vendor_setup); - ndr->depth++; - if (r->vendor_setup) { - ndr_print_string(ndr, "vendor_setup", r->vendor_setup); - } - ndr->depth--; - ndr_print_ptr(ndr, "color_profiles", r->color_profiles); - ndr->depth++; - if (r->color_profiles) { - ndr_print_string_array(ndr, "color_profiles", r->color_profiles); - } - ndr->depth--; - ndr_print_ptr(ndr, "inf_path", r->inf_path); - ndr->depth++; - if (r->inf_path) { - ndr_print_string(ndr, "inf_path", r->inf_path); - } - ndr->depth--; - ndr_print_uint32(ndr, "printer_driver_attributes", r->printer_driver_attributes); - ndr_print_ptr(ndr, "core_driver_dependencies", r->core_driver_dependencies); - ndr->depth++; - if (r->core_driver_dependencies) { - ndr_print_string_array(ndr, "core_driver_dependencies", r->core_driver_dependencies); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "min_inbox_driver_ver_date", r->min_inbox_driver_ver_date); - ndr_print_hyper(ndr, "min_inbox_driver_ver_version", r->min_inbox_driver_ver_version); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo8(const struct spoolss_DriverInfo8 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo8, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DriverFileType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverFileType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DriverFileType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverFileType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverFileType(struct ndr_print *ndr, const char *name, enum spoolss_DriverFileType r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_DRIVER_FILE_TYPE_RENDERING: val = "SPOOLSS_DRIVER_FILE_TYPE_RENDERING"; break; - case SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION: val = "SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION"; break; - case SPOOLSS_DRIVER_FILE_TYPE_DATA: val = "SPOOLSS_DRIVER_FILE_TYPE_DATA"; break; - case SPOOLSS_DRIVER_FILE_TYPE_HELP: val = "SPOOLSS_DRIVER_FILE_TYPE_HELP"; break; - case SPOOLSS_DRIVER_FILE_TYPE_OTHER: val = "SPOOLSS_DRIVER_FILE_TYPE_OTHER"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverFileInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverFileInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->file_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_DriverFileType(ndr, NDR_SCALARS, r->file_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->file_version)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->file_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->file_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverFileInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverFileInfo *r) -{ - uint32_t _ptr_file_name; - TALLOC_CTX *_mem_save_file_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_file_name)); - if (_ptr_file_name) { - NDR_PULL_ALLOC(ndr, r->file_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->file_name, _ptr_file_name)); - } else { - r->file_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_DriverFileType(ndr, NDR_SCALARS, &r->file_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->file_version)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->file_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->file_name)); - _mem_save_file_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->file_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->file_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_file_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverFileInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DriverFileInfo *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverFileInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "file_name", r->file_name); - ndr->depth++; - if (r->file_name) { - ndr_print_string(ndr, "file_name", r->file_name); - } - ndr->depth--; - ndr_print_spoolss_DriverFileType(ndr, "file_type", r->file_type); - ndr_print_uint32(ndr, "file_version", r->file_version); - ndr->depth--; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo101(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo101 *r) -{ - uint32_t cntr_file_info_1; - ndr_print_struct(ndr, name, "spoolss_DriverInfo101"); - ndr->depth++; - ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version); - ndr_print_ptr(ndr, "driver_name", r->driver_name); - ndr->depth++; - if (r->driver_name) { - ndr_print_string(ndr, "driver_name", r->driver_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->architecture); - ndr->depth++; - if (r->architecture) { - ndr_print_string(ndr, "architecture", r->architecture); - } - ndr->depth--; - ndr_print_ptr(ndr, "file_info", r->file_info); - ndr->depth++; - if (r->file_info) { - ndr->print(ndr, "%s: ARRAY(%d)", "file_info", (int)r->file_count); - ndr->depth++; - for (cntr_file_info_1=0;cntr_file_info_1file_count;cntr_file_info_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_file_info_1) != -1) { - ndr_print_spoolss_DriverFileInfo(ndr, "file_info", &r->file_info[cntr_file_info_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr_print_uint32(ndr, "file_count", r->file_count); - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "default_datatype", r->default_datatype); - ndr->depth++; - if (r->default_datatype) { - ndr_print_string(ndr, "default_datatype", r->default_datatype); - } - ndr->depth--; - ndr_print_ptr(ndr, "previous_names", r->previous_names); - ndr->depth++; - if (r->previous_names) { - ndr_print_string_array(ndr, "previous_names", r->previous_names); - } - ndr->depth--; - ndr_print_NTTIME(ndr, "driver_date", r->driver_date); - ndr_print_hyper(ndr, "driver_version", r->driver_version); - ndr_print_ptr(ndr, "manufacturer_name", r->manufacturer_name); - ndr->depth++; - if (r->manufacturer_name) { - ndr_print_string(ndr, "manufacturer_name", r->manufacturer_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "manufacturer_url", r->manufacturer_url); - ndr->depth++; - if (r->manufacturer_url) { - ndr_print_string(ndr, "manufacturer_url", r->manufacturer_url); - } - ndr->depth--; - ndr_print_ptr(ndr, "hardware_id", r->hardware_id); - ndr->depth++; - if (r->hardware_id) { - ndr_print_string(ndr, "hardware_id", r->hardware_id); - } - ndr->depth--; - ndr_print_ptr(ndr, "provider", r->provider); - ndr->depth++; - if (r->provider) { - ndr_print_string(ndr, "provider", r->provider); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo101(const struct spoolss_DriverInfo101 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo101, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 101: { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6)); - break; - - case 7: - NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7)); - break; - - case 8: - NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8)); - break; - - case 101: - NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 8)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5)); - break; } - - case 6: { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6)); - break; } - - case 7: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7)); - break; } - - case 8: { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8)); - break; } - - case 101: { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 4: - NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4)); - break; - - case 5: - NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5)); - break; - - case 6: - NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6)); - break; - - case 7: - NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7)); - break; - - case 8: - NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8)); - break; - - case 101: - NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_DriverInfo"); - switch (level) { - case 1: - ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3); - break; - - case 4: - ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4); - break; - - case 5: - ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5); - break; - - case 6: - ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6); - break; - - case 7: - ndr_print_spoolss_DriverInfo7(ndr, "info7", &r->info7); - break; - - case 8: - ndr_print_spoolss_DriverInfo8(ndr, "info8", &r->info8); - break; - - case 101: - ndr_print_spoolss_DriverInfo101(ndr, "info101", &r->info101); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverInfo(const union spoolss_DriverInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_RELATIVE_REVERSE; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverDirectoryInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverDirectoryInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverDirectoryInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DriverDirectoryInfo1"); - ndr->depth++; - ndr_print_string(ndr, "directory_name", r->directory_name); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo1(const struct spoolss_DriverDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverDirectoryInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo"); - switch (level) { - case 1: - ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1); - break; - - default: - ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1); - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_RELATIVE_REVERSE; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorInfo1 *r) -{ - uint32_t _ptr_print_processor_name; - TALLOC_CTX *_mem_save_print_processor_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name)); - if (_ptr_print_processor_name) { - NDR_PULL_ALLOC(ndr, r->print_processor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->print_processor_name, _ptr_print_processor_name)); - } else { - r->print_processor_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->print_processor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->print_processor_name)); - _mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->print_processor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrintProcessorInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "print_processor_name", r->print_processor_name); - ndr->depth++; - if (r->print_processor_name) { - ndr_print_string(ndr, "print_processor_name", r->print_processor_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorInfo1(const struct spoolss_PrintProcessorInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo"); - switch (level) { - case 1: - ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorDirectoryInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorDirectoryInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorDirectoryInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrintProcessorDirectoryInfo1"); - ndr->depth++; - ndr_print_string(ndr, "directory_name", r->directory_name); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo1(const struct spoolss_PrintProcessorDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorDirectoryInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorDirectoryInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorDirectoryInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_PrintProcessorDirectoryInfo"); - switch (level) { - case 1: - ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1); - break; - - default: - ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1); - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo(const union spoolss_PrintProcessorDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_RELATIVE_REVERSE; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo, ic); -} - -static enum ndr_err_code ndr_push_spoolss_DocumentInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DocumentInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->output_file)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->document_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->document_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->document_name, ndr_charset_length(r->document_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->output_file) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->output_file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->output_file, ndr_charset_length(r->output_file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->datatype, ndr_charset_length(r->datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DocumentInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DocumentInfo1 *r) -{ - uint32_t _ptr_document_name; - TALLOC_CTX *_mem_save_document_name_0; - uint32_t _ptr_output_file; - TALLOC_CTX *_mem_save_output_file_0; - uint32_t _ptr_datatype; - TALLOC_CTX *_mem_save_datatype_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name)); - if (_ptr_document_name) { - NDR_PULL_ALLOC(ndr, r->document_name); - } else { - r->document_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_output_file)); - if (_ptr_output_file) { - NDR_PULL_ALLOC(ndr, r->output_file); - } else { - r->output_file = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype)); - if (_ptr_datatype) { - NDR_PULL_ALLOC(ndr, r->datatype); - } else { - r->datatype = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->document_name) { - _mem_save_document_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->document_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->document_name)); - if (ndr_get_array_length(ndr, &r->document_name) > ndr_get_array_size(ndr, &r->document_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->document_name), ndr_get_array_length(ndr, &r->document_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->document_name, ndr_get_array_length(ndr, &r->document_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0); - } - if (r->output_file) { - _mem_save_output_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->output_file, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->output_file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->output_file)); - if (ndr_get_array_length(ndr, &r->output_file) > ndr_get_array_size(ndr, &r->output_file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->output_file), ndr_get_array_length(ndr, &r->output_file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->output_file, ndr_get_array_length(ndr, &r->output_file), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_output_file_0, 0); - } - if (r->datatype) { - _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->datatype)); - if (ndr_get_array_length(ndr, &r->datatype) > ndr_get_array_size(ndr, &r->datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->datatype), ndr_get_array_length(ndr, &r->datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->datatype, ndr_get_array_length(ndr, &r->datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DocumentInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DocumentInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_DocumentInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "document_name", r->document_name); - ndr->depth++; - if (r->document_name) { - ndr_print_string(ndr, "document_name", r->document_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "output_file", r->output_file); - ndr->depth++; - if (r->output_file) { - ndr_print_string(ndr, "output_file", r->output_file); - } - ndr->depth--; - ndr_print_ptr(ndr, "datatype", r->datatype); - ndr->depth++; - if (r->datatype) { - ndr_print_string(ndr, "datatype", r->datatype); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DocumentInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DocumentInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - break; } - - case 3: { - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - break; - - case 3: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DocumentInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DocumentInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - break; } - - case 3: { - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_spoolss_DocumentInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - break; - - case 3: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DocumentInfo(struct ndr_print *ndr, const char *name, const union spoolss_DocumentInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_DocumentInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_spoolss_DocumentInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - break; - - case 3: - break; - - default: - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersion(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersion *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - { - struct ndr_push *_ndr_extra_string; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256)); - NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersion(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersion *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - { - struct ndr_pull *_ndr_extra_string; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256)); - NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_OSVersion(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersion *r) -{ - ndr_print_struct(ndr, name, "spoolss_OSVersion"); - ndr->depth++; - ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersion(r, ndr->iconv_convenience, ndr->flags):r->_ndr_size); - ndr_print_uint32(ndr, "major", r->major); - ndr_print_uint32(ndr, "minor", r->minor); - ndr_print_uint32(ndr, "build", r->build); - ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id); - ndr_print_string(ndr, "extra_string", r->extra_string); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_OSVersion(const struct spoolss_OSVersion *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersion, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OSVersionEx(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersionEx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minor)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - { - struct ndr_push *_ndr_extra_string; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256)); - NDR_CHECK(ndr_push_string(_ndr_extra_string, NDR_SCALARS, r->extra_string)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_extra_string, 0, 256)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_major)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->service_pack_minor)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->suite_mask)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->product_type)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OSVersionEx(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersionEx *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minor)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - { - struct ndr_pull *_ndr_extra_string; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256)); - NDR_CHECK(ndr_pull_string(_ndr_extra_string, NDR_SCALARS, &r->extra_string)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_extra_string, 0, 256)); - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_major)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->service_pack_minor)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->suite_mask)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->product_type)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_OSVersionEx(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersionEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_OSVersionEx"); - ndr->depth++; - ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_OSVersionEx(r, ndr->iconv_convenience, ndr->flags):r->_ndr_size); - ndr_print_uint32(ndr, "major", r->major); - ndr_print_uint32(ndr, "minor", r->minor); - ndr_print_uint32(ndr, "build", r->build); - ndr_print_uint32(ndr, "platform_id", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->platform_id); - ndr_print_string(ndr, "extra_string", r->extra_string); - ndr_print_uint16(ndr, "service_pack_major", r->service_pack_major); - ndr_print_uint16(ndr, "service_pack_minor", r->service_pack_minor); - ndr_print_uint16(ndr, "suite_mask", r->suite_mask); - ndr_print_uint8(ndr, "product_type", r->product_type); - ndr_print_uint8(ndr, "reserved", r->reserved); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_OSVersionEx, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case REG_NONE: { - break; } - - case REG_SZ: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case REG_BINARY: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - case REG_DWORD: { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value)); - break; } - - case REG_MULTI_SZ: { - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array)); - ndr->flags = _flags_save_string_array; - } - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case REG_NONE: - break; - - case REG_SZ: - break; - - case REG_BINARY: - break; - - case REG_DWORD: - break; - - case REG_MULTI_SZ: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case REG_NONE: { - break; } - - case REG_SZ: { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string)); - ndr->flags = _flags_save_string; - } - break; } - - case REG_BINARY: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - case REG_DWORD: { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value)); - break; } - - case REG_MULTI_SZ: { - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array)); - ndr->flags = _flags_save_string_array; - } - break; } - - default: { - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case REG_NONE: - break; - - case REG_SZ: - break; - - case REG_BINARY: - break; - - case REG_DWORD: - break; - - case REG_MULTI_SZ: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_PrinterData"); - switch (level) { - case REG_NONE: - break; - - case REG_SZ: - ndr_print_string(ndr, "string", r->string); - break; - - case REG_BINARY: - ndr_print_DATA_BLOB(ndr, "binary", r->binary); - break; - - case REG_DWORD: - ndr_print_uint32(ndr, "value", r->value); - break; - - case REG_MULTI_SZ: - ndr_print_string_array(ndr, "string_array", r->string_array); - break; - - default: - ndr_print_DATA_BLOB(ndr, "data", r->data); - break; - - } -} - -static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_FormFlags(struct ndr_pull *ndr, int ndr_flags, enum spoolss_FormFlags *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r) -{ - const char *val = NULL; - - switch (r) { - case SPOOLSS_FORM_USER: val = "SPOOLSS_FORM_USER"; break; - case SPOOLSS_FORM_BUILTIN: val = "SPOOLSS_FORM_BUILTIN"; break; - case SPOOLSS_FORM_PRINTER: val = "SPOOLSS_FORM_PRINTER"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_FormSize(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormSize *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->width)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->height)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_FormSize(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormSize *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->width)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->height)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r) -{ - ndr_print_struct(ndr, name, "spoolss_FormSize"); - ndr->depth++; - ndr_print_uint32(ndr, "width", r->width); - ndr_print_uint32(ndr, "height", r->height); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_FormArea(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormArea *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->left)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->top)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->right)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bottom)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_FormArea(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormArea *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->left)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->top)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->right)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bottom)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r) -{ - ndr_print_struct(ndr, name, "spoolss_FormArea"); - ndr->depth++; - ndr_print_uint32(ndr, "left", r->left); - ndr_print_uint32(ndr, "top", r->top); - ndr_print_uint32(ndr, "right", r->right); - ndr_print_uint32(ndr, "bottom", r->bottom); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->form_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo1 *r) -{ - uint32_t _ptr_form_name; - TALLOC_CTX *_mem_save_form_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name)); - if (_ptr_form_name) { - NDR_PULL_ALLOC(ndr, r->form_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name)); - } else { - r->form_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->form_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name)); - _mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_FormInfo1"); - ndr->depth++; - ndr_print_spoolss_FormFlags(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "form_name", r->form_name); - ndr->depth++; - if (r->form_name) { - ndr_print_string(ndr, "form_name", r->form_name); - } - ndr->depth--; - ndr_print_spoolss_FormSize(ndr, "size", &r->size); - ndr_print_spoolss_FormArea(ndr, "area", &r->area); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_FormInfo1(const struct spoolss_FormInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo1, ic); -} - -static enum ndr_err_code ndr_push_spoolss_FormStringType(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_FormStringType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormStringType(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_NONE", SPOOLSS_FORM_STRING_TYPE_NONE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_MUI_DLL", SPOOLSS_FORM_STRING_TYPE_MUI_DLL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_FORM_STRING_TYPE_LANG_PAIR", SPOOLSS_FORM_STRING_TYPE_LANG_PAIR, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->keyword)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->mui_dll)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lang_id)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unused)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->form_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->keyword) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->keyword)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyword)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->keyword)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->mui_dll) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->mui_dll)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->display_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo2 *r) -{ - uint32_t _ptr_form_name; - TALLOC_CTX *_mem_save_form_name_0; - uint32_t _ptr_keyword; - TALLOC_CTX *_mem_save_keyword_0; - uint32_t _ptr_mui_dll; - TALLOC_CTX *_mem_save_mui_dll_0; - uint32_t _ptr_display_name; - TALLOC_CTX *_mem_save_display_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name)); - if (_ptr_form_name) { - NDR_PULL_ALLOC(ndr, r->form_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->form_name, _ptr_form_name)); - } else { - r->form_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword)); - if (_ptr_keyword) { - NDR_PULL_ALLOC(ndr, r->keyword); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->keyword, _ptr_keyword)); - } else { - r->keyword = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll)); - if (_ptr_mui_dll) { - NDR_PULL_ALLOC(ndr, r->mui_dll); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->mui_dll, _ptr_mui_dll)); - } else { - r->mui_dll = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, r->display_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->display_name, _ptr_display_name)); - } else { - r->display_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lang_id)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unused)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->form_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->form_name)); - _mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->keyword) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->keyword)); - _mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->keyword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->mui_dll) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->mui_dll)); - _mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mui_dll)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->display_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->display_name)); - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_FormInfo2"); - ndr->depth++; - ndr_print_spoolss_FormFlags(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "form_name", r->form_name); - ndr->depth++; - if (r->form_name) { - ndr_print_string(ndr, "form_name", r->form_name); - } - ndr->depth--; - ndr_print_spoolss_FormSize(ndr, "size", &r->size); - ndr_print_spoolss_FormArea(ndr, "area", &r->area); - ndr_print_ptr(ndr, "keyword", r->keyword); - ndr->depth++; - if (r->keyword) { - ndr_print_string(ndr, "keyword", r->keyword); - } - ndr->depth--; - ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type); - ndr_print_ptr(ndr, "mui_dll", r->mui_dll); - ndr->depth++; - if (r->mui_dll) { - ndr_print_string(ndr, "mui_dll", r->mui_dll); - } - ndr->depth--; - ndr_print_uint32(ndr, "ressource_id", r->ressource_id); - ndr_print_ptr(ndr, "display_name", r->display_name); - ndr->depth++; - if (r->display_name) { - ndr_print_string(ndr, "display_name", r->display_name); - } - ndr->depth--; - ndr_print_uint16(ndr, "lang_id", r->lang_id); - ndr_print_uint16(ndr, "unused", r->unused); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_FormInfo2(const struct spoolss_FormInfo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo2, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_FormInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_FormInfo"); - switch (level) { - case 1: - ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_spoolss_FormInfo2(ndr, "info2", &r->info2); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) -{ - flags |= LIBNDR_FLAG_RELATIVE_REVERSE; - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo, ic); -} - -static enum ndr_err_code ndr_push_spoolss_AddFormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name)); - NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->form_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddFormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo1 *r) -{ - uint32_t _ptr_form_name; - TALLOC_CTX *_mem_save_form_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name)); - if (_ptr_form_name) { - NDR_PULL_ALLOC(ndr, r->form_name); - } else { - r->form_name = NULL; - } - NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->form_name) { - _mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name)); - if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->form_name), ndr_get_array_length(ndr, &r->form_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddFormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddFormInfo1"); - ndr->depth++; - ndr_print_spoolss_FormFlags(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "form_name", r->form_name); - ndr->depth++; - if (r->form_name) { - ndr_print_string(ndr, "form_name", r->form_name); - } - ndr->depth--; - ndr_print_spoolss_FormSize(ndr, "size", &r->size); - ndr_print_spoolss_FormArea(ndr, "area", &r->area); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddFormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_AddFormInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name)); - NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->keyword)); - NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->mui_dll)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->display_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lang_id)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->form_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->form_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->form_name, ndr_charset_length(r->form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->keyword) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->keyword, CH_DOS))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->keyword, ndr_charset_length(r->keyword, CH_DOS), sizeof(uint8_t), CH_DOS)); - } - if (r->mui_dll) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->mui_dll, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->mui_dll, ndr_charset_length(r->mui_dll, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->display_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->display_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->display_name, ndr_charset_length(r->display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddFormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_AddFormInfo2 *r) -{ - uint32_t _ptr_form_name; - TALLOC_CTX *_mem_save_form_name_0; - uint32_t _ptr_keyword; - TALLOC_CTX *_mem_save_keyword_0; - uint32_t _ptr_mui_dll; - TALLOC_CTX *_mem_save_mui_dll_0; - uint32_t _ptr_display_name; - TALLOC_CTX *_mem_save_display_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name)); - if (_ptr_form_name) { - NDR_PULL_ALLOC(ndr, r->form_name); - } else { - r->form_name = NULL; - } - NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyword)); - if (_ptr_keyword) { - NDR_PULL_ALLOC(ndr, r->keyword); - } else { - r->keyword = NULL; - } - NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll)); - if (_ptr_mui_dll) { - NDR_PULL_ALLOC(ndr, r->mui_dll); - } else { - r->mui_dll = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, r->display_name); - } else { - r->display_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lang_id)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->form_name) { - _mem_save_form_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->form_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->form_name)); - if (ndr_get_array_length(ndr, &r->form_name) > ndr_get_array_size(ndr, &r->form_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->form_name), ndr_get_array_length(ndr, &r->form_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->form_name, ndr_get_array_length(ndr, &r->form_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0); - } - if (r->keyword) { - _mem_save_keyword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->keyword)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->keyword)); - if (ndr_get_array_length(ndr, &r->keyword) > ndr_get_array_size(ndr, &r->keyword)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->keyword), ndr_get_array_length(ndr, &r->keyword)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->keyword, ndr_get_array_length(ndr, &r->keyword), sizeof(uint8_t), CH_DOS)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0); - } - if (r->mui_dll) { - _mem_save_mui_dll_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->mui_dll)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->mui_dll)); - if (ndr_get_array_length(ndr, &r->mui_dll) > ndr_get_array_size(ndr, &r->mui_dll)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->mui_dll), ndr_get_array_length(ndr, &r->mui_dll)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->mui_dll, ndr_get_array_length(ndr, &r->mui_dll), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0); - } - if (r->display_name) { - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->display_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->display_name)); - if (ndr_get_array_length(ndr, &r->display_name) > ndr_get_array_size(ndr, &r->display_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->display_name), ndr_get_array_length(ndr, &r->display_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->display_name, ndr_get_array_length(ndr, &r->display_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddFormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddFormInfo2"); - ndr->depth++; - ndr_print_spoolss_FormFlags(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "form_name", r->form_name); - ndr->depth++; - if (r->form_name) { - ndr_print_string(ndr, "form_name", r->form_name); - } - ndr->depth--; - ndr_print_spoolss_FormSize(ndr, "size", &r->size); - ndr_print_spoolss_FormArea(ndr, "area", &r->area); - ndr_print_ptr(ndr, "keyword", r->keyword); - ndr->depth++; - if (r->keyword) { - ndr_print_string(ndr, "keyword", r->keyword); - } - ndr->depth--; - ndr_print_spoolss_FormStringType(ndr, "string_type", r->string_type); - ndr_print_ptr(ndr, "mui_dll", r->mui_dll); - ndr->depth++; - if (r->mui_dll) { - ndr_print_string(ndr, "mui_dll", r->mui_dll); - } - ndr->depth--; - ndr_print_uint32(ndr, "ressource_id", r->ressource_id); - ndr_print_ptr(ndr, "display_name", r->display_name); - ndr->depth++; - if (r->display_name) { - ndr_print_string(ndr, "display_name", r->display_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "lang_id", r->lang_id); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddFormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_AddFormInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddFormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_AddFormInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_spoolss_AddFormInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_spoolss_AddFormInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddFormInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddFormInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_AddFormInfo"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_spoolss_AddFormInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_spoolss_AddFormInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->port_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo1 *r) -{ - uint32_t _ptr_port_name; - TALLOC_CTX *_mem_save_port_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name)); - if (_ptr_port_name) { - NDR_PULL_ALLOC(ndr, r->port_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name)); - } else { - r->port_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->port_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name)); - _mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PortInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "port_name", r->port_name); - ndr->depth++; - if (r->port_name) { - ndr_print_string(ndr, "port_name", r->port_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PortInfo1(const struct spoolss_PortInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo1, ic); -} - -static enum ndr_err_code ndr_push_spoolss_PortType(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PortType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortType(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_WRITE", SPOOLSS_PORT_TYPE_WRITE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_READ", SPOOLSS_PORT_TYPE_READ, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_REDIRECTED", SPOOLSS_PORT_TYPE_REDIRECTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SPOOLSS_PORT_TYPE_NET_ATTACHED", SPOOLSS_PORT_TYPE_NET_ATTACHED, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->port_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->description) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo2 *r) -{ - uint32_t _ptr_port_name; - TALLOC_CTX *_mem_save_port_name_0; - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_description; - TALLOC_CTX *_mem_save_description_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name)); - if (_ptr_port_name) { - NDR_PULL_ALLOC(ndr, r->port_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name)); - } else { - r->port_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description)); - if (_ptr_description) { - NDR_PULL_ALLOC(ndr, r->description); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description)); - } else { - r->description = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->port_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name)); - _mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->description) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description)); - _mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->description, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PortInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "port_name", r->port_name); - ndr->depth++; - if (r->port_name) { - ndr_print_string(ndr, "port_name", r->port_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "description", r->description); - ndr->depth++; - if (r->description) { - ndr_print_string(ndr, "description", r->description); - } - ndr->depth--; - ndr_print_spoolss_PortType(ndr, "port_type", r->port_type); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PortInfo2(const struct spoolss_PortInfo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo2, ic); -} - -static enum ndr_err_code ndr_push_spoolss_PortStatus(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortStatus r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PortStatus(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortStatus *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortStatus(struct ndr_print *ndr, const char *name, enum spoolss_PortStatus r) -{ - const char *val = NULL; - - switch (r) { - case PORT_STATUS_CLEAR: val = "PORT_STATUS_CLEAR"; break; - case PORT_STATUS_OFFLINE: val = "PORT_STATUS_OFFLINE"; break; - case PORT_STATUS_PAPER_JAM: val = "PORT_STATUS_PAPER_JAM"; break; - case PORT_STATUS_PAPER_OUT: val = "PORT_STATUS_PAPER_OUT"; break; - case PORT_STATUS_OUTPUT_BIN_FULL: val = "PORT_STATUS_OUTPUT_BIN_FULL"; break; - case PORT_STATUS_PAPER_PROBLEM: val = "PORT_STATUS_PAPER_PROBLEM"; break; - case PORT_STATUS_NO_TONER: val = "PORT_STATUS_NO_TONER"; break; - case PORT_STATUS_DOOR_OPEN: val = "PORT_STATUS_DOOR_OPEN"; break; - case PORT_STATUS_USER_INTERVENTION: val = "PORT_STATUS_USER_INTERVENTION"; break; - case PORT_STATUS_OUT_OF_MEMORY: val = "PORT_STATUS_OUT_OF_MEMORY"; break; - case PORT_STATUS_TONER_LOW: val = "PORT_STATUS_TONER_LOW"; break; - case PORT_STATUS_WARMING_UP: val = "PORT_STATUS_WARMING_UP"; break; - case PORT_STATUS_POWER_SAVE: val = "PORT_STATUS_POWER_SAVE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_PortSeverity(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortSeverity r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PortSeverity(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortSeverity *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortSeverity(struct ndr_print *ndr, const char *name, enum spoolss_PortSeverity r) -{ - const char *val = NULL; - - switch (r) { - case PORT_STATUS_TYPE_ERROR: val = "PORT_STATUS_TYPE_ERROR"; break; - case PORT_STATUS_TYPE_WARNING: val = "PORT_STATUS_TYPE_WARNING"; break; - case PORT_STATUS_TYPE_INFO: val = "PORT_STATUS_TYPE_INFO"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_PortStatus(ndr, NDR_SCALARS, r->status)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->status_string)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_spoolss_PortSeverity(ndr, NDR_SCALARS, r->severity)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->status_string) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->status_string)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo3 *r) -{ - uint32_t _ptr_status_string; - TALLOC_CTX *_mem_save_status_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_PortStatus(ndr, NDR_SCALARS, &r->status)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_status_string)); - if (_ptr_status_string) { - NDR_PULL_ALLOC(ndr, r->status_string); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->status_string, _ptr_status_string)); - } else { - r->status_string = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_spoolss_PortSeverity(ndr, NDR_SCALARS, &r->severity)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->status_string) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->status_string)); - _mem_save_status_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->status_string, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->status_string)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_string_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PortInfo3"); - ndr->depth++; - ndr_print_spoolss_PortStatus(ndr, "status", r->status); - ndr_print_ptr(ndr, "status_string", r->status_string); - ndr->depth++; - if (r->status_string) { - ndr_print_string(ndr, "status_string", r->status_string); - } - ndr->depth--; - ndr_print_spoolss_PortSeverity(ndr, "severity", r->severity); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PortInfo3(const struct spoolss_PortInfo3 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfo3, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfoFF(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfoFF *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->monitor_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->port_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfoFF(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfoFF *r) -{ - uint32_t _ptr_port_name; - TALLOC_CTX *_mem_save_port_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name)); - if (_ptr_port_name) { - NDR_PULL_ALLOC(ndr, r->port_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->port_name, _ptr_port_name)); - } else { - r->port_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->monitor_data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->port_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->port_name)); - _mem_save_port_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortInfoFF(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfoFF *r) -{ - ndr_print_struct(ndr, name, "spoolss_PortInfoFF"); - ndr->depth++; - ndr_print_ptr(ndr, "port_name", r->port_name); - ndr->depth++; - if (r->port_name) { - ndr_print_string(ndr, "port_name", r->port_name); - } - ndr->depth--; - ndr_print_DATA_BLOB(ndr, "monitor_data", r->monitor_data); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PortInfoFF(const struct spoolss_PortInfoFF *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PortInfoFF, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 0xff: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 0xff: - NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PortInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - case 0xff: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - case 0xff: - NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_PortInfo"); - switch (level) { - case 1: - ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_spoolss_PortInfo3(ndr, "info3", &r->info3); - break; - - case 0xff: - ndr_print_spoolss_PortInfoFF(ndr, "infoFF", &r->infoFF); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo1 *r) -{ - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_MonitorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_MonitorInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo1(const struct spoolss_MonitorInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->environment)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->environment) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->environment)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dll_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dll_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo2 *r) -{ - uint32_t _ptr_monitor_name; - TALLOC_CTX *_mem_save_monitor_name_0; - uint32_t _ptr_environment; - TALLOC_CTX *_mem_save_environment_0; - uint32_t _ptr_dll_name; - TALLOC_CTX *_mem_save_dll_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); - if (_ptr_monitor_name) { - NDR_PULL_ALLOC(ndr, r->monitor_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->monitor_name, _ptr_monitor_name)); - } else { - r->monitor_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment)); - if (_ptr_environment) { - NDR_PULL_ALLOC(ndr, r->environment); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->environment, _ptr_environment)); - } else { - r->environment = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dll_name)); - if (_ptr_dll_name) { - NDR_PULL_ALLOC(ndr, r->dll_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dll_name, _ptr_dll_name)); - } else { - r->dll_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->monitor_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->monitor_name)); - _mem_save_monitor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->environment) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->environment)); - _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->environment, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->environment)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dll_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dll_name)); - _mem_save_dll_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dll_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dll_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_MonitorInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_MonitorInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "monitor_name", r->monitor_name); - ndr->depth++; - if (r->monitor_name) { - ndr_print_string(ndr, "monitor_name", r->monitor_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "environment", r->environment); - ndr->depth++; - if (r->environment) { - ndr_print_string(ndr, "environment", r->environment); - } - ndr->depth--; - ndr_print_ptr(ndr, "dll_name", r->dll_name); - ndr->depth++; - if (r->dll_name) { - ndr_print_string(ndr, "dll_name", r->dll_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_MonitorInfo2(const struct spoolss_MonitorInfo2 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_MonitorInfo2, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_MonitorInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_MonitorInfo"); - switch (level) { - case 1: - ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcDataTypesInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name_array)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->name_array) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name_array)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcDataTypesInfo1 *r) -{ - uint32_t _ptr_name_array; - TALLOC_CTX *_mem_save_name_array_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_array)); - if (_ptr_name_array) { - NDR_PULL_ALLOC(ndr, r->name_array); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->name_array, _ptr_name_array)); - } else { - r->name_array = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->name_array) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->name_array)); - _mem_save_name_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name_array, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name_array)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_array_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcDataTypesInfo1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrintProcDataTypesInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "name_array", r->name_array); - ndr->depth++; - if (r->name_array) { - ndr_print_string(ndr, "name_array", r->name_array); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrintProcDataTypesInfo1(const struct spoolss_PrintProcDataTypesInfo1 *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcDataTypesInfo1, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcDataTypesInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcDataTypesInfo *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - switch (level) { - case 1: - NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - default: - break; - - } - } - ndr->flags = _flags_save_UNION; - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcDataTypesInfo *r) -{ - int level; - { - uint32_t _flags_save_UNION = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE); - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_PrintProcDataTypesInfo"); - switch (level) { - case 1: - ndr_print_spoolss_PrintProcDataTypesInfo1(ndr, "info1", &r->info1); - break; - - default: - break; - - } - ndr->flags = _flags_save_UNION; - } -} - -static enum ndr_err_code ndr_push_spoolss_PrinterChangeFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PrinterChangeFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterChangeFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER", PRINTER_CHANGE_ADD_PRINTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER", PRINTER_CHANGE_SET_PRINTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER", PRINTER_CHANGE_DELETE_PRINTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_FAILED_CONNECTION_PRINTER", PRINTER_CHANGE_FAILED_CONNECTION_PRINTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_JOB", PRINTER_CHANGE_ADD_JOB, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_JOB", PRINTER_CHANGE_SET_JOB, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_JOB", PRINTER_CHANGE_DELETE_JOB, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_WRITE_JOB", PRINTER_CHANGE_WRITE_JOB, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_FORM", PRINTER_CHANGE_ADD_FORM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_FORM", PRINTER_CHANGE_SET_FORM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_FORM", PRINTER_CHANGE_DELETE_FORM, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PORT", PRINTER_CHANGE_ADD_PORT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_CONFIGURE_PORT", PRINTER_CHANGE_CONFIGURE_PORT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PORT", PRINTER_CHANGE_DELETE_PORT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINT_PROCESSOR", PRINTER_CHANGE_ADD_PRINT_PROCESSOR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINT_PROCESSOR", PRINTER_CHANGE_DELETE_PRINT_PROCESSOR, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SERVER", PRINTER_CHANGE_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_ADD_PRINTER_DRIVER", PRINTER_CHANGE_ADD_PRINTER_DRIVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_SET_PRINTER_DRIVER", PRINTER_CHANGE_SET_PRINTER_DRIVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_DELETE_PRINTER_DRIVER", PRINTER_CHANGE_DELETE_PRINTER_DRIVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_CHANGE_TIMEOUT", PRINTER_CHANGE_TIMEOUT, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobNotifyField r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_JobNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobNotifyField *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_JobNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_JobNotifyField r) -{ - const char *val = NULL; - - switch (r) { - case JOB_NOTIFY_FIELD_PRINTER_NAME: val = "JOB_NOTIFY_FIELD_PRINTER_NAME"; break; - case JOB_NOTIFY_FIELD_MACHINE_NAME: val = "JOB_NOTIFY_FIELD_MACHINE_NAME"; break; - case JOB_NOTIFY_FIELD_PORT_NAME: val = "JOB_NOTIFY_FIELD_PORT_NAME"; break; - case JOB_NOTIFY_FIELD_USER_NAME: val = "JOB_NOTIFY_FIELD_USER_NAME"; break; - case JOB_NOTIFY_FIELD_NOTIFY_NAME: val = "JOB_NOTIFY_FIELD_NOTIFY_NAME"; break; - case JOB_NOTIFY_FIELD_DATATYPE: val = "JOB_NOTIFY_FIELD_DATATYPE"; break; - case JOB_NOTIFY_FIELD_PRINT_PROCESSOR: val = "JOB_NOTIFY_FIELD_PRINT_PROCESSOR"; break; - case JOB_NOTIFY_FIELD_PARAMETERS: val = "JOB_NOTIFY_FIELD_PARAMETERS"; break; - case JOB_NOTIFY_FIELD_DRIVER_NAME: val = "JOB_NOTIFY_FIELD_DRIVER_NAME"; break; - case JOB_NOTIFY_FIELD_DEVMODE: val = "JOB_NOTIFY_FIELD_DEVMODE"; break; - case JOB_NOTIFY_FIELD_STATUS: val = "JOB_NOTIFY_FIELD_STATUS"; break; - case JOB_NOTIFY_FIELD_STATUS_STRING: val = "JOB_NOTIFY_FIELD_STATUS_STRING"; break; - case JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break; - case JOB_NOTIFY_FIELD_DOCUMENT: val = "JOB_NOTIFY_FIELD_DOCUMENT"; break; - case JOB_NOTIFY_FIELD_PRIORITY: val = "JOB_NOTIFY_FIELD_PRIORITY"; break; - case JOB_NOTIFY_FIELD_POSITION: val = "JOB_NOTIFY_FIELD_POSITION"; break; - case JOB_NOTIFY_FIELD_SUBMITTED: val = "JOB_NOTIFY_FIELD_SUBMITTED"; break; - case JOB_NOTIFY_FIELD_START_TIME: val = "JOB_NOTIFY_FIELD_START_TIME"; break; - case JOB_NOTIFY_FIELD_UNTIL_TIME: val = "JOB_NOTIFY_FIELD_UNTIL_TIME"; break; - case JOB_NOTIFY_FIELD_TIME: val = "JOB_NOTIFY_FIELD_TIME"; break; - case JOB_NOTIFY_FIELD_TOTAL_PAGES: val = "JOB_NOTIFY_FIELD_TOTAL_PAGES"; break; - case JOB_NOTIFY_FIELD_PAGES_PRINTED: val = "JOB_NOTIFY_FIELD_PAGES_PRINTED"; break; - case JOB_NOTIFY_FIELD_TOTAL_BYTES: val = "JOB_NOTIFY_FIELD_TOTAL_BYTES"; break; - case JOB_NOTIFY_FIELD_BYTES_PRINTED: val = "JOB_NOTIFY_FIELD_BYTES_PRINTED"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrintNotifyField r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrintNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrintNotifyField *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrintNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_PrintNotifyField r) -{ - const char *val = NULL; - - switch (r) { - case PRINTER_NOTIFY_FIELD_SERVER_NAME: val = "PRINTER_NOTIFY_FIELD_SERVER_NAME"; break; - case PRINTER_NOTIFY_FIELD_PRINTER_NAME: val = "PRINTER_NOTIFY_FIELD_PRINTER_NAME"; break; - case PRINTER_NOTIFY_FIELD_SHARE_NAME: val = "PRINTER_NOTIFY_FIELD_SHARE_NAME"; break; - case PRINTER_NOTIFY_FIELD_PORT_NAME: val = "PRINTER_NOTIFY_FIELD_PORT_NAME"; break; - case PRINTER_NOTIFY_FIELD_DRIVER_NAME: val = "PRINTER_NOTIFY_FIELD_DRIVER_NAME"; break; - case PRINTER_NOTIFY_FIELD_COMMENT: val = "PRINTER_NOTIFY_FIELD_COMMENT"; break; - case PRINTER_NOTIFY_FIELD_LOCATION: val = "PRINTER_NOTIFY_FIELD_LOCATION"; break; - case PRINTER_NOTIFY_FIELD_DEVMODE: val = "PRINTER_NOTIFY_FIELD_DEVMODE"; break; - case PRINTER_NOTIFY_FIELD_SEPFILE: val = "PRINTER_NOTIFY_FIELD_SEPFILE"; break; - case PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: val = "PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR"; break; - case PRINTER_NOTIFY_FIELD_PARAMETERS: val = "PRINTER_NOTIFY_FIELD_PARAMETERS"; break; - case PRINTER_NOTIFY_FIELD_DATATYPE: val = "PRINTER_NOTIFY_FIELD_DATATYPE"; break; - case PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: val = "PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR"; break; - case PRINTER_NOTIFY_FIELD_ATTRIBUTES: val = "PRINTER_NOTIFY_FIELD_ATTRIBUTES"; break; - case PRINTER_NOTIFY_FIELD_PRIORITY: val = "PRINTER_NOTIFY_FIELD_PRIORITY"; break; - case PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: val = "PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY"; break; - case PRINTER_NOTIFY_FIELD_START_TIME: val = "PRINTER_NOTIFY_FIELD_START_TIME"; break; - case PRINTER_NOTIFY_FIELD_UNTIL_TIME: val = "PRINTER_NOTIFY_FIELD_UNTIL_TIME"; break; - case PRINTER_NOTIFY_FIELD_STATUS: val = "PRINTER_NOTIFY_FIELD_STATUS"; break; - case PRINTER_NOTIFY_FIELD_STATUS_STRING: val = "PRINTER_NOTIFY_FIELD_STATUS_STRING"; break; - case PRINTER_NOTIFY_FIELD_CJOBS: val = "PRINTER_NOTIFY_FIELD_CJOBS"; break; - case PRINTER_NOTIFY_FIELD_AVERAGE_PPM: val = "PRINTER_NOTIFY_FIELD_AVERAGE_PPM"; break; - case PRINTER_NOTIFY_FIELD_TOTAL_PAGES: val = "PRINTER_NOTIFY_FIELD_TOTAL_PAGES"; break; - case PRINTER_NOTIFY_FIELD_PAGES_PRINTED: val = "PRINTER_NOTIFY_FIELD_PAGES_PRINTED"; break; - case PRINTER_NOTIFY_FIELD_TOTAL_BYTES: val = "PRINTER_NOTIFY_FIELD_TOTAL_BYTES"; break; - case PRINTER_NOTIFY_FIELD_BYTES_PRINTED: val = "PRINTER_NOTIFY_FIELD_BYTES_PRINTED"; break; - case PRINTER_NOTIFY_FIELD_OBJECT_GUID: val = "PRINTER_NOTIFY_FIELD_OBJECT_GUID"; break; - case PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: val = "PRINTER_NOTIFY_FIELD_FRIENDLY_NAME"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_NotifyType(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyType r) -{ - NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyType(struct ndr_print *ndr, const char *name, enum spoolss_NotifyType r) -{ - const char *val = NULL; - - switch (r) { - case PRINTER_NOTIFY_TYPE: val = "PRINTER_NOTIFY_TYPE"; break; - case JOB_NOTIFY_TYPE: val = "JOB_NOTIFY_TYPE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_Field(struct ndr_push *ndr, int ndr_flags, const union spoolss_Field *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 2)); - switch (level) { - case PRINTER_NOTIFY_TYPE: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field)); - break; } - - case JOB_NOTIFY_TYPE: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field)); - break; } - - default: { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case PRINTER_NOTIFY_TYPE: - break; - - case JOB_NOTIFY_TYPE: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_Field(struct ndr_pull *ndr, int ndr_flags, union spoolss_Field *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 2)); - switch (level) { - case PRINTER_NOTIFY_TYPE: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field)); - break; } - - case JOB_NOTIFY_TYPE: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field)); - break; } - - default: { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field)); - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case PRINTER_NOTIFY_TYPE: - break; - - case JOB_NOTIFY_TYPE: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_push_spoolss_NotifyOptionType(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOptionType *r) -{ - uint32_t cntr_fields_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->u1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->fields)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->fields) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type)); - NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyOptionType(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOptionType *r) -{ - uint32_t _ptr_fields; - uint32_t cntr_fields_1; - TALLOC_CTX *_mem_save_fields_0; - TALLOC_CTX *_mem_save_fields_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->u1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->u3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_fields)); - if (_ptr_fields) { - NDR_PULL_ALLOC(ndr, r->fields); - } else { - r->fields = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->fields) { - _mem_save_fields_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->fields)); - NDR_PULL_ALLOC_N(ndr, r->fields, ndr_get_array_size(ndr, &r->fields)); - _mem_save_fields_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->fields, 0); - for (cntr_fields_1 = 0; cntr_fields_1 < r->count; cntr_fields_1++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type)); - NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->fields[cntr_fields_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_fields_0, 0); - } - if (r->fields) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->fields, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyOptionType(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionType *r) -{ - uint32_t cntr_fields_1; - ndr_print_struct(ndr, name, "spoolss_NotifyOptionType"); - ndr->depth++; - ndr_print_spoolss_NotifyType(ndr, "type", r->type); - ndr_print_uint16(ndr, "u1", r->u1); - ndr_print_uint32(ndr, "u2", r->u2); - ndr_print_uint32(ndr, "u3", r->u3); - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "fields", r->fields); - ndr->depth++; - if (r->fields) { - ndr->print(ndr, "%s: ARRAY(%d)", "fields", (int)r->count); - ndr->depth++; - for (cntr_fields_1=0;cntr_fields_1count;cntr_fields_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_fields_1) != -1) { - ndr_print_set_switch_value(ndr, &r->fields[cntr_fields_1], r->type); - ndr_print_spoolss_Field(ndr, "fields", &r->fields[cntr_fields_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolssNotifyOptionFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolssNotifyOptionFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolssNotifyOptionFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_OPTIONS_REFRESH", PRINTER_NOTIFY_OPTIONS_REFRESH, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_NotifyOption(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyOption *r) -{ - uint32_t cntr_types_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2)); - NDR_CHECK(ndr_push_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->types)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->types) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) { - NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1])); - } - for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) { - NDR_CHECK(ndr_push_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyOption(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyOption *r) -{ - uint32_t _ptr_types; - uint32_t cntr_types_1; - TALLOC_CTX *_mem_save_types_0; - TALLOC_CTX *_mem_save_types_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types)); - if (_ptr_types) { - NDR_PULL_ALLOC(ndr, r->types); - } else { - r->types = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->types) { - _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->types, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->types)); - NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types)); - _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->types, 0); - for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) { - NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_SCALARS, &r->types[cntr_types_1])); - } - for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) { - NDR_CHECK(ndr_pull_spoolss_NotifyOptionType(ndr, NDR_BUFFERS, &r->types[cntr_types_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0); - } - if (r->types) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyOption(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOption *r) -{ - uint32_t cntr_types_1; - ndr_print_struct(ndr, name, "spoolss_NotifyOption"); - ndr->depth++; - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version); - ndr_print_spoolssNotifyOptionFlags(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "types", r->types); - ndr->depth++; - if (r->types) { - ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count); - ndr->depth++; - for (cntr_types_1=0;cntr_types_1count;cntr_types_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) { - ndr_print_spoolss_NotifyOptionType(ndr, "types", &r->types[cntr_types_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_NotifyString(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, r->size / 2, sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyString(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyString *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_size(ndr, &r->string), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - if (r->string) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyString(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyString *r) -{ - ndr_print_struct(ndr, name, "spoolss_NotifyString"); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_NotifyTable(struct ndr_push *ndr, int ndr_flags, enum spoolss_NotifyTable r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyTable(struct ndr_pull *ndr, int ndr_flags, enum spoolss_NotifyTable *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyTable(struct ndr_print *ndr, const char *name, enum spoolss_NotifyTable r) -{ - const char *val = NULL; - - switch (r) { - case NOTIFY_TABLE_DWORD: val = "NOTIFY_TABLE_DWORD"; break; - case NOTIFY_TABLE_STRING: val = "NOTIFY_TABLE_STRING"; break; - case NOTIFY_TABLE_DEVMODE: val = "NOTIFY_TABLE_DEVMODE"; break; - case NOTIFY_TABLE_TIME: val = "NOTIFY_TABLE_TIME"; break; - case NOTIFY_TABLE_SECURITYDESCRIPTOR: val = "NOTIFY_TABLE_SECURITYDESCRIPTOR"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_spoolss_NotifyData(struct ndr_push *ndr, int ndr_flags, const union spoolss_NotifyData *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t cntr_integer_0; - for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->integer[cntr_integer_0])); - } - break; } - - case 2: { - NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string)); - break; } - - case 3: { - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode)); - break; } - - case 4: { - NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time)); - break; } - - case 5: { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sd)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - break; - - case 2: - NDR_CHECK(ndr_push_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string)); - break; - - case 3: - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode)); - break; - - case 4: - NDR_CHECK(ndr_push_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time)); - break; - - case 5: - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyData(struct ndr_pull *ndr, int ndr_flags, union spoolss_NotifyData *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t cntr_integer_0; - for (cntr_integer_0 = 0; cntr_integer_0 < 2; cntr_integer_0++) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->integer[cntr_integer_0])); - } - break; } - - case 2: { - NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_SCALARS, &r->string)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS, &r->devmode)); - break; } - - case 4: { - NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_SCALARS, &r->time)); - break; } - - case 5: { - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sd)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - break; - - case 2: - NDR_CHECK(ndr_pull_spoolss_NotifyString(ndr, NDR_BUFFERS, &r->string)); - break; - - case 3: - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_BUFFERS, &r->devmode)); - break; - - case 4: - NDR_CHECK(ndr_pull_spoolss_TimeCtr(ndr, NDR_BUFFERS, &r->time)); - break; - - case 5: - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyData(struct ndr_print *ndr, const char *name, const union spoolss_NotifyData *r) -{ - int level; - uint32_t cntr_integer_0; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_NotifyData"); - switch (level) { - case 1: - ndr->print(ndr, "%s: ARRAY(%d)", "integer", (int)2); - ndr->depth++; - for (cntr_integer_0=0;cntr_integer_0<2;cntr_integer_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_integer_0) != -1) { - ndr_print_uint32(ndr, "integer", r->integer[cntr_integer_0]); - free(idx_0); - } - } - ndr->depth--; - break; - - case 2: - ndr_print_spoolss_NotifyString(ndr, "string", &r->string); - break; - - case 3: - ndr_print_spoolss_DevmodeContainer(ndr, "devmode", &r->devmode); - break; - - case 4: - ndr_print_spoolss_TimeCtr(ndr, "time", &r->time); - break; - - case 5: - ndr_print_sec_desc_buf(ndr, "sd", &r->sd); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_spoolss_Notify(struct ndr_push *ndr, int ndr_flags, const struct spoolss_Notify *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_spoolss_NotifyType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->field, r->type)); - NDR_CHECK(ndr_push_spoolss_Field(ndr, NDR_SCALARS, &r->field)); - NDR_CHECK(ndr_push_spoolss_NotifyTable(ndr, NDR_SCALARS, r->variable_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->variable_type)); - NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_Notify(struct ndr_pull *ndr, int ndr_flags, struct spoolss_Notify *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_spoolss_NotifyType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->field, r->type)); - NDR_CHECK(ndr_pull_spoolss_Field(ndr, NDR_SCALARS, &r->field)); - NDR_CHECK(ndr_pull_spoolss_NotifyTable(ndr, NDR_SCALARS, &r->variable_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->variable_type)); - NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_Notify(struct ndr_print *ndr, const char *name, const struct spoolss_Notify *r) -{ - ndr_print_struct(ndr, name, "spoolss_Notify"); - ndr->depth++; - ndr_print_spoolss_NotifyType(ndr, "type", r->type); - ndr_print_set_switch_value(ndr, &r->field, r->type); - ndr_print_spoolss_Field(ndr, "field", &r->field); - ndr_print_spoolss_NotifyTable(ndr, "variable_type", r->variable_type); - ndr_print_uint32(ndr, "job_id", r->job_id); - ndr_print_set_switch_value(ndr, &r->data, r->variable_type); - ndr_print_spoolss_NotifyData(ndr, "data", &r->data); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_NotifyInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_NotifyInfo *r) -{ - uint32_t cntr_notifies_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) { - NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) { - NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0])); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_NotifyInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_NotifyInfo *r) -{ - uint32_t cntr_notifies_0; - TALLOC_CTX *_mem_save_notifies_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->notifies)); - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_PULL_ALLOC_N(ndr, r->notifies, ndr_get_array_size(ndr, &r->notifies)); - _mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0); - for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) { - NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0); - if (r->notifies) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->notifies, r->count)); - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - _mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->notifies, 0); - for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) { - NDR_CHECK(ndr_pull_spoolss_Notify(ndr, NDR_BUFFERS, &r->notifies[cntr_notifies_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notifies_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_NotifyInfo(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyInfo *r) -{ - uint32_t cntr_notifies_0; - ndr_print_struct(ndr, name, "spoolss_NotifyInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version); - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "count", r->count); - ndr->print(ndr, "%s: ARRAY(%d)", "notifies", (int)r->count); - ndr->depth++; - for (cntr_notifies_0=0;cntr_notifies_0count;cntr_notifies_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_notifies_0) != -1) { - ndr_print_spoolss_Notify(ndr, "notifies", &r->notifies[cntr_notifies_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ReplyPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_ReplyPrinterInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ReplyPrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_ReplyPrinterInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ReplyPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_ReplyPrinterInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_ReplyPrinterInfo"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_spoolss_NotifyInfo(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_spoolss_PrinterNotifyFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PrinterNotifyFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterNotifyFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDED", PRINTER_NOTIFY_INFO_DISCARDED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_DISCARDNOTED", PRINTER_NOTIFY_INFO_DISCARDNOTED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_NOTIFY_INFO_COLOR_MISMATCH", PRINTER_NOTIFY_INFO_COLOR_MISMATCH, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_UserLevel1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build)); - NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major)); - NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor)); - NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_UserLevel1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel1 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build)); - NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major)); - NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor)); - NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_UserLevel1(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_UserLevel1"); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "build", r->build); - ndr_print_spoolss_MajorVersion(ndr, "major", r->major); - ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor); - ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_UserLevel2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->not_used)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_UserLevel2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->not_used)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_UserLevel2(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_UserLevel2"); - ndr->depth++; - ndr_print_uint32(ndr, "not_used", r->not_used); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_UserLevel3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevel3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size2)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->build)); - NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major)); - NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor)); - NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_UserLevel3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevel3 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size2)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->build)); - NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major)); - NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor)); - NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_UserLevel3(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel3 *r) -{ - ndr_print_struct(ndr, name, "spoolss_UserLevel3"); - ndr->depth++; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "size2", r->size2); - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "build", r->build); - ndr_print_spoolss_MajorVersion(ndr, "major", r->major); - ndr_print_spoolss_MinorVersion(ndr, "minor", r->minor); - ndr_print_spoolss_ProcessorArchitecture(ndr, "processor", r->processor); - ndr_print_udlong(ndr, "reserved", r->reserved); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_UserLevel(struct ndr_push *ndr, int ndr_flags, const union spoolss_UserLevel *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->level1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->level2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->level3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->level1) { - NDR_CHECK(ndr_push_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1)); - } - break; - - case 2: - if (r->level2) { - NDR_CHECK(ndr_push_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2)); - } - break; - - case 3: - if (r->level3) { - NDR_CHECK(ndr_push_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_UserLevel(struct ndr_pull *ndr, int ndr_flags, union spoolss_UserLevel *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_level1_0; - TALLOC_CTX *_mem_save_level2_0; - TALLOC_CTX *_mem_save_level3_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_level1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level1)); - if (_ptr_level1) { - NDR_PULL_ALLOC(ndr, r->level1); - } else { - r->level1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_level2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level2)); - if (_ptr_level2) { - NDR_PULL_ALLOC(ndr, r->level2); - } else { - r->level2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_level3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_level3)); - if (_ptr_level3) { - NDR_PULL_ALLOC(ndr, r->level3); - } else { - r->level3 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->level1) { - _mem_save_level1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->level1, 0); - NDR_CHECK(ndr_pull_spoolss_UserLevel1(ndr, NDR_SCALARS|NDR_BUFFERS, r->level1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level1_0, 0); - } - break; - - case 2: - if (r->level2) { - _mem_save_level2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->level2, 0); - NDR_CHECK(ndr_pull_spoolss_UserLevel2(ndr, NDR_SCALARS, r->level2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level2_0, 0); - } - break; - - case 3: - if (r->level3) { - _mem_save_level3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->level3, 0); - NDR_CHECK(ndr_pull_spoolss_UserLevel3(ndr, NDR_SCALARS|NDR_BUFFERS, r->level3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level3_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_UserLevel"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "level1", r->level1); - ndr->depth++; - if (r->level1) { - ndr_print_spoolss_UserLevel1(ndr, "level1", r->level1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "level2", r->level2); - ndr->depth++; - if (r->level2) { - ndr_print_spoolss_UserLevel2(ndr, "level2", r->level2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "level3", r->level3); - ndr->depth++; - if (r->level3) { - ndr_print_spoolss_UserLevel3(ndr, "level3", r->level3); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_spoolss_UserLevelCtr(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UserLevelCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->user_info, r->level)); - NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_UserLevelCtr(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UserLevelCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->user_info, r->level)); - NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevelCtr *r) -{ - ndr_print_struct(ndr, name, "spoolss_UserLevelCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->user_info, r->level); - ndr_print_spoolss_UserLevel(ndr, "user_info", &r->user_info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AccessRights(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AccessRights(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ADMINISTER", SERVER_ACCESS_ADMINISTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SERVER_ACCESS_ENUMERATE", SERVER_ACCESS_ENUMERATE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_ADMINISTER", PRINTER_ACCESS_ADMINISTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PRINTER_ACCESS_USE", PRINTER_ACCESS_USE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_ADMINISTER", JOB_ACCESS_ADMINISTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "JOB_ACCESS_READ", JOB_ACCESS_READ, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterEnumValues *r) -{ - uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->value_name))); - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data)); - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data->length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->value_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (r->data) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data)); - { - struct ndr_push *_ndr_data; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data->length)); - NDR_CHECK(ndr_push_DATA_BLOB(_ndr_data, NDR_SCALARS, *r->data)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data->length)); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data)); - } - ndr->flags = _flags_save_DATA_BLOB; - } - } - ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterEnumValues(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterEnumValues *r) -{ - uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr); - uint32_t _ptr_value_name; - TALLOC_CTX *_mem_save_value_name_0; - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_name)); - if (_ptr_value_name) { - NDR_PULL_ALLOC(ndr, r->value_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->value_name, _ptr_value_name)); - } else { - r->value_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value_name_len)); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type)); - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->data, _ptr_data)); - } else { - r->data = NULL; - } - ndr->flags = _flags_save_DATA_BLOB; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_length)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->value_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->value_name)); - _mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->value_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->value_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_DATA_BLOB = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); - if (r->data) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->data)); - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - { - struct ndr_pull *_ndr_data; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 0, r->data_length)); - NDR_CHECK(ndr_pull_DATA_BLOB(_ndr_data, NDR_SCALARS, r->data)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 0, r->data_length)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_DATA_BLOB; - } - } - ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterEnumValues(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterEnumValues *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterEnumValues"); - ndr->depth++; - ndr_print_ptr(ndr, "value_name", r->value_name); - ndr->depth++; - if (r->value_name) { - ndr_print_string(ndr, "value_name", r->value_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "value_name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->value_name):r->value_name_len); - ndr_print_winreg_Type(ndr, "type", r->type); - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_DATA_BLOB(ndr, "data", *r->data); - } - ndr->depth--; - ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data->length:r->data_length); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_spoolss_PrinterEnumValues(const struct spoolss_PrinterEnumValues *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterEnumValues, ic); -} - -static enum ndr_err_code ndr_push_spoolss_KeyNames(struct ndr_push *ndr, int ndr_flags, const union spoolss_KeyNames *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 0: { - break; } - - case 1: { - break; } - - default: { - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array)); - ndr->flags = _flags_save_string_array; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - break; - - case 1: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_KeyNames(struct ndr_pull *ndr, int ndr_flags, union spoolss_KeyNames *r) -{ - int level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 0: { - break; } - - case 1: { - break; } - - default: { - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array)); - ndr->flags = _flags_save_string_array; - } - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - break; - - case 1: - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_KeyNames(struct ndr_print *ndr, const char *name, const union spoolss_KeyNames *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "spoolss_KeyNames"); - switch (level) { - case 0: - break; - - case 1: - break; - - default: - ndr_print_string_array(ndr, "string_array", r->string_array); - break; - - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_UNUSED_FILES", DPD_DELETE_UNUSED_FILES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_SPECIFIC_VERSION", DPD_DELETE_SPECIFIC_VERSION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_ALL_FILES", DPD_DELETE_ALL_FILES, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_PortProtocol(struct ndr_push *ndr, int ndr_flags, enum spoolss_PortProtocol r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PortProtocol(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PortProtocol *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortProtocol(struct ndr_print *ndr, const char *name, enum spoolss_PortProtocol r) -{ - const char *val = NULL; - - switch (r) { - case PROTOCOL_RAWTCP_TYPE: val = "PROTOCOL_RAWTCP_TYPE"; break; - case PROTOCOL_LPR_TYPE: val = "PROTOCOL_LPR_TYPE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000001)); - NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 49, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->ip_address, 16, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hardware_address, 13, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 49, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->ip_address, 16, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hardware_address, 13, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *name, const struct spoolss_PortData1 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PortData1"); - ndr->depth++; - ndr_print_string(ndr, "portname", r->portname); - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000001:r->version); - ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol); - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr_print_string(ndr, "hostaddress", r->hostaddress); - ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity); - ndr_print_uint32(ndr, "dblspool", r->dblspool); - ndr_print_string(ndr, "queue", r->queue); - ndr_print_string(ndr, "ip_address", r->ip_address); - ndr_print_string(ndr, "hardware_address", r->hardware_address); - ndr_print_string(ndr, "device_type", r->device_type); - ndr_print_uint32(ndr, "port_number", r->port_number); - ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled); - ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->portname, 64, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x00000002)); - NDR_CHECK(ndr_push_spoolss_PortProtocol(ndr, NDR_SCALARS, r->protocol)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, sizeof(r))); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->hostaddress, 128, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dblspool)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->queue, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device_type, 257, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_monitor_mib_index)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->portname, 64, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_spoolss_PortProtocol(ndr, NDR_SCALARS, &r->protocol)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->hostaddress, 128, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->snmpcommunity, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dblspool)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->queue, 33, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device_type, 257, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_monitor_mib_index)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_PortData2"); - ndr->depth++; - ndr_print_string(ndr, "portname", r->portname); - ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0x00000002:r->version); - ndr_print_spoolss_PortProtocol(ndr, "protocol", r->protocol); - ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?sizeof(r):r->size); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr_print_string(ndr, "hostaddress", r->hostaddress); - ndr_print_string(ndr, "snmpcommunity", r->snmpcommunity); - ndr_print_uint32(ndr, "dblspool", r->dblspool); - ndr_print_string(ndr, "queue", r->queue); - ndr_print_string(ndr, "device_type", r->device_type); - ndr_print_uint32(ndr, "port_number", r->port_number); - ndr_print_uint32(ndr, "snmp_enabled", r->snmp_enabled); - ndr_print_uint32(ndr, "snmp_dev_index", r->snmp_dev_index); - ndr_print_uint32(ndr, "port_monitor_mib_index", r->port_monitor_mib_index); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_MonitorUi(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorUi *r) -{ - ndr_print_struct(ndr, name, "spoolss_MonitorUi"); - ndr->depth++; - ndr_print_string(ndr, "dll_name", r->dll_name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrinterDriverExFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverExFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverExFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_UPGRADE", APD_STRICT_UPGRADE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_STRICT_DOWNGRADE", APD_STRICT_DOWNGRADE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_ALL_FILES", APD_COPY_ALL_FILES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_NEW_FILES", APD_COPY_NEW_FILES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_FROM_DIRECTORY", APD_COPY_FROM_DIRECTORY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_DONT_COPY_FILES_TO_CLUSTER", APD_DONT_COPY_FILES_TO_CLUSTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_COPY_TO_ALL_SPOOLERS", APD_COPY_TO_ALL_SPOOLERS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "APD_RETURN_BLOCKING_STATUS_CODE", APD_RETURN_BLOCKING_STATUS_CODE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_CorePrinterDriver(struct ndr_push *ndr, int ndr_flags, const struct spoolss_CorePrinterDriver *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->core_driver_guid)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 520, sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_CorePrinterDriver(struct ndr_pull *ndr, int ndr_flags, struct spoolss_CorePrinterDriver *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->core_driver_guid)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 520, sizeof(uint8_t), CH_UTF8)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_CorePrinterDriver(struct ndr_print *ndr, const char *name, const struct spoolss_CorePrinterDriver *r) -{ - ndr_print_struct(ndr, name, "spoolss_CorePrinterDriver"); - ndr->depth++; - ndr_print_GUID(ndr, "core_driver_guid", &r->core_driver_guid); - ndr_print_NTTIME(ndr, "driver_date", r->driver_date); - ndr_print_hyper(ndr, "driver_version", r->driver_version); - ndr_print_string(ndr, "formname", r->formname); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinters *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinters *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_spoolss_EnumPrinterFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinters *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinters *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_PrinterInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinters *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumPrinters"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrinters"); - ndr->depth++; - ndr_print_spoolss_EnumPrinterFlags(ndr, "flags", r->in.flags); - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrinters"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_PrinterInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinter *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername)); - if (r->in.printername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype)); - if (r->in.datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr)); - NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinter *r) -{ - uint32_t _ptr_printername; - uint32_t _ptr_datatype; - TALLOC_CTX *_mem_save_printername_0; - TALLOC_CTX *_mem_save_datatype_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->in.printername); - } else { - r->in.printername = NULL; - } - if (r->in.printername) { - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername)); - if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.printername), ndr_get_array_length(ndr, &r->in.printername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype)); - if (_ptr_datatype) { - NDR_PULL_ALLOC(ndr, r->in.datatype); - } else { - r->in.datatype = NULL; - } - if (r->in.datatype) { - _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype)); - if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.datatype), ndr_get_array_length(ndr, &r->in.datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0); - } - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr)); - NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_OpenPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_OpenPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->in.printername); - ndr->depth++; - if (r->in.printername) { - ndr_print_string(ndr, "printername", r->in.printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "datatype", r->in.datatype); - ndr->depth++; - if (r->in.datatype) { - ndr_print_string(ndr, "datatype", r->in.datatype); - } - ndr->depth--; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr); - ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_OpenPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetJob(struct ndr_push *ndr, int flags, const struct spoolss_SetJob *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ctr)); - if (r->in.ctr) { - NDR_CHECK(ndr_push_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr)); - } - NDR_CHECK(ndr_push_spoolss_JobControl(ndr, NDR_SCALARS, r->in.command)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetJob(struct ndr_pull *ndr, int flags, struct spoolss_SetJob *r) -{ - uint32_t _ptr_ctr; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr)); - if (_ptr_ctr) { - NDR_PULL_ALLOC(ndr, r->in.ctr); - } else { - r->in.ctr = NULL; - } - if (r->in.ctr) { - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, 0); - NDR_CHECK(ndr_pull_spoolss_JobInfoContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, 0); - } - NDR_CHECK(ndr_pull_spoolss_JobControl(ndr, NDR_SCALARS, &r->in.command)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetJob *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetJob"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_SetJob"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "job_id", r->in.job_id); - ndr_print_ptr(ndr, "ctr", r->in.ctr); - ndr->depth++; - if (r->in.ctr) { - ndr_print_spoolss_JobInfoContainer(ndr, "ctr", r->in.ctr); - } - ndr->depth--; - ndr_print_spoolss_JobControl(ndr, "command", r->in.command); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_SetJob"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetJob(struct ndr_push *ndr, int flags, const struct spoolss_GetJob *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.job_id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetJob(struct ndr_pull *ndr, int flags, struct spoolss_GetJob *r) -{ - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.job_id)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_JobInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetJob *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetJob"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetJob"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "job_id", r->in.job_id); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetJob"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_JobInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct _spoolss_EnumJobs *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.firstjob)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.numjobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct _spoolss_EnumJobs *r) -{ - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.firstjob)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.numjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct __spoolss_EnumJobs *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct __spoolss_EnumJobs *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumJobs *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumJobs"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumJobs"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "firstjob", r->in.firstjob); - ndr_print_uint32(ndr, "numjobs", r->in.numjobs); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumJobs"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_JobInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinter *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - if (r->in.devmode_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - if (r->in.secdesc_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinter *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_devmode_ctr_0; - TALLOC_CTX *_mem_save_secdesc_ctr_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.devmode_ctr); - } - _mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr); - } - _mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth++; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr); - ndr->depth++; - ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinter(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinter(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - if (r->in.devmode_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - if (r->in.secdesc_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr)); - NDR_CHECK(ndr_push_spoolss_PrinterControl(ndr, NDR_SCALARS, r->in.command)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_devmode_ctr_0; - TALLOC_CTX *_mem_save_secdesc_ctr_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.devmode_ctr); - } - _mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr); - } - _mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_PrinterControl(ndr, NDR_SCALARS, &r->in.command)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_SetPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth++; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr); - ndr->depth++; - ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr); - ndr->depth--; - ndr_print_spoolss_PrinterControl(ndr, "command", r->in.command); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_SetPrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinter *r) -{ - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_PrinterInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_PrinterInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriver *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriver *r) -{ - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_info_ctr_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriver *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrinterDriver"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriver"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriver"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDrivers *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment)); - if (r->in.environment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDrivers *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_environment; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_environment_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment)); - if (_ptr_environment) { - NDR_PULL_ALLOC(ndr, r->in.environment); - } else { - r->in.environment = NULL; - } - if (r->in.environment) { - _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment)); - if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDrivers *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDrivers *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDrivers *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumPrinterDrivers"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDrivers"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "environment", r->in.environment); - ndr->depth++; - if (r->in.environment) { - ndr_print_string(ndr, "environment", r->in.environment); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDrivers"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_DriverInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture)); - if (r->in.architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver *r) -{ - uint32_t _ptr_architecture; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_architecture_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->in.architecture); - } else { - r->in.architecture = NULL; - } - if (r->in.architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->in.architecture); - ndr->depth++; - if (r->in.architecture) { - ndr_print_string(ndr, "architecture", r->in.architecture); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_GetPrinterDriverDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverDirectory *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment)); - if (r->in.environment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverDirectory *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_environment; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_environment_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment)); - if (_ptr_environment) { - NDR_PULL_ALLOC(ndr, r->in.environment); - } else { - r->in.environment = NULL; - } - if (r->in.environment) { - _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment)); - if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverDirectory *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverDirectory"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverDirectory"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "environment", r->in.environment); - ndr->depth++; - if (r->in.environment) { - ndr_print_string(ndr, "environment", r->in.environment); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverDirectory"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_DriverDirectoryInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriver(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriver *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriver(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriver *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver)); - if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.driver), ndr_get_array_length(ndr, &r->in.driver)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriver *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriver"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriver"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_string(ndr, "architecture", r->in.architecture); - ndr_print_string(ndr, "driver", r->in.driver); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriver"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProcessor *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path_name, ndr_charset_length(r->in.path_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.print_processor_name, ndr_charset_length(r->in.print_processor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProcessor *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path_name)); - if (ndr_get_array_length(ndr, &r->in.path_name) > ndr_get_array_size(ndr, &r->in.path_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path_name), ndr_get_array_length(ndr, &r->in.path_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path_name, ndr_get_array_length(ndr, &r->in.path_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name)); - if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.print_processor_name), ndr_get_array_length(ndr, &r->in.print_processor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.print_processor_name, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProcessor *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrintProcessor"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrintProcessor"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_string(ndr, "architecture", r->in.architecture); - ndr_print_string(ndr, "path_name", r->in.path_name); - ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrintProcessor"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcessors *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment)); - if (r->in.environment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcessors *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_environment; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_environment_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment)); - if (_ptr_environment) { - NDR_PULL_ALLOC(ndr, r->in.environment); - } else { - r->in.environment = NULL; - } - if (r->in.environment) { - _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment)); - if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcessors *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcessors *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcessors *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumPrintProcessors"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcessors"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "environment", r->in.environment); - ndr->depth++; - if (r->in.environment) { - ndr_print_string(ndr, "environment", r->in.environment); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcessors"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_PrintProcessorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetPrintProcessorDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrintProcessorDirectory *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.environment)); - if (r->in.environment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.environment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.environment, ndr_charset_length(r->in.environment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetPrintProcessorDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrintProcessorDirectory *r) -{ - uint32_t _ptr_server; - uint32_t _ptr_environment; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_environment_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment)); - if (_ptr_environment) { - NDR_PULL_ALLOC(ndr, r->in.environment); - } else { - r->in.environment = NULL; - } - if (r->in.environment) { - _mem_save_environment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.environment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.environment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.environment)); - if (ndr_get_array_length(ndr, &r->in.environment) > ndr_get_array_size(ndr, &r->in.environment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.environment), ndr_get_array_length(ndr, &r->in.environment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.environment, ndr_get_array_length(ndr, &r->in.environment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo(_ndr_info, NDR_SCALARS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrintProcessorDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrintProcessorDirectory *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrintProcessorDirectory"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrintProcessorDirectory"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "environment", r->in.environment); - ndr->depth++; - if (r->in.environment) { - ndr_print_string(ndr, "environment", r->in.environment); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrintProcessorDirectory"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_PrintProcessorDirectoryInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_StartDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartDocPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - if (r->out.job_id == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.job_id)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_StartDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartDocPrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_job_id_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_DocumentInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - NDR_PULL_ALLOC(ndr, r->out.job_id); - ZERO_STRUCTP(r->out.job_id); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.job_id); - } - _mem_save_job_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.job_id, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.job_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_job_id_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_StartDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartDocPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_StartDocPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_StartDocPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.level); - ndr_print_spoolss_DocumentInfo(ndr, "info", &r->in.info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_StartDocPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "job_id", r->out.job_id); - ndr->depth++; - ndr_print_uint32(ndr, "job_id", *r->out.job_id); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_StartPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_StartPagePrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_StartPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_StartPagePrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_StartPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartPagePrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_StartPagePrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_StartPagePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_StartPagePrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_WritePrinter(struct ndr_push *ndr, int flags, const struct spoolss_WritePrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data.length)); - } - if (flags & NDR_OUT) { - if (r->out.num_written == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_written)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_WritePrinter(struct ndr_pull *ndr, int flags, struct spoolss_WritePrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_num_written_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.data)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._data_size)); - NDR_PULL_ALLOC(ndr, r->out.num_written); - ZERO_STRUCTP(r->out.num_written); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_written); - } - _mem_save_num_written_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_written, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_written)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_written_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_WritePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WritePrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_WritePrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_WritePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_DATA_BLOB(ndr, "data", r->in.data); - ndr_print_uint32(ndr, "_data_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.data.length:r->in._data_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_WritePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "num_written", r->out.num_written); - ndr->depth++; - ndr_print_uint32(ndr, "num_written", *r->out.num_written); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_EndPagePrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndPagePrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_EndPagePrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndPagePrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EndPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndPagePrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_EndPagePrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EndPagePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EndPagePrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AbortPrinter(struct ndr_push *ndr, int flags, const struct spoolss_AbortPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AbortPrinter(struct ndr_pull *ndr, int flags, struct spoolss_AbortPrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AbortPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AbortPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_AbortPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AbortPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AbortPrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ReadPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReadPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_size)); - } - if (flags & NDR_OUT) { - if (r->out.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_size)); - if (r->out._data_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._data_size)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ReadPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReadPrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save__data_size_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_size)); - NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_size); - memset(r->out.data, 0, (r->in.data_size) * sizeof(*r->out.data)); - NDR_PULL_ALLOC(ndr, r->out._data_size); - ZERO_STRUCTP(r->out._data_size); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out._data_size); - } - _mem_save__data_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out._data_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._data_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save__data_size_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ReadPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReadPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_ReadPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ReadPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "data_size", r->in.data_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ReadPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_size); - ndr->depth--; - ndr_print_ptr(ndr, "_data_size", r->out._data_size); - ndr->depth++; - ndr_print_uint32(ndr, "_data_size", *r->out._data_size); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_EndDocPrinter(struct ndr_push *ndr, int flags, const struct spoolss_EndDocPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_EndDocPrinter(struct ndr_pull *ndr, int flags, struct spoolss_EndDocPrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EndDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndDocPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_EndDocPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EndDocPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EndDocPrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddJob(struct ndr_push *ndr, int flags, const struct spoolss_AddJob *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer)); - if (r->out.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddJob(struct ndr_pull *ndr, int flags, struct spoolss_AddJob *r) -{ - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer)); - NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->out.buffer); - } else { - r->out.buffer = NULL; - } - if (r->out.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddJob *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddJob"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddJob"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddJob"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - if (r->out.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ScheduleJob(struct ndr_push *ndr, int flags, const struct spoolss_ScheduleJob *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.jobid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ScheduleJob(struct ndr_pull *ndr, int flags, struct spoolss_ScheduleJob *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.jobid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ScheduleJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ScheduleJob *r) -{ - ndr_print_struct(ndr, name, "spoolss_ScheduleJob"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ScheduleJob"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "jobid", r->in.jobid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ScheduleJob"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type)); - if (r->out.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterData *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_type_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name)); - if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.type); - ZERO_STRUCTP(r->out.type); - NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered); - memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.type); - } - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinterData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinterData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "value_name", r->in.value_name); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinterData"); - ndr->depth++; - ndr_print_ptr(ndr, "type", r->out.type); - ndr->depth++; - ndr_print_winreg_Type(ndr, "type", *r->out.type); - ndr->depth--; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type)); - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterData *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name)); - if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data))); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_SetPrinterData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "value_name", r->in.value_name); - ndr_print_winreg_Type(ndr, "type", r->in.type); - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_SetPrinterData"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_WaitForPrinterChange(struct ndr_push *ndr, int flags, const struct spoolss_WaitForPrinterChange *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_WaitForPrinterChange(struct ndr_pull *ndr, int flags, struct spoolss_WaitForPrinterChange *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r) -{ - ndr_print_struct(ndr, name, "spoolss_WaitForPrinterChange"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_WaitForPrinterChange"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_WaitForPrinterChange"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ClosePrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ClosePrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_ClosePrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ClosePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ClosePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddForm(struct ndr_push *ndr, int flags, const struct spoolss_AddForm *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddForm(struct ndr_pull *ndr, int flags, struct spoolss_AddForm *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddForm *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddForm"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddForm"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.level); - ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddForm"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeleteForm(struct ndr_push *ndr, int flags, const struct spoolss_DeleteForm *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.form_name, ndr_charset_length(r->in.form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeleteForm(struct ndr_pull *ndr, int flags, struct spoolss_DeleteForm *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name)); - if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.form_name), ndr_get_array_length(ndr, &r->in.form_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.form_name, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeleteForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteForm *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeleteForm"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeleteForm"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "form_name", r->in.form_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeleteForm"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetForm(struct ndr_push *ndr, int flags, const struct spoolss_GetForm *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.form_name, ndr_charset_length(r->in.form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetForm(struct ndr_pull *ndr, int flags, struct spoolss_GetForm *r) -{ - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name)); - if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.form_name), ndr_get_array_length(ndr, &r->in.form_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.form_name, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_FormInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetForm *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetForm"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetForm"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "form_name", r->in.form_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetForm"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_FormInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetForm(struct ndr_push *ndr, int flags, const struct spoolss_SetForm *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.form_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.form_name, ndr_charset_length(r->in.form_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetForm(struct ndr_pull *ndr, int flags, struct spoolss_SetForm *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.form_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.form_name)); - if (ndr_get_array_length(ndr, &r->in.form_name) > ndr_get_array_size(ndr, &r->in.form_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.form_name), ndr_get_array_length(ndr, &r->in.form_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.form_name, ndr_get_array_length(ndr, &r->in.form_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_AddFormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetForm *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetForm"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_SetForm"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "form_name", r->in.form_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.level); - ndr_print_spoolss_AddFormInfo(ndr, "info", &r->in.info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_SetForm"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct _spoolss_EnumForms *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct _spoolss_EnumForms *r) -{ - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct __spoolss_EnumForms *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct __spoolss_EnumForms *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumForms *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumForms"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumForms"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumForms"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_FormInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPorts *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPorts *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPorts *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPorts *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_PortInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPorts *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumPorts"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPorts"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPorts"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_PortInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumMonitors *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumMonitors *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumMonitors *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumMonitors *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_MonitorInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumMonitors *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumMonitors"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumMonitors"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumMonitors"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_MonitorInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPort(struct ndr_push *ndr, int flags, const struct spoolss_AddPort *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.monitor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.monitor_name, ndr_charset_length(r->in.monitor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPort(struct ndr_pull *ndr, int flags, struct spoolss_AddPort *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.monitor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.monitor_name)); - if (ndr_get_array_length(ndr, &r->in.monitor_name) > ndr_get_array_size(ndr, &r->in.monitor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.monitor_name), ndr_get_array_length(ndr, &r->in.monitor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.monitor_name, ndr_get_array_length(ndr, &r->in.monitor_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPort *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPort"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPort"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown", r->in.unknown); - ndr_print_string(ndr, "monitor_name", r->in.monitor_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPort"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ConfigurePort(struct ndr_push *ndr, int flags, const struct spoolss_ConfigurePort *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ConfigurePort(struct ndr_pull *ndr, int flags, struct spoolss_ConfigurePort *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ConfigurePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ConfigurePort *r) -{ - ndr_print_struct(ndr, name, "spoolss_ConfigurePort"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ConfigurePort"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ConfigurePort"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePort(struct ndr_push *ndr, int flags, const struct spoolss_DeletePort *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePort(struct ndr_pull *ndr, int flags, struct spoolss_DeletePort *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePort *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePort"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePort"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePort"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_CreatePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_CreatePrinterIC *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.devmode_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - } - if (flags & NDR_OUT) { - if (r->out.gdi_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_CreatePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_CreatePrinterIC *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_gdi_handle_0; - TALLOC_CTX *_mem_save_devmode_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.devmode_ctr); - } - _mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.gdi_handle); - ZERO_STRUCTP(r->out.gdi_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.gdi_handle); - } - _mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_CreatePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_CreatePrinterIC *r) -{ - ndr_print_struct(ndr, name, "spoolss_CreatePrinterIC"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_CreatePrinterIC"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth++; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_CreatePrinterIC"); - ndr->depth++; - ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_PlayGDIScriptOnPrinterIC *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r) -{ - ndr_print_struct(ndr, name, "spoolss_PlayGDIScriptOnPrinterIC"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_PlayGDIScriptOnPrinterIC"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_PlayGDIScriptOnPrinterIC"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterIC(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterIC *r) -{ - if (flags & NDR_IN) { - if (r->in.gdi_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle)); - } - if (flags & NDR_OUT) { - if (r->out.gdi_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterIC(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterIC *r) -{ - TALLOC_CTX *_mem_save_gdi_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.gdi_handle); - } - _mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.gdi_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.gdi_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.gdi_handle); - *r->out.gdi_handle = *r->in.gdi_handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.gdi_handle); - } - _mem_save_gdi_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.gdi_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.gdi_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gdi_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterIC *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterIC"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterIC"); - ndr->depth++; - ndr_print_ptr(ndr, "gdi_handle", r->in.gdi_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "gdi_handle", r->in.gdi_handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterIC"); - ndr->depth++; - ndr_print_ptr(ndr, "gdi_handle", r->out.gdi_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "gdi_handle", r->out.gdi_handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterConnection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterConnection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterConnection *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrinterConnection"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrinterConnection"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrinterConnection"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterConnection(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterConnection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterConnection(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterConnection *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterConnection *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterConnection"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterConnection"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterConnection"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_PrinterMessageBox(struct ndr_push *ndr, int flags, const struct spoolss_PrinterMessageBox *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_PrinterMessageBox(struct ndr_pull *ndr, int flags, struct spoolss_PrinterMessageBox *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_PrinterMessageBox(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PrinterMessageBox *r) -{ - ndr_print_struct(ndr, name, "spoolss_PrinterMessageBox"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_PrinterMessageBox"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_PrinterMessageBox"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddMonitor(struct ndr_push *ndr, int flags, const struct spoolss_AddMonitor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddMonitor(struct ndr_pull *ndr, int flags, struct spoolss_AddMonitor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddMonitor *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddMonitor"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddMonitor"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddMonitor"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeleteMonitor(struct ndr_push *ndr, int flags, const struct spoolss_DeleteMonitor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeleteMonitor(struct ndr_pull *ndr, int flags, struct spoolss_DeleteMonitor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeleteMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteMonitor *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeleteMonitor"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeleteMonitor"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeleteMonitor"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrintProcessor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProcessor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrintProcessor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProcessor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProcessor *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrintProcessor"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrintProcessor"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrintProcessor"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_AddPrintProvidor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_AddPrintProvidor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProvidor *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrintProvidor"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrintProvidor"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrintProvidor"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrintProvidor(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrintProvidor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrintProvidor(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrintProvidor *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProvidor *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrintProvidor"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrintProvidor"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrintProvidor"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcDataTypes *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.print_processor_name)); - if (r->in.print_processor_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.print_processor_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.print_processor_name, ndr_charset_length(r->in.print_processor_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.info)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcDataTypes *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_print_processor_name; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_print_processor_name_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name)); - if (_ptr_print_processor_name) { - NDR_PULL_ALLOC(ndr, r->in.print_processor_name); - } else { - r->in.print_processor_name = NULL; - } - if (r->in.print_processor_name) { - _mem_save_print_processor_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.print_processor_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.print_processor_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.print_processor_name)); - if (ndr_get_array_length(ndr, &r->in.print_processor_name) > ndr_get_array_size(ndr, &r->in.print_processor_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.print_processor_name), ndr_get_array_length(ndr, &r->in.print_processor_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.print_processor_name, ndr_get_array_length(ndr, &r->in.print_processor_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcDataTypes *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcDataTypes *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info[cntr_info_0], r->in.level)); - NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcDataTypes *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumPrintProcDataTypes"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrintProcDataTypes"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "print_processor_name", r->in.print_processor_name); - ndr->depth++; - if (r->in.print_processor_name) { - ndr_print_string(ndr, "print_processor_name", r->in.print_processor_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrintProcDataTypes"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_set_switch_value(ndr, &(*r->out.info)[cntr_info_2], r->in.level); - ndr_print_spoolss_PrintProcDataTypesInfo(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ResetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_type)); - if (r->in.data_type) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.data_type, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.data_type, ndr_charset_length(r->in.data_type, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.devmode_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ResetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinter *r) -{ - uint32_t _ptr_data_type; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_data_type_0; - TALLOC_CTX *_mem_save_devmode_ctr_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type)); - if (_ptr_data_type) { - NDR_PULL_ALLOC(ndr, r->in.data_type); - } else { - r->in.data_type = NULL; - } - if (r->in.data_type) { - _mem_save_data_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data_type, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data_type)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data_type)); - if (ndr_get_array_length(ndr, &r->in.data_type) > ndr_get_array_size(ndr, &r->in.data_type)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.data_type), ndr_get_array_length(ndr, &r->in.data_type)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.data_type), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.data_type, ndr_get_array_length(ndr, &r->in.data_type), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.devmode_ctr); - } - _mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ResetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_ResetPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ResetPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "data_type", r->in.data_type); - ndr->depth++; - if (r->in.data_type) { - ndr_print_string(ndr, "data_type", r->in.data_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth++; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ResetPrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetPrinterDriver2(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriver2 *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.architecture)); - if (r->in.architecture) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->in.buffer)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_major_version)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.client_minor_version)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.info)); - if (r->out.info) { - { - struct ndr_push *_ndr_info; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.server_major_version == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_major_version)); - if (r->out.server_minor_version == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.server_minor_version)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriver2(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriver2 *r) -{ - uint32_t _ptr_architecture; - uint32_t _ptr_buffer; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_architecture_0; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_server_major_version_0; - TALLOC_CTX *_mem_save_server_minor_version_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture)); - if (_ptr_architecture) { - NDR_PULL_ALLOC(ndr, r->in.architecture); - } else { - r->in.architecture = NULL; - } - if (r->in.architecture) { - _mem_save_architecture_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.architecture, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_major_version)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.client_minor_version)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.server_major_version); - ZERO_STRUCTP(r->out.server_major_version); - NDR_PULL_ALLOC(ndr, r->out.server_minor_version); - ZERO_STRUCTP(r->out.server_minor_version); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->out.info); - } else { - r->out.info = NULL; - } - if (r->out.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - { - struct ndr_pull *_ndr_info; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 4, r->in.offered)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_info, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_DriverInfo(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 4, r->in.offered)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.server_major_version); - } - _mem_save_server_major_version_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.server_major_version, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_major_version)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_major_version_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.server_minor_version); - } - _mem_save_server_minor_version_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.server_minor_version, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.server_minor_version)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_minor_version_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinterDriver2(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver2 *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinterDriver2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriver2"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->in.architecture); - ndr->depth++; - if (r->in.architecture) { - ndr_print_string(ndr, "architecture", r->in.architecture); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_DATA_BLOB(ndr, "buffer", *r->in.buffer); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr_print_uint32(ndr, "client_major_version", r->in.client_major_version); - ndr_print_uint32(ndr, "client_minor_version", r->in.client_minor_version); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriver2"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - if (r->out.info) { - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_spoolss_DriverInfo(ndr, "info", r->out.info); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "server_major_version", r->out.server_major_version); - ndr->depth++; - ndr_print_uint32(ndr, "server_major_version", *r->out.server_major_version); - ndr->depth--; - ndr_print_ptr(ndr, "server_minor_version", r->out.server_minor_version); - ndr->depth++; - ndr_print_uint32(ndr, "server_minor_version", *r->out.server_minor_version); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_FindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_FindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindFirstPrinterChangeNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r) -{ - ndr_print_struct(ndr, name, "spoolss_FindFirstPrinterChangeNotification"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_FindFirstPrinterChangeNotification"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_FindFirstPrinterChangeNotification"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_FindNextPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_FindNextPrinterChangeNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_FindNextPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_FindNextPrinterChangeNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FindNextPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindNextPrinterChangeNotification *r) -{ - ndr_print_struct(ndr, name, "spoolss_FindNextPrinterChangeNotification"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_FindNextPrinterChangeNotification"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_FindNextPrinterChangeNotification"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FindClosePrinterNotify(struct ndr_push *ndr, int flags, const struct spoolss_FindClosePrinterNotify *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_FindClosePrinterNotify(struct ndr_pull *ndr, int flags, struct spoolss_FindClosePrinterNotify *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_FindClosePrinterNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindClosePrinterNotify *r) -{ - ndr_print_struct(ndr, name, "spoolss_FindClosePrinterNotify"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_FindClosePrinterNotify"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_FindClosePrinterNotify"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r) -{ - ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotificationOld"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotificationOld"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotificationOld"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyOpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyOpenPrinter *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local)); - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize)); - } - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyOpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyOpenPrinter *r) -{ - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local)); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize)); - if (r->in.bufsize > 512) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer)); - NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ReplyOpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyOpenPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_ReplyOpenPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ReplyOpenPrinter"); - ndr->depth++; - ndr_print_string(ndr, "server_name", r->in.server_name); - ndr_print_uint32(ndr, "printer_local", r->in.printer_local); - ndr_print_winreg_Type(ndr, "type", r->in.type); - ndr_print_uint32(ndr, "bufsize", r->in.bufsize); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ReplyOpenPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinter(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.bufsize)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.bufsize)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinter(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinter *r) -{ - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_buffer_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize)); - if (r->in.bufsize > 512) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer)); - NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.bufsize)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags); - ndr_print_uint32(ndr, "bufsize", r->in.bufsize); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.bufsize); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinter"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_ReplyClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyClosePrinter *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_ReplyClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyClosePrinter *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ReplyClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyClosePrinter *r) -{ - ndr_print_struct(ndr, name, "spoolss_ReplyClosePrinter"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ReplyClosePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ReplyClosePrinter"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPortEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPortEx *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPortEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPortEx *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPortEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPortEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPortEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPortEx"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPortEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_push *ndr, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_pull *ndr, int flags, struct spoolss_RouterFindFirstPrinterChangeNotification *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r) -{ - ndr_print_struct(ndr, name, "spoolss_RouterFindFirstPrinterChangeNotification"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_RouterFindFirstPrinterChangeNotification"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_RouterFindFirstPrinterChangeNotification"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SpoolerInit(struct ndr_push *ndr, int flags, const struct spoolss_SpoolerInit *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SpoolerInit(struct ndr_pull *ndr, int flags, struct spoolss_SpoolerInit *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SpoolerInit(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SpoolerInit *r) -{ - ndr_print_struct(ndr, name, "spoolss_SpoolerInit"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_SpoolerInit"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_SpoolerInit"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_ResetPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_ResetPrinterEx *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_ResetPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_ResetPrinterEx *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_ResetPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinterEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_ResetPrinterEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_ResetPrinterEx"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_ResetPrinterEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.local_machine)); - if (r->in.local_machine) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.local_machine, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.local_machine, ndr_charset_length(r->in.local_machine, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.printer_local)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.notify_options)); - if (r->in.notify_options) { - NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r) -{ - uint32_t _ptr_local_machine; - uint32_t _ptr_notify_options; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_local_machine_0; - TALLOC_CTX *_mem_save_notify_options_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local_machine)); - if (_ptr_local_machine) { - NDR_PULL_ALLOC(ndr, r->in.local_machine); - } else { - r->in.local_machine = NULL; - } - if (r->in.local_machine) { - _mem_save_local_machine_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.local_machine, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.local_machine)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.local_machine)); - if (ndr_get_array_length(ndr, &r->in.local_machine) > ndr_get_array_size(ndr, &r->in.local_machine)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.local_machine), ndr_get_array_length(ndr, &r->in.local_machine)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.local_machine), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.local_machine, ndr_get_array_length(ndr, &r->in.local_machine), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_machine_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.printer_local)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_options)); - if (_ptr_notify_options) { - NDR_PULL_ALLOC(ndr, r->in.notify_options); - } else { - r->in.notify_options = NULL; - } - if (r->in.notify_options) { - _mem_save_notify_options_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.notify_options, 0); - NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.notify_options)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_options_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_RemoteFindFirstPrinterChangeNotifyEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_RemoteFindFirstPrinterChangeNotifyEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags); - ndr_print_uint32(ndr, "options", r->in.options); - ndr_print_ptr(ndr, "local_machine", r->in.local_machine); - ndr->depth++; - if (r->in.local_machine) { - ndr_print_string(ndr, "local_machine", r->in.local_machine); - } - ndr->depth--; - ndr_print_uint32(ndr, "printer_local", r->in.printer_local); - ndr_print_ptr(ndr, "notify_options", r->in.notify_options); - ndr->depth++; - if (r->in.notify_options) { - ndr_print_spoolss_NotifyOption(ndr, "notify_options", r->in.notify_options); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_RemoteFindFirstPrinterChangeNotifyEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_RouterReplyPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_RouterReplyPrinterEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.color)); - NDR_CHECK(ndr_push_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, r->in.flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reply_type)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.reply_type)); - NDR_CHECK(ndr_push_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - if (r->out.reply_result == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, *r->out.reply_result)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_RouterReplyPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_RouterReplyPrinterEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_reply_result_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.color)); - NDR_CHECK(ndr_pull_spoolss_PrinterChangeFlags(ndr, NDR_SCALARS, &r->in.flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reply_type)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.reply_type)); - NDR_CHECK(ndr_pull_spoolss_ReplyPrinterInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - NDR_PULL_ALLOC(ndr, r->out.reply_result); - ZERO_STRUCTP(r->out.reply_result); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.reply_result); - } - _mem_save_reply_result_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.reply_result, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_PrinterNotifyFlags(ndr, NDR_SCALARS, r->out.reply_result)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reply_result_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_RouterReplyPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinterEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_RouterReplyPrinterEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_RouterReplyPrinterEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "color", r->in.color); - ndr_print_spoolss_PrinterChangeFlags(ndr, "flags", r->in.flags); - ndr_print_uint32(ndr, "reply_type", r->in.reply_type); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.reply_type); - ndr_print_spoolss_ReplyPrinterInfo(ndr, "info", &r->in.info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_RouterReplyPrinterEx"); - ndr->depth++; - ndr_print_ptr(ndr, "reply_result", r->out.reply_result); - ndr->depth++; - ndr_print_spoolss_PrinterNotifyFlags(ndr, "reply_result", *r->out.reply_result); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_push *ndr, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_low)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.options)); - if (r->in.options) { - NDR_CHECK(ndr_push_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_pull *ndr, int flags, struct spoolss_RouterRefreshPrinterChangeNotify *r) -{ - uint32_t _ptr_options; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_options_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_low)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_options)); - if (_ptr_options) { - NDR_PULL_ALLOC(ndr, r->in.options); - } else { - r->in.options = NULL; - } - if (r->in.options) { - _mem_save_options_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.options, 0); - NDR_CHECK(ndr_pull_spoolss_NotifyOption(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.options)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_options_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_spoolss_NotifyInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r) -{ - ndr_print_struct(ndr, name, "spoolss_RouterRefreshPrinterChangeNotify"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_RouterRefreshPrinterChangeNotify"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "change_low", r->in.change_low); - ndr_print_ptr(ndr, "options", r->in.options); - ndr->depth++; - if (r->in.options) { - ndr_print_spoolss_NotifyOption(ndr, "options", r->in.options); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_RouterRefreshPrinterChangeNotify"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_spoolss_NotifyInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_44(struct ndr_push *ndr, int flags, const struct spoolss_44 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_44(struct ndr_pull *ndr, int flags, struct spoolss_44 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_44(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_44 *r) -{ - ndr_print_struct(ndr, name, "spoolss_44"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_44"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_44"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinterEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.printername)); - if (r->in.printername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.printername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.printername, ndr_charset_length(r->in.printername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.datatype)); - if (r->in.datatype) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.datatype, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.datatype, ndr_charset_length(r->in.datatype, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr)); - NDR_CHECK(ndr_push_spoolss_AccessRights(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.userlevel, r->in.level)); - NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinterEx *r) -{ - uint32_t _ptr_printername; - uint32_t _ptr_datatype; - TALLOC_CTX *_mem_save_printername_0; - TALLOC_CTX *_mem_save_datatype_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername)); - if (_ptr_printername) { - NDR_PULL_ALLOC(ndr, r->in.printername); - } else { - r->in.printername = NULL; - } - if (r->in.printername) { - _mem_save_printername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.printername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.printername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.printername)); - if (ndr_get_array_length(ndr, &r->in.printername) > ndr_get_array_size(ndr, &r->in.printername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.printername), ndr_get_array_length(ndr, &r->in.printername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.printername, ndr_get_array_length(ndr, &r->in.printername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype)); - if (_ptr_datatype) { - NDR_PULL_ALLOC(ndr, r->in.datatype); - } else { - r->in.datatype = NULL; - } - if (r->in.datatype) { - _mem_save_datatype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.datatype, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.datatype)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.datatype)); - if (ndr_get_array_length(ndr, &r->in.datatype) > ndr_get_array_size(ndr, &r->in.datatype)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.datatype), ndr_get_array_length(ndr, &r->in.datatype)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.datatype, ndr_get_array_length(ndr, &r->in.datatype), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0); - } - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.devmode_ctr)); - NDR_CHECK(ndr_pull_spoolss_AccessRights(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.userlevel, r->in.level)); - NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.userlevel)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinterEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_OpenPrinterEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_OpenPrinterEx"); - ndr->depth++; - ndr_print_ptr(ndr, "printername", r->in.printername); - ndr->depth++; - if (r->in.printername) { - ndr_print_string(ndr, "printername", r->in.printername); - } - ndr->depth--; - ndr_print_ptr(ndr, "datatype", r->in.datatype); - ndr->depth++; - if (r->in.datatype) { - ndr_print_string(ndr, "datatype", r->in.datatype); - } - ndr->depth--; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", &r->in.devmode_ctr); - ndr_print_spoolss_AccessRights(ndr, "access_mask", r->in.access_mask); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.userlevel, r->in.level); - ndr_print_spoolss_UserLevel(ndr, "userlevel", &r->in.userlevel); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_OpenPrinterEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_AddPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - if (r->in.devmode_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - if (r->in.secdesc_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr)); - if (r->in.userlevel_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_AddPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterEx *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_devmode_ctr_0; - TALLOC_CTX *_mem_save_secdesc_ctr_0; - TALLOC_CTX *_mem_save_userlevel_ctr_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_SetPrinterInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.devmode_ctr); - } - _mem_save_devmode_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.devmode_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_DevmodeContainer(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.devmode_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.secdesc_ctr); - } - _mem_save_secdesc_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.userlevel_ctr); - } - _mem_save_userlevel_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.userlevel_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_UserLevelCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.userlevel_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userlevel_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrinterEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrinterEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_spoolss_SetPrinterInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth++; - ndr_print_spoolss_DevmodeContainer(ndr, "devmode_ctr", r->in.devmode_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "secdesc_ctr", r->in.secdesc_ctr); - ndr->depth++; - ndr_print_sec_desc_buf(ndr, "secdesc_ctr", r->in.secdesc_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "userlevel_ctr", r->in.userlevel_ctr); - ndr->depth++; - ndr_print_spoolss_UserLevelCtr(ndr, "userlevel_ctr", r->in.userlevel_ctr); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrinterEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_47(struct ndr_push *ndr, int flags, const struct spoolss_47 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_47(struct ndr_pull *ndr, int flags, struct spoolss_47 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_47(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_47 *r) -{ - ndr_print_struct(ndr, name, "spoolss_47"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_47"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_47"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_EnumPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.value_offered)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.data_offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.value_offered / 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.value_name, r->in.value_offered / 2, sizeof(uint16_t), CH_UTF16)); - if (r->out.value_needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.value_needed)); - if (r->out.type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type)); - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (r->out.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.data_offered)); - ndr->flags = _flags_save_uint8; - } - if (r->out.data_needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_EnumPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterData *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_value_needed_0; - TALLOC_CTX *_mem_save_type_0; - TALLOC_CTX *_mem_save_data_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.value_offered)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.data_offered)); - NDR_PULL_ALLOC(ndr, r->out.value_needed); - ZERO_STRUCTP(r->out.value_needed); - NDR_PULL_ALLOC(ndr, r->out.type); - ZERO_STRUCTP(r->out.type); - NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.data_offered); - memset(r->out.data, 0, (r->in.data_offered) * sizeof(*r->out.data)); - NDR_PULL_ALLOC(ndr, r->out.data_needed); - ZERO_STRUCTP(r->out.data_needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value_name)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->out.value_name, ndr_get_array_size(ndr, &r->out.value_name), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.value_needed); - } - _mem_save_value_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.value_needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.value_needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.type); - } - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC); - { - uint32_t _flags_save_uint8 = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data))); - ndr->flags = _flags_save_uint8; - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.data_needed); - } - _mem_save_data_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.data_needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.value_name) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value_name, r->in.value_offered / 2)); - } - if (r->out.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.data_offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterData *r) -{ - ndr_print_struct(ndr, name, "spoolss_EnumPrinterData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrinterData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "enum_index", r->in.enum_index); - ndr_print_uint32(ndr, "value_offered", r->in.value_offered); - ndr_print_uint32(ndr, "data_offered", r->in.data_offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrinterData"); - ndr->depth++; - ndr_print_string(ndr, "value_name", r->out.value_name); - ndr_print_ptr(ndr, "value_needed", r->out.value_needed); - ndr->depth++; - ndr_print_uint32(ndr, "value_needed", *r->out.value_needed); - ndr->depth--; - ndr_print_ptr(ndr, "type", r->out.type); - ndr->depth++; - ndr_print_winreg_Type(ndr, "type", *r->out.type); - ndr->depth--; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->out.data, r->in.data_offered); - ndr->depth--; - ndr_print_ptr(ndr, "data_needed", r->out.data_needed); - ndr->depth++; - ndr_print_uint32(ndr, "data_needed", *r->out.data_needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterData(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterData(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterData *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name)); - if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterData *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "value_name", r->in.value_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterData"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_4a(struct ndr_push *ndr, int flags, const struct spoolss_4a *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_4a(struct ndr_pull *ndr, int flags, struct spoolss_4a *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r) -{ - ndr_print_struct(ndr, name, "spoolss_4a"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_4a"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_4a"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_4b(struct ndr_push *ndr, int flags, const struct spoolss_4b *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_4b(struct ndr_pull *ndr, int flags, struct spoolss_4b *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r) -{ - ndr_print_struct(ndr, name, "spoolss_4b"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_4b"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_4b"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_4c(struct ndr_push *ndr, int flags, const struct spoolss_4c *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_4c(struct ndr_pull *ndr, int flags, struct spoolss_4c *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r) -{ - ndr_print_struct(ndr, name, "spoolss_4c"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_4c"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_4c"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type)); - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterDataEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name)); - if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name)); - if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data))); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_SetPrinterDataEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_SetPrinterDataEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "key_name", r->in.key_name); - ndr_print_string(ndr, "value_name", r->in.value_name); - ndr_print_winreg_Type(ndr, "type", r->in.type); - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_SetPrinterDataEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDataEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type)); - if (r->out.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDataEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_type_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name)); - if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name)); - if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.type); - ZERO_STRUCTP(r->out.type); - NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.offered); - memset(r->out.data, 0, (r->in.offered) * sizeof(*r->out.data)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.type); - } - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_size(ndr, &r->out.data))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDataEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinterDataEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinterDataEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "key_name", r->in.key_name); - ndr_print_string(ndr, "value_name", r->in.value_name); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinterDataEx"); - ndr->depth++; - ndr_print_ptr(ndr, "type", r->out.type); - ndr->depth++; - ndr_print_winreg_Type(ndr, "type", *r->out.type); - ndr->depth--; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->out.data, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push__spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDataEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->out.info)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.count == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDataEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_count_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name)); - if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.count); - ZERO_STRUCTP(r->out.count); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->out.info)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.count); - } - _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_push___spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDataEx *r) -{ - uint32_t cntr_info_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count)); - } - if (flags & NDR_OUT) { - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_push_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDataEx *r) -{ - uint32_t cntr_info_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count)); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.info, r->in.count); - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, 0); - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_SCALARS, &r->out.info[cntr_info_0])); - } - for (cntr_info_0 = 0; cntr_info_0 < r->in.count; cntr_info_0++) { - NDR_CHECK(ndr_pull_spoolss_PrinterEnumValues(ndr, NDR_BUFFERS, &r->out.info[cntr_info_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDataEx *r) -{ - uint32_t cntr_info_2; - ndr_print_struct(ndr, name, "spoolss_EnumPrinterDataEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrinterDataEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "key_name", r->in.key_name); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrinterDataEx"); - ndr->depth++; - ndr_print_ptr(ndr, "count", r->out.count); - ndr->depth++; - ndr_print_uint32(ndr, "count", *r->out.count); - ndr->depth--; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr->print(ndr, "%s: ARRAY(%d)", "info", (int)*r->out.count); - ndr->depth++; - for (cntr_info_2=0;cntr_info_2<*r->out.count;cntr_info_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_info_2) != -1) { - ndr_print_spoolss_PrinterEnumValues(ndr, "info", &(*r->out.info)[cntr_info_2]); - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_EnumPrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out._ndr_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._ndr_size)); - if (r->out.key_buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - { - struct ndr_push *_ndr_key_buffer; - NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2)); - NDR_CHECK(ndr_push_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size)); - NDR_CHECK(ndr_push_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save__ndr_size_0; - TALLOC_CTX *_mem_save_key_buffer_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name)); - if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out._ndr_size); - ZERO_STRUCTP(r->out._ndr_size); - NDR_PULL_ALLOC(ndr, r->out.key_buffer); - ZERO_STRUCTP(r->out.key_buffer); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out._ndr_size); - } - _mem_save__ndr_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out._ndr_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._ndr_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save__ndr_size_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.key_buffer); - } - _mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, LIBNDR_FLAG_REF_ALLOC); - { - struct ndr_pull *_ndr_key_buffer; - NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2)); - NDR_CHECK(ndr_pull_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size)); - NDR_CHECK(ndr_pull_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer)); - NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2)); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_EnumPrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterKey *r) -{ - ndr_print_struct(ndr, name, "spoolss_EnumPrinterKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_EnumPrinterKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "key_name", r->in.key_name); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_EnumPrinterKey"); - ndr->depth++; - ndr_print_ptr(ndr, "_ndr_size", r->out._ndr_size); - ndr->depth++; - ndr_print_uint32(ndr, "_ndr_size", *r->out._ndr_size); - ndr->depth--; - ndr_print_ptr(ndr, "key_buffer", r->out.key_buffer); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.key_buffer, *r->out._ndr_size); - ndr_print_spoolss_KeyNames(ndr, "key_buffer", r->out.key_buffer); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDataEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDataEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name)); - if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value_name)); - if (ndr_get_array_length(ndr, &r->in.value_name) > ndr_get_array_size(ndr, &r->in.value_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value_name), ndr_get_array_length(ndr, &r->in.value_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDataEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterDataEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDataEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "key_name", r->in.key_name); - ndr_print_string(ndr, "value_name", r->in.value_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDataEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.key_name, ndr_charset_length(r->in.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.key_name)); - if (ndr_get_array_length(ndr, &r->in.key_name) > ndr_get_array_size(ndr, &r->in.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.key_name), ndr_get_array_length(ndr, &r->in.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterKey *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "key_name", r->in.key_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_53(struct ndr_push *ndr, int flags, const struct spoolss_53 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_53(struct ndr_pull *ndr, int flags, struct spoolss_53 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_53(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_53 *r) -{ - ndr_print_struct(ndr, name, "spoolss_53"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_53"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_53"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_DeletePrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_DeletePrinterDriverEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server, ndr_charset_length(r->in.server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.driver, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver, ndr_charset_length(r->in.driver, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, r->in.delete_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.version)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_DeletePrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_DeletePrinterDriverEx *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server)); - if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server), ndr_get_array_length(ndr, &r->in.server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.driver)); - if (ndr_get_array_length(ndr, &r->in.driver) > ndr_get_array_size(ndr, &r->in.driver)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.driver), ndr_get_array_length(ndr, &r->in.driver)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver, ndr_get_array_length(ndr, &r->in.driver), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_spoolss_DeleteDriverFlags(ndr, NDR_SCALARS, &r->in.delete_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.version)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_DeletePrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriverEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_DeletePrinterDriverEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_DeletePrinterDriverEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_string(ndr, "server", r->in.server); - } - ndr->depth--; - ndr_print_string(ndr, "architecture", r->in.architecture); - ndr_print_string(ndr, "driver", r->in.driver); - ndr_print_spoolss_DeleteDriverFlags(ndr, "delete_flags", r->in.delete_flags); - ndr_print_uint32(ndr, "version", r->in.version); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_DeletePrinterDriverEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_55(struct ndr_push *ndr, int flags, const struct spoolss_55 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_55(struct ndr_pull *ndr, int flags, struct spoolss_55 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_55(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_55 *r) -{ - ndr_print_struct(ndr, name, "spoolss_55"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_55"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_55"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_56(struct ndr_push *ndr, int flags, const struct spoolss_56 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_56(struct ndr_pull *ndr, int flags, struct spoolss_56 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_56(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_56 *r) -{ - ndr_print_struct(ndr, name, "spoolss_56"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_56"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_56"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_57(struct ndr_push *ndr, int flags, const struct spoolss_57 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_57(struct ndr_pull *ndr, int flags, struct spoolss_57 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_57(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_57 *r) -{ - ndr_print_struct(ndr, name, "spoolss_57"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_57"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_57"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_XcvData(struct ndr_push *ndr, int flags, const struct spoolss_XcvData *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.function_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.function_name, ndr_charset_length(r->in.function_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.in_data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data.length)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.out_data_size)); - if (r->in.status_code == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.status_code)); - } - if (flags & NDR_OUT) { - if (r->out.out_data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.out_data_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.out_data, r->in.out_data_size)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.status_code == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.status_code)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_XcvData(struct ndr_pull *ndr, int flags, struct spoolss_XcvData *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_status_code_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.function_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.function_name)); - if (ndr_get_array_length(ndr, &r->in.function_name) > ndr_get_array_size(ndr, &r->in.function_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.function_name), ndr_get_array_length(ndr, &r->in.function_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.function_name, ndr_get_array_length(ndr, &r->in.function_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.in_data)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._in_data_length)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.out_data_size)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.status_code); - } - _mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.status_code, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.status_code)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC_N(ndr, r->out.out_data, r->in.out_data_size); - memset(r->out.out_data, 0, (r->in.out_data_size) * sizeof(*r->out.out_data)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.status_code); - *r->out.status_code = *r->in.status_code; - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.out_data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.out_data, ndr_get_array_size(ndr, &r->out.out_data))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.status_code); - } - _mem_save_status_code_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.status_code, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.status_code)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_code_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.out_data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.out_data, r->in.out_data_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_XcvData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_XcvData *r) -{ - ndr_print_struct(ndr, name, "spoolss_XcvData"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_XcvData"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_string(ndr, "function_name", r->in.function_name); - ndr_print_DATA_BLOB(ndr, "in_data", r->in.in_data); - ndr_print_uint32(ndr, "_in_data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->in.in_data.length:r->in._in_data_length); - ndr_print_uint32(ndr, "out_data_size", r->in.out_data_size); - ndr_print_ptr(ndr, "status_code", r->in.status_code); - ndr->depth++; - ndr_print_uint32(ndr, "status_code", *r->in.status_code); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_XcvData"); - ndr->depth++; - ndr_print_ptr(ndr, "out_data", r->out.out_data); - ndr->depth++; - ndr_print_array_uint8(ndr, "out_data", r->out.out_data, r->in.out_data_size); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "status_code", r->out.status_code); - ndr->depth++; - ndr_print_uint32(ndr, "status_code", *r->out.status_code); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_spoolss_AddPrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriverEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriverEx *r) -{ - uint32_t _ptr_servername; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_info_ctr_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_AddDriverInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_spoolss_AddPrinterDriverExFlags(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_AddPrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriverEx *r) -{ - ndr_print_struct(ndr, name, "spoolss_AddPrinterDriverEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_AddPrinterDriverEx"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_spoolss_AddDriverInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_spoolss_AddPrinterDriverExFlags(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_AddPrinterDriverEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_5a(struct ndr_push *ndr, int flags, const struct spoolss_5a *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_5a(struct ndr_pull *ndr, int flags, struct spoolss_5a *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_5a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5a *r) -{ - ndr_print_struct(ndr, name, "spoolss_5a"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_5a"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_5a"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_5b(struct ndr_push *ndr, int flags, const struct spoolss_5b *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_5b(struct ndr_pull *ndr, int flags, struct spoolss_5b *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_5b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5b *r) -{ - ndr_print_struct(ndr, name, "spoolss_5b"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_5b"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_5b"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_5c(struct ndr_push *ndr, int flags, const struct spoolss_5c *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_5c(struct ndr_pull *ndr, int flags, struct spoolss_5c *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_5c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5c *r) -{ - ndr_print_struct(ndr, name, "spoolss_5c"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_5c"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_5c"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_5d(struct ndr_push *ndr, int flags, const struct spoolss_5d *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_5d(struct ndr_pull *ndr, int flags, struct spoolss_5d *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_5d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5d *r) -{ - ndr_print_struct(ndr, name, "spoolss_5d"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_5d"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_5d"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_5e(struct ndr_push *ndr, int flags, const struct spoolss_5e *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_5e(struct ndr_pull *ndr, int flags, struct spoolss_5e *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_5e(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5e *r) -{ - ndr_print_struct(ndr, name, "spoolss_5e"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_5e"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_5e"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_5f(struct ndr_push *ndr, int flags, const struct spoolss_5f *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_5f(struct ndr_pull *ndr, int flags, struct spoolss_5f *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_5f(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5f *r) -{ - ndr_print_struct(ndr, name, "spoolss_5f"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_5f"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_5f"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_60(struct ndr_push *ndr, int flags, const struct spoolss_60 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_60(struct ndr_pull *ndr, int flags, struct spoolss_60 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_60(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_60 *r) -{ - ndr_print_struct(ndr, name, "spoolss_60"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_60"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_60"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_61(struct ndr_push *ndr, int flags, const struct spoolss_61 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_61(struct ndr_pull *ndr, int flags, struct spoolss_61 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_61(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_61 *r) -{ - ndr_print_struct(ndr, name, "spoolss_61"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_61"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_61"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_62(struct ndr_push *ndr, int flags, const struct spoolss_62 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_62(struct ndr_pull *ndr, int flags, struct spoolss_62 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_62(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_62 *r) -{ - ndr_print_struct(ndr, name, "spoolss_62"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_62"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_62"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_63(struct ndr_push *ndr, int flags, const struct spoolss_63 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_63(struct ndr_pull *ndr, int flags, struct spoolss_63 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_63(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_63 *r) -{ - ndr_print_struct(ndr, name, "spoolss_63"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_63"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_63"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_64(struct ndr_push *ndr, int flags, const struct spoolss_64 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_64(struct ndr_pull *ndr, int flags, struct spoolss_64 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_64(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_64 *r) -{ - ndr_print_struct(ndr, name, "spoolss_64"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_64"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_64"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_65(struct ndr_push *ndr, int flags, const struct spoolss_65 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_65(struct ndr_pull *ndr, int flags, struct spoolss_65 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_65(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_65 *r) -{ - ndr_print_struct(ndr, name, "spoolss_65"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_65"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_65"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetCorePrinterDrivers(struct ndr_push *ndr, int flags, const struct spoolss_GetCorePrinterDrivers *r) -{ - uint32_t cntr_core_printer_drivers_1; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.architecture == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_driver_size)); - if (r->in.core_driver_dependencies == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_driver_size)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.core_driver_dependencies, r->in.core_driver_size, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.core_printer_driver_count)); - } - if (flags & NDR_OUT) { - if (r->out.core_printer_drivers == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.core_printer_driver_count)); - for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) { - NDR_CHECK(ndr_push_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1])); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetCorePrinterDrivers(struct ndr_pull *ndr, int flags, struct spoolss_GetCorePrinterDrivers *r) -{ - uint32_t _ptr_servername; - uint32_t cntr_core_printer_drivers_1; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_core_printer_drivers_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_driver_size)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.core_driver_dependencies)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.core_driver_dependencies, ndr_get_array_size(ndr, &r->in.core_driver_dependencies), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.core_printer_driver_count)); - NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, r->in.core_printer_driver_count); - memset(r->out.core_printer_drivers, 0, (r->in.core_printer_driver_count) * sizeof(*r->out.core_printer_drivers)); - if (r->in.core_driver_dependencies) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.core_driver_dependencies, r->in.core_driver_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.core_printer_drivers)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.core_printer_drivers, ndr_get_array_size(ndr, &r->out.core_printer_drivers)); - } - _mem_save_core_printer_drivers_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.core_printer_drivers, 0); - for (cntr_core_printer_drivers_1 = 0; cntr_core_printer_drivers_1 < r->in.core_printer_driver_count; cntr_core_printer_drivers_1++) { - NDR_CHECK(ndr_pull_spoolss_CorePrinterDriver(ndr, NDR_SCALARS, &r->out.core_printer_drivers[cntr_core_printer_drivers_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_printer_drivers_1, 0); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.core_printer_drivers) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.core_printer_drivers, r->in.core_printer_driver_count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetCorePrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetCorePrinterDrivers *r) -{ - uint32_t cntr_core_printer_drivers_1; - ndr_print_struct(ndr, name, "spoolss_GetCorePrinterDrivers"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetCorePrinterDrivers"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->in.architecture); - ndr->depth++; - ndr_print_string(ndr, "architecture", r->in.architecture); - ndr->depth--; - ndr_print_uint32(ndr, "core_driver_size", r->in.core_driver_size); - ndr_print_ptr(ndr, "core_driver_dependencies", r->in.core_driver_dependencies); - ndr->depth++; - ndr_print_string(ndr, "core_driver_dependencies", r->in.core_driver_dependencies); - ndr->depth--; - ndr_print_uint32(ndr, "core_printer_driver_count", r->in.core_printer_driver_count); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetCorePrinterDrivers"); - ndr->depth++; - ndr_print_ptr(ndr, "core_printer_drivers", r->out.core_printer_drivers); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "core_printer_drivers", (int)r->in.core_printer_driver_count); - ndr->depth++; - for (cntr_core_printer_drivers_1=0;cntr_core_printer_drivers_1in.core_printer_driver_count;cntr_core_printer_drivers_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_core_printer_drivers_1) != -1) { - ndr_print_spoolss_CorePrinterDriver(ndr, "core_printer_drivers", &r->out.core_printer_drivers[cntr_core_printer_drivers_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_67(struct ndr_push *ndr, int flags, const struct spoolss_67 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_67(struct ndr_pull *ndr, int flags, struct spoolss_67 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_67(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_67 *r) -{ - ndr_print_struct(ndr, name, "spoolss_67"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_67"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_67"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_GetPrinterDriverPackagePath(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverPackagePath *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.servername)); - if (r->in.servername) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.architecture == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.architecture, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.architecture, ndr_charset_length(r->in.architecture, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.language)); - if (r->in.language) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.language, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.language, ndr_charset_length(r->in.language, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.package_id == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.package_id, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.package_id, ndr_charset_length(r->in.package_id, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.driver_package_cab)); - if (r->in.driver_package_cab) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.driver_package_cab_size)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.driver_package_cab)); - if (r->out.driver_package_cab) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.driver_package_cab_size)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->out.driver_package_cab, r->in.driver_package_cab_size, sizeof(uint16_t), CH_UTF16)); - } - if (r->out.required == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.required)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverPackagePath(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverPackagePath *r) -{ - uint32_t _ptr_servername; - uint32_t _ptr_language; - uint32_t _ptr_driver_package_cab; - TALLOC_CTX *_mem_save_servername_0; - TALLOC_CTX *_mem_save_language_0; - TALLOC_CTX *_mem_save_driver_package_cab_0; - TALLOC_CTX *_mem_save_required_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername)); - if (_ptr_servername) { - NDR_PULL_ALLOC(ndr, r->in.servername); - } else { - r->in.servername = NULL; - } - if (r->in.servername) { - _mem_save_servername_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername)); - if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.servername), ndr_get_array_length(ndr, &r->in.servername)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.architecture)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.architecture)); - if (ndr_get_array_length(ndr, &r->in.architecture) > ndr_get_array_size(ndr, &r->in.architecture)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.architecture), ndr_get_array_length(ndr, &r->in.architecture)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.architecture, ndr_get_array_length(ndr, &r->in.architecture), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_language)); - if (_ptr_language) { - NDR_PULL_ALLOC(ndr, r->in.language); - } else { - r->in.language = NULL; - } - if (r->in.language) { - _mem_save_language_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.language, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.language)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.language)); - if (ndr_get_array_length(ndr, &r->in.language) > ndr_get_array_size(ndr, &r->in.language)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.language), ndr_get_array_length(ndr, &r->in.language)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.language, ndr_get_array_length(ndr, &r->in.language), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_language_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.package_id)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.package_id)); - if (ndr_get_array_length(ndr, &r->in.package_id) > ndr_get_array_size(ndr, &r->in.package_id)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.package_id), ndr_get_array_length(ndr, &r->in.package_id)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.package_id), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.package_id, ndr_get_array_length(ndr, &r->in.package_id), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab)); - if (_ptr_driver_package_cab) { - NDR_PULL_ALLOC(ndr, r->in.driver_package_cab); - } else { - r->in.driver_package_cab = NULL; - } - if (r->in.driver_package_cab) { - _mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.driver_package_cab, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.driver_package_cab)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.driver_package_cab, ndr_get_array_size(ndr, &r->in.driver_package_cab), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.driver_package_cab_size)); - NDR_PULL_ALLOC(ndr, r->out.required); - ZERO_STRUCTP(r->out.required); - if (r->in.driver_package_cab) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.driver_package_cab, r->in.driver_package_cab_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_package_cab)); - if (_ptr_driver_package_cab) { - NDR_PULL_ALLOC(ndr, r->out.driver_package_cab); - } else { - r->out.driver_package_cab = NULL; - } - if (r->out.driver_package_cab) { - _mem_save_driver_package_cab_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.driver_package_cab, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.driver_package_cab)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->out.driver_package_cab, ndr_get_array_size(ndr, &r->out.driver_package_cab), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_package_cab_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.required); - } - _mem_save_required_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.required, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.required)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_required_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.driver_package_cab) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.driver_package_cab, r->in.driver_package_cab_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_GetPrinterDriverPackagePath(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverPackagePath *r) -{ - ndr_print_struct(ndr, name, "spoolss_GetPrinterDriverPackagePath"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_GetPrinterDriverPackagePath"); - ndr->depth++; - ndr_print_ptr(ndr, "servername", r->in.servername); - ndr->depth++; - if (r->in.servername) { - ndr_print_string(ndr, "servername", r->in.servername); - } - ndr->depth--; - ndr_print_ptr(ndr, "architecture", r->in.architecture); - ndr->depth++; - ndr_print_string(ndr, "architecture", r->in.architecture); - ndr->depth--; - ndr_print_ptr(ndr, "language", r->in.language); - ndr->depth++; - if (r->in.language) { - ndr_print_string(ndr, "language", r->in.language); - } - ndr->depth--; - ndr_print_ptr(ndr, "package_id", r->in.package_id); - ndr->depth++; - ndr_print_string(ndr, "package_id", r->in.package_id); - ndr->depth--; - ndr_print_ptr(ndr, "driver_package_cab", r->in.driver_package_cab); - ndr->depth++; - if (r->in.driver_package_cab) { - ndr_print_string(ndr, "driver_package_cab", r->in.driver_package_cab); - } - ndr->depth--; - ndr_print_uint32(ndr, "driver_package_cab_size", r->in.driver_package_cab_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_GetPrinterDriverPackagePath"); - ndr->depth++; - ndr_print_ptr(ndr, "driver_package_cab", r->out.driver_package_cab); - ndr->depth++; - if (r->out.driver_package_cab) { - ndr_print_string(ndr, "driver_package_cab", r->out.driver_package_cab); - } - ndr->depth--; - ndr_print_ptr(ndr, "required", r->out.required); - ndr->depth++; - ndr_print_uint32(ndr, "required", *r->out.required); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_69(struct ndr_push *ndr, int flags, const struct spoolss_69 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_69(struct ndr_pull *ndr, int flags, struct spoolss_69 *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_69(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_69 *r) -{ - ndr_print_struct(ndr, name, "spoolss_69"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_69"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_69"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_6a(struct ndr_push *ndr, int flags, const struct spoolss_6a *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_6a(struct ndr_pull *ndr, int flags, struct spoolss_6a *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_6a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6a *r) -{ - ndr_print_struct(ndr, name, "spoolss_6a"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_6a"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_6a"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_6b(struct ndr_push *ndr, int flags, const struct spoolss_6b *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_6b(struct ndr_pull *ndr, int flags, struct spoolss_6b *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_6b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6b *r) -{ - ndr_print_struct(ndr, name, "spoolss_6b"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_6b"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_6b"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_6c(struct ndr_push *ndr, int flags, const struct spoolss_6c *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_6c(struct ndr_pull *ndr, int flags, struct spoolss_6c *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_6c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6c *r) -{ - ndr_print_struct(ndr, name, "spoolss_6c"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_6c"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_6c"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_spoolss_6d(struct ndr_push *ndr, int flags, const struct spoolss_6d *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_spoolss_6d(struct ndr_pull *ndr, int flags, struct spoolss_6d *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_spoolss_6d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6d *r) -{ - ndr_print_struct(ndr, name, "spoolss_6d"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "spoolss_6d"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "spoolss_6d"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call spoolss_calls[] = { - { - "spoolss_EnumPrinters", - sizeof(struct spoolss_EnumPrinters), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinters, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinters, - (ndr_print_function_t) ndr_print_spoolss_EnumPrinters, - false, - }, - { - "spoolss_OpenPrinter", - sizeof(struct spoolss_OpenPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinter, - (ndr_print_function_t) ndr_print_spoolss_OpenPrinter, - false, - }, - { - "spoolss_SetJob", - sizeof(struct spoolss_SetJob), - (ndr_push_flags_fn_t) ndr_push_spoolss_SetJob, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetJob, - (ndr_print_function_t) ndr_print_spoolss_SetJob, - false, - }, - { - "spoolss_GetJob", - sizeof(struct spoolss_GetJob), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetJob, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetJob, - (ndr_print_function_t) ndr_print_spoolss_GetJob, - false, - }, - { - "spoolss_EnumJobs", - sizeof(struct spoolss_EnumJobs), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumJobs, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumJobs, - (ndr_print_function_t) ndr_print_spoolss_EnumJobs, - false, - }, - { - "spoolss_AddPrinter", - sizeof(struct spoolss_AddPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinter, - (ndr_print_function_t) ndr_print_spoolss_AddPrinter, - false, - }, - { - "spoolss_DeletePrinter", - sizeof(struct spoolss_DeletePrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinter, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinter, - false, - }, - { - "spoolss_SetPrinter", - sizeof(struct spoolss_SetPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinter, - (ndr_print_function_t) ndr_print_spoolss_SetPrinter, - false, - }, - { - "spoolss_GetPrinter", - sizeof(struct spoolss_GetPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinter, - (ndr_print_function_t) ndr_print_spoolss_GetPrinter, - false, - }, - { - "spoolss_AddPrinterDriver", - sizeof(struct spoolss_AddPrinterDriver), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriver, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriver, - (ndr_print_function_t) ndr_print_spoolss_AddPrinterDriver, - false, - }, - { - "spoolss_EnumPrinterDrivers", - sizeof(struct spoolss_EnumPrinterDrivers), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDrivers, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDrivers, - (ndr_print_function_t) ndr_print_spoolss_EnumPrinterDrivers, - false, - }, - { - "spoolss_GetPrinterDriver", - sizeof(struct spoolss_GetPrinterDriver), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver, - (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver, - false, - }, - { - "spoolss_GetPrinterDriverDirectory", - sizeof(struct spoolss_GetPrinterDriverDirectory), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverDirectory, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverDirectory, - (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverDirectory, - false, - }, - { - "spoolss_DeletePrinterDriver", - sizeof(struct spoolss_DeletePrinterDriver), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriver, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriver, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriver, - false, - }, - { - "spoolss_AddPrintProcessor", - sizeof(struct spoolss_AddPrintProcessor), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProcessor, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProcessor, - (ndr_print_function_t) ndr_print_spoolss_AddPrintProcessor, - false, - }, - { - "spoolss_EnumPrintProcessors", - sizeof(struct spoolss_EnumPrintProcessors), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcessors, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcessors, - (ndr_print_function_t) ndr_print_spoolss_EnumPrintProcessors, - false, - }, - { - "spoolss_GetPrintProcessorDirectory", - sizeof(struct spoolss_GetPrintProcessorDirectory), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrintProcessorDirectory, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrintProcessorDirectory, - (ndr_print_function_t) ndr_print_spoolss_GetPrintProcessorDirectory, - false, - }, - { - "spoolss_StartDocPrinter", - sizeof(struct spoolss_StartDocPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_StartDocPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_StartDocPrinter, - (ndr_print_function_t) ndr_print_spoolss_StartDocPrinter, - false, - }, - { - "spoolss_StartPagePrinter", - sizeof(struct spoolss_StartPagePrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_StartPagePrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_StartPagePrinter, - (ndr_print_function_t) ndr_print_spoolss_StartPagePrinter, - false, - }, - { - "spoolss_WritePrinter", - sizeof(struct spoolss_WritePrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_WritePrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_WritePrinter, - (ndr_print_function_t) ndr_print_spoolss_WritePrinter, - false, - }, - { - "spoolss_EndPagePrinter", - sizeof(struct spoolss_EndPagePrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_EndPagePrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EndPagePrinter, - (ndr_print_function_t) ndr_print_spoolss_EndPagePrinter, - false, - }, - { - "spoolss_AbortPrinter", - sizeof(struct spoolss_AbortPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_AbortPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AbortPrinter, - (ndr_print_function_t) ndr_print_spoolss_AbortPrinter, - false, - }, - { - "spoolss_ReadPrinter", - sizeof(struct spoolss_ReadPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_ReadPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ReadPrinter, - (ndr_print_function_t) ndr_print_spoolss_ReadPrinter, - false, - }, - { - "spoolss_EndDocPrinter", - sizeof(struct spoolss_EndDocPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_EndDocPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EndDocPrinter, - (ndr_print_function_t) ndr_print_spoolss_EndDocPrinter, - false, - }, - { - "spoolss_AddJob", - sizeof(struct spoolss_AddJob), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddJob, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddJob, - (ndr_print_function_t) ndr_print_spoolss_AddJob, - false, - }, - { - "spoolss_ScheduleJob", - sizeof(struct spoolss_ScheduleJob), - (ndr_push_flags_fn_t) ndr_push_spoolss_ScheduleJob, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ScheduleJob, - (ndr_print_function_t) ndr_print_spoolss_ScheduleJob, - false, - }, - { - "spoolss_GetPrinterData", - sizeof(struct spoolss_GetPrinterData), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterData, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterData, - (ndr_print_function_t) ndr_print_spoolss_GetPrinterData, - false, - }, - { - "spoolss_SetPrinterData", - sizeof(struct spoolss_SetPrinterData), - (ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterData, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterData, - (ndr_print_function_t) ndr_print_spoolss_SetPrinterData, - false, - }, - { - "spoolss_WaitForPrinterChange", - sizeof(struct spoolss_WaitForPrinterChange), - (ndr_push_flags_fn_t) ndr_push_spoolss_WaitForPrinterChange, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_WaitForPrinterChange, - (ndr_print_function_t) ndr_print_spoolss_WaitForPrinterChange, - false, - }, - { - "spoolss_ClosePrinter", - sizeof(struct spoolss_ClosePrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_ClosePrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ClosePrinter, - (ndr_print_function_t) ndr_print_spoolss_ClosePrinter, - false, - }, - { - "spoolss_AddForm", - sizeof(struct spoolss_AddForm), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddForm, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddForm, - (ndr_print_function_t) ndr_print_spoolss_AddForm, - false, - }, - { - "spoolss_DeleteForm", - sizeof(struct spoolss_DeleteForm), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeleteForm, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteForm, - (ndr_print_function_t) ndr_print_spoolss_DeleteForm, - false, - }, - { - "spoolss_GetForm", - sizeof(struct spoolss_GetForm), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetForm, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetForm, - (ndr_print_function_t) ndr_print_spoolss_GetForm, - false, - }, - { - "spoolss_SetForm", - sizeof(struct spoolss_SetForm), - (ndr_push_flags_fn_t) ndr_push_spoolss_SetForm, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetForm, - (ndr_print_function_t) ndr_print_spoolss_SetForm, - false, - }, - { - "spoolss_EnumForms", - sizeof(struct spoolss_EnumForms), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumForms, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumForms, - (ndr_print_function_t) ndr_print_spoolss_EnumForms, - false, - }, - { - "spoolss_EnumPorts", - sizeof(struct spoolss_EnumPorts), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPorts, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPorts, - (ndr_print_function_t) ndr_print_spoolss_EnumPorts, - false, - }, - { - "spoolss_EnumMonitors", - sizeof(struct spoolss_EnumMonitors), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumMonitors, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumMonitors, - (ndr_print_function_t) ndr_print_spoolss_EnumMonitors, - false, - }, - { - "spoolss_AddPort", - sizeof(struct spoolss_AddPort), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPort, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPort, - (ndr_print_function_t) ndr_print_spoolss_AddPort, - false, - }, - { - "spoolss_ConfigurePort", - sizeof(struct spoolss_ConfigurePort), - (ndr_push_flags_fn_t) ndr_push_spoolss_ConfigurePort, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ConfigurePort, - (ndr_print_function_t) ndr_print_spoolss_ConfigurePort, - false, - }, - { - "spoolss_DeletePort", - sizeof(struct spoolss_DeletePort), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePort, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePort, - (ndr_print_function_t) ndr_print_spoolss_DeletePort, - false, - }, - { - "spoolss_CreatePrinterIC", - sizeof(struct spoolss_CreatePrinterIC), - (ndr_push_flags_fn_t) ndr_push_spoolss_CreatePrinterIC, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_CreatePrinterIC, - (ndr_print_function_t) ndr_print_spoolss_CreatePrinterIC, - false, - }, - { - "spoolss_PlayGDIScriptOnPrinterIC", - sizeof(struct spoolss_PlayGDIScriptOnPrinterIC), - (ndr_push_flags_fn_t) ndr_push_spoolss_PlayGDIScriptOnPrinterIC, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_PlayGDIScriptOnPrinterIC, - (ndr_print_function_t) ndr_print_spoolss_PlayGDIScriptOnPrinterIC, - false, - }, - { - "spoolss_DeletePrinterIC", - sizeof(struct spoolss_DeletePrinterIC), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterIC, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterIC, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterIC, - false, - }, - { - "spoolss_AddPrinterConnection", - sizeof(struct spoolss_AddPrinterConnection), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterConnection, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterConnection, - (ndr_print_function_t) ndr_print_spoolss_AddPrinterConnection, - false, - }, - { - "spoolss_DeletePrinterConnection", - sizeof(struct spoolss_DeletePrinterConnection), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterConnection, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterConnection, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterConnection, - false, - }, - { - "spoolss_PrinterMessageBox", - sizeof(struct spoolss_PrinterMessageBox), - (ndr_push_flags_fn_t) ndr_push_spoolss_PrinterMessageBox, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_PrinterMessageBox, - (ndr_print_function_t) ndr_print_spoolss_PrinterMessageBox, - false, - }, - { - "spoolss_AddMonitor", - sizeof(struct spoolss_AddMonitor), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddMonitor, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddMonitor, - (ndr_print_function_t) ndr_print_spoolss_AddMonitor, - false, - }, - { - "spoolss_DeleteMonitor", - sizeof(struct spoolss_DeleteMonitor), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeleteMonitor, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeleteMonitor, - (ndr_print_function_t) ndr_print_spoolss_DeleteMonitor, - false, - }, - { - "spoolss_DeletePrintProcessor", - sizeof(struct spoolss_DeletePrintProcessor), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProcessor, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProcessor, - (ndr_print_function_t) ndr_print_spoolss_DeletePrintProcessor, - false, - }, - { - "spoolss_AddPrintProvidor", - sizeof(struct spoolss_AddPrintProvidor), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrintProvidor, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrintProvidor, - (ndr_print_function_t) ndr_print_spoolss_AddPrintProvidor, - false, - }, - { - "spoolss_DeletePrintProvidor", - sizeof(struct spoolss_DeletePrintProvidor), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrintProvidor, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrintProvidor, - (ndr_print_function_t) ndr_print_spoolss_DeletePrintProvidor, - false, - }, - { - "spoolss_EnumPrintProcDataTypes", - sizeof(struct spoolss_EnumPrintProcDataTypes), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrintProcDataTypes, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrintProcDataTypes, - (ndr_print_function_t) ndr_print_spoolss_EnumPrintProcDataTypes, - false, - }, - { - "spoolss_ResetPrinter", - sizeof(struct spoolss_ResetPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinter, - (ndr_print_function_t) ndr_print_spoolss_ResetPrinter, - false, - }, - { - "spoolss_GetPrinterDriver2", - sizeof(struct spoolss_GetPrinterDriver2), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriver2, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriver2, - (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriver2, - false, - }, - { - "spoolss_FindFirstPrinterChangeNotification", - sizeof(struct spoolss_FindFirstPrinterChangeNotification), - (ndr_push_flags_fn_t) ndr_push_spoolss_FindFirstPrinterChangeNotification, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_FindFirstPrinterChangeNotification, - (ndr_print_function_t) ndr_print_spoolss_FindFirstPrinterChangeNotification, - false, - }, - { - "spoolss_FindNextPrinterChangeNotification", - sizeof(struct spoolss_FindNextPrinterChangeNotification), - (ndr_push_flags_fn_t) ndr_push_spoolss_FindNextPrinterChangeNotification, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_FindNextPrinterChangeNotification, - (ndr_print_function_t) ndr_print_spoolss_FindNextPrinterChangeNotification, - false, - }, - { - "spoolss_FindClosePrinterNotify", - sizeof(struct spoolss_FindClosePrinterNotify), - (ndr_push_flags_fn_t) ndr_push_spoolss_FindClosePrinterNotify, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_FindClosePrinterNotify, - (ndr_print_function_t) ndr_print_spoolss_FindClosePrinterNotify, - false, - }, - { - "spoolss_RouterFindFirstPrinterChangeNotificationOld", - sizeof(struct spoolss_RouterFindFirstPrinterChangeNotificationOld), - (ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotificationOld, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotificationOld, - (ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld, - false, - }, - { - "spoolss_ReplyOpenPrinter", - sizeof(struct spoolss_ReplyOpenPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_ReplyOpenPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyOpenPrinter, - (ndr_print_function_t) ndr_print_spoolss_ReplyOpenPrinter, - false, - }, - { - "spoolss_RouterReplyPrinter", - sizeof(struct spoolss_RouterReplyPrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinter, - (ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinter, - false, - }, - { - "spoolss_ReplyClosePrinter", - sizeof(struct spoolss_ReplyClosePrinter), - (ndr_push_flags_fn_t) ndr_push_spoolss_ReplyClosePrinter, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ReplyClosePrinter, - (ndr_print_function_t) ndr_print_spoolss_ReplyClosePrinter, - false, - }, - { - "spoolss_AddPortEx", - sizeof(struct spoolss_AddPortEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPortEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPortEx, - (ndr_print_function_t) ndr_print_spoolss_AddPortEx, - false, - }, - { - "spoolss_RouterFindFirstPrinterChangeNotification", - sizeof(struct spoolss_RouterFindFirstPrinterChangeNotification), - (ndr_push_flags_fn_t) ndr_push_spoolss_RouterFindFirstPrinterChangeNotification, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterFindFirstPrinterChangeNotification, - (ndr_print_function_t) ndr_print_spoolss_RouterFindFirstPrinterChangeNotification, - false, - }, - { - "spoolss_SpoolerInit", - sizeof(struct spoolss_SpoolerInit), - (ndr_push_flags_fn_t) ndr_push_spoolss_SpoolerInit, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_SpoolerInit, - (ndr_print_function_t) ndr_print_spoolss_SpoolerInit, - false, - }, - { - "spoolss_ResetPrinterEx", - sizeof(struct spoolss_ResetPrinterEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_ResetPrinterEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_ResetPrinterEx, - (ndr_print_function_t) ndr_print_spoolss_ResetPrinterEx, - false, - }, - { - "spoolss_RemoteFindFirstPrinterChangeNotifyEx", - sizeof(struct spoolss_RemoteFindFirstPrinterChangeNotifyEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx, - (ndr_print_function_t) ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx, - false, - }, - { - "spoolss_RouterReplyPrinterEx", - sizeof(struct spoolss_RouterReplyPrinterEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_RouterReplyPrinterEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterReplyPrinterEx, - (ndr_print_function_t) ndr_print_spoolss_RouterReplyPrinterEx, - false, - }, - { - "spoolss_RouterRefreshPrinterChangeNotify", - sizeof(struct spoolss_RouterRefreshPrinterChangeNotify), - (ndr_push_flags_fn_t) ndr_push_spoolss_RouterRefreshPrinterChangeNotify, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_RouterRefreshPrinterChangeNotify, - (ndr_print_function_t) ndr_print_spoolss_RouterRefreshPrinterChangeNotify, - false, - }, - { - "spoolss_44", - sizeof(struct spoolss_44), - (ndr_push_flags_fn_t) ndr_push_spoolss_44, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_44, - (ndr_print_function_t) ndr_print_spoolss_44, - false, - }, - { - "spoolss_OpenPrinterEx", - sizeof(struct spoolss_OpenPrinterEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_OpenPrinterEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_OpenPrinterEx, - (ndr_print_function_t) ndr_print_spoolss_OpenPrinterEx, - false, - }, - { - "spoolss_AddPrinterEx", - sizeof(struct spoolss_AddPrinterEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterEx, - (ndr_print_function_t) ndr_print_spoolss_AddPrinterEx, - false, - }, - { - "spoolss_47", - sizeof(struct spoolss_47), - (ndr_push_flags_fn_t) ndr_push_spoolss_47, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_47, - (ndr_print_function_t) ndr_print_spoolss_47, - false, - }, - { - "spoolss_EnumPrinterData", - sizeof(struct spoolss_EnumPrinterData), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterData, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterData, - (ndr_print_function_t) ndr_print_spoolss_EnumPrinterData, - false, - }, - { - "spoolss_DeletePrinterData", - sizeof(struct spoolss_DeletePrinterData), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterData, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterData, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterData, - false, - }, - { - "spoolss_4a", - sizeof(struct spoolss_4a), - (ndr_push_flags_fn_t) ndr_push_spoolss_4a, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_4a, - (ndr_print_function_t) ndr_print_spoolss_4a, - false, - }, - { - "spoolss_4b", - sizeof(struct spoolss_4b), - (ndr_push_flags_fn_t) ndr_push_spoolss_4b, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_4b, - (ndr_print_function_t) ndr_print_spoolss_4b, - false, - }, - { - "spoolss_4c", - sizeof(struct spoolss_4c), - (ndr_push_flags_fn_t) ndr_push_spoolss_4c, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_4c, - (ndr_print_function_t) ndr_print_spoolss_4c, - false, - }, - { - "spoolss_SetPrinterDataEx", - sizeof(struct spoolss_SetPrinterDataEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_SetPrinterDataEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_SetPrinterDataEx, - (ndr_print_function_t) ndr_print_spoolss_SetPrinterDataEx, - false, - }, - { - "spoolss_GetPrinterDataEx", - sizeof(struct spoolss_GetPrinterDataEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDataEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDataEx, - (ndr_print_function_t) ndr_print_spoolss_GetPrinterDataEx, - false, - }, - { - "spoolss_EnumPrinterDataEx", - sizeof(struct spoolss_EnumPrinterDataEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterDataEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterDataEx, - (ndr_print_function_t) ndr_print_spoolss_EnumPrinterDataEx, - false, - }, - { - "spoolss_EnumPrinterKey", - sizeof(struct spoolss_EnumPrinterKey), - (ndr_push_flags_fn_t) ndr_push_spoolss_EnumPrinterKey, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_EnumPrinterKey, - (ndr_print_function_t) ndr_print_spoolss_EnumPrinterKey, - false, - }, - { - "spoolss_DeletePrinterDataEx", - sizeof(struct spoolss_DeletePrinterDataEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDataEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDataEx, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterDataEx, - false, - }, - { - "spoolss_DeletePrinterKey", - sizeof(struct spoolss_DeletePrinterKey), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterKey, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterKey, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterKey, - false, - }, - { - "spoolss_53", - sizeof(struct spoolss_53), - (ndr_push_flags_fn_t) ndr_push_spoolss_53, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_53, - (ndr_print_function_t) ndr_print_spoolss_53, - false, - }, - { - "spoolss_DeletePrinterDriverEx", - sizeof(struct spoolss_DeletePrinterDriverEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_DeletePrinterDriverEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_DeletePrinterDriverEx, - (ndr_print_function_t) ndr_print_spoolss_DeletePrinterDriverEx, - false, - }, - { - "spoolss_55", - sizeof(struct spoolss_55), - (ndr_push_flags_fn_t) ndr_push_spoolss_55, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_55, - (ndr_print_function_t) ndr_print_spoolss_55, - false, - }, - { - "spoolss_56", - sizeof(struct spoolss_56), - (ndr_push_flags_fn_t) ndr_push_spoolss_56, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_56, - (ndr_print_function_t) ndr_print_spoolss_56, - false, - }, - { - "spoolss_57", - sizeof(struct spoolss_57), - (ndr_push_flags_fn_t) ndr_push_spoolss_57, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_57, - (ndr_print_function_t) ndr_print_spoolss_57, - false, - }, - { - "spoolss_XcvData", - sizeof(struct spoolss_XcvData), - (ndr_push_flags_fn_t) ndr_push_spoolss_XcvData, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_XcvData, - (ndr_print_function_t) ndr_print_spoolss_XcvData, - false, - }, - { - "spoolss_AddPrinterDriverEx", - sizeof(struct spoolss_AddPrinterDriverEx), - (ndr_push_flags_fn_t) ndr_push_spoolss_AddPrinterDriverEx, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_AddPrinterDriverEx, - (ndr_print_function_t) ndr_print_spoolss_AddPrinterDriverEx, - false, - }, - { - "spoolss_5a", - sizeof(struct spoolss_5a), - (ndr_push_flags_fn_t) ndr_push_spoolss_5a, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_5a, - (ndr_print_function_t) ndr_print_spoolss_5a, - false, - }, - { - "spoolss_5b", - sizeof(struct spoolss_5b), - (ndr_push_flags_fn_t) ndr_push_spoolss_5b, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_5b, - (ndr_print_function_t) ndr_print_spoolss_5b, - false, - }, - { - "spoolss_5c", - sizeof(struct spoolss_5c), - (ndr_push_flags_fn_t) ndr_push_spoolss_5c, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_5c, - (ndr_print_function_t) ndr_print_spoolss_5c, - false, - }, - { - "spoolss_5d", - sizeof(struct spoolss_5d), - (ndr_push_flags_fn_t) ndr_push_spoolss_5d, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_5d, - (ndr_print_function_t) ndr_print_spoolss_5d, - false, - }, - { - "spoolss_5e", - sizeof(struct spoolss_5e), - (ndr_push_flags_fn_t) ndr_push_spoolss_5e, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_5e, - (ndr_print_function_t) ndr_print_spoolss_5e, - false, - }, - { - "spoolss_5f", - sizeof(struct spoolss_5f), - (ndr_push_flags_fn_t) ndr_push_spoolss_5f, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_5f, - (ndr_print_function_t) ndr_print_spoolss_5f, - false, - }, - { - "spoolss_60", - sizeof(struct spoolss_60), - (ndr_push_flags_fn_t) ndr_push_spoolss_60, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_60, - (ndr_print_function_t) ndr_print_spoolss_60, - false, - }, - { - "spoolss_61", - sizeof(struct spoolss_61), - (ndr_push_flags_fn_t) ndr_push_spoolss_61, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_61, - (ndr_print_function_t) ndr_print_spoolss_61, - false, - }, - { - "spoolss_62", - sizeof(struct spoolss_62), - (ndr_push_flags_fn_t) ndr_push_spoolss_62, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_62, - (ndr_print_function_t) ndr_print_spoolss_62, - false, - }, - { - "spoolss_63", - sizeof(struct spoolss_63), - (ndr_push_flags_fn_t) ndr_push_spoolss_63, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_63, - (ndr_print_function_t) ndr_print_spoolss_63, - false, - }, - { - "spoolss_64", - sizeof(struct spoolss_64), - (ndr_push_flags_fn_t) ndr_push_spoolss_64, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_64, - (ndr_print_function_t) ndr_print_spoolss_64, - false, - }, - { - "spoolss_65", - sizeof(struct spoolss_65), - (ndr_push_flags_fn_t) ndr_push_spoolss_65, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_65, - (ndr_print_function_t) ndr_print_spoolss_65, - false, - }, - { - "spoolss_GetCorePrinterDrivers", - sizeof(struct spoolss_GetCorePrinterDrivers), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetCorePrinterDrivers, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetCorePrinterDrivers, - (ndr_print_function_t) ndr_print_spoolss_GetCorePrinterDrivers, - false, - }, - { - "spoolss_67", - sizeof(struct spoolss_67), - (ndr_push_flags_fn_t) ndr_push_spoolss_67, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_67, - (ndr_print_function_t) ndr_print_spoolss_67, - false, - }, - { - "spoolss_GetPrinterDriverPackagePath", - sizeof(struct spoolss_GetPrinterDriverPackagePath), - (ndr_push_flags_fn_t) ndr_push_spoolss_GetPrinterDriverPackagePath, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_GetPrinterDriverPackagePath, - (ndr_print_function_t) ndr_print_spoolss_GetPrinterDriverPackagePath, - false, - }, - { - "spoolss_69", - sizeof(struct spoolss_69), - (ndr_push_flags_fn_t) ndr_push_spoolss_69, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_69, - (ndr_print_function_t) ndr_print_spoolss_69, - false, - }, - { - "spoolss_6a", - sizeof(struct spoolss_6a), - (ndr_push_flags_fn_t) ndr_push_spoolss_6a, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_6a, - (ndr_print_function_t) ndr_print_spoolss_6a, - false, - }, - { - "spoolss_6b", - sizeof(struct spoolss_6b), - (ndr_push_flags_fn_t) ndr_push_spoolss_6b, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_6b, - (ndr_print_function_t) ndr_print_spoolss_6b, - false, - }, - { - "spoolss_6c", - sizeof(struct spoolss_6c), - (ndr_push_flags_fn_t) ndr_push_spoolss_6c, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_6c, - (ndr_print_function_t) ndr_print_spoolss_6c, - false, - }, - { - "spoolss_6d", - sizeof(struct spoolss_6d), - (ndr_push_flags_fn_t) ndr_push_spoolss_6d, - (ndr_pull_flags_fn_t) ndr_pull_spoolss_6d, - (ndr_print_function_t) ndr_print_spoolss_6d, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const spoolss_endpoint_strings[] = { - "ncacn_np:[\\pipe\\spoolss]", -}; - -static const struct ndr_interface_string_array spoolss_endpoints = { - .count = 1, - .names = spoolss_endpoint_strings -}; - -static const char * const spoolss_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array spoolss_authservices = { - .count = 1, - .names = spoolss_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_spoolss = { - .name = "spoolss", - .syntax_id = { - {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}}, - NDR_SPOOLSS_VERSION - }, - .helpstring = NDR_SPOOLSS_HELPSTRING, - .num_calls = 110, - .calls = spoolss_calls, - .endpoints = &spoolss_endpoints, - .authservices = &spoolss_authservices -}; - diff --git a/librpc/gen_ndr/ndr_spoolss.h b/librpc/gen_ndr/ndr_spoolss.h deleted file mode 100644 index 2f4411e1a9c..00000000000 --- a/librpc/gen_ndr/ndr_spoolss.h +++ /dev/null @@ -1,768 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/spoolss.h" - -#ifndef _HEADER_NDR_spoolss -#define _HEADER_NDR_spoolss - -#include "../librpc/ndr/ndr_spoolss_buf.h" -#define NDR_SPOOLSS_UUID "12345678-1234-abcd-ef00-0123456789ab" -#define NDR_SPOOLSS_VERSION 1.0 -#define NDR_SPOOLSS_NAME "spoolss" -#define NDR_SPOOLSS_HELPSTRING "Spooler SubSystem" -extern const struct ndr_interface_table ndr_table_spoolss; -#define NDR_SPOOLSS_ENUMPRINTERS (0x00) - -#define NDR_SPOOLSS_OPENPRINTER (0x01) - -#define NDR_SPOOLSS_SETJOB (0x02) - -#define NDR_SPOOLSS_GETJOB (0x03) - -#define NDR_SPOOLSS_ENUMJOBS (0x04) - -#define NDR_SPOOLSS_ADDPRINTER (0x05) - -#define NDR_SPOOLSS_DELETEPRINTER (0x06) - -#define NDR_SPOOLSS_SETPRINTER (0x07) - -#define NDR_SPOOLSS_GETPRINTER (0x08) - -#define NDR_SPOOLSS_ADDPRINTERDRIVER (0x09) - -#define NDR_SPOOLSS_ENUMPRINTERDRIVERS (0x0a) - -#define NDR_SPOOLSS_GETPRINTERDRIVER (0x0b) - -#define NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY (0x0c) - -#define NDR_SPOOLSS_DELETEPRINTERDRIVER (0x0d) - -#define NDR_SPOOLSS_ADDPRINTPROCESSOR (0x0e) - -#define NDR_SPOOLSS_ENUMPRINTPROCESSORS (0x0f) - -#define NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY (0x10) - -#define NDR_SPOOLSS_STARTDOCPRINTER (0x11) - -#define NDR_SPOOLSS_STARTPAGEPRINTER (0x12) - -#define NDR_SPOOLSS_WRITEPRINTER (0x13) - -#define NDR_SPOOLSS_ENDPAGEPRINTER (0x14) - -#define NDR_SPOOLSS_ABORTPRINTER (0x15) - -#define NDR_SPOOLSS_READPRINTER (0x16) - -#define NDR_SPOOLSS_ENDDOCPRINTER (0x17) - -#define NDR_SPOOLSS_ADDJOB (0x18) - -#define NDR_SPOOLSS_SCHEDULEJOB (0x19) - -#define NDR_SPOOLSS_GETPRINTERDATA (0x1a) - -#define NDR_SPOOLSS_SETPRINTERDATA (0x1b) - -#define NDR_SPOOLSS_WAITFORPRINTERCHANGE (0x1c) - -#define NDR_SPOOLSS_CLOSEPRINTER (0x1d) - -#define NDR_SPOOLSS_ADDFORM (0x1e) - -#define NDR_SPOOLSS_DELETEFORM (0x1f) - -#define NDR_SPOOLSS_GETFORM (0x20) - -#define NDR_SPOOLSS_SETFORM (0x21) - -#define NDR_SPOOLSS_ENUMFORMS (0x22) - -#define NDR_SPOOLSS_ENUMPORTS (0x23) - -#define NDR_SPOOLSS_ENUMMONITORS (0x24) - -#define NDR_SPOOLSS_ADDPORT (0x25) - -#define NDR_SPOOLSS_CONFIGUREPORT (0x26) - -#define NDR_SPOOLSS_DELETEPORT (0x27) - -#define NDR_SPOOLSS_CREATEPRINTERIC (0x28) - -#define NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC (0x29) - -#define NDR_SPOOLSS_DELETEPRINTERIC (0x2a) - -#define NDR_SPOOLSS_ADDPRINTERCONNECTION (0x2b) - -#define NDR_SPOOLSS_DELETEPRINTERCONNECTION (0x2c) - -#define NDR_SPOOLSS_PRINTERMESSAGEBOX (0x2d) - -#define NDR_SPOOLSS_ADDMONITOR (0x2e) - -#define NDR_SPOOLSS_DELETEMONITOR (0x2f) - -#define NDR_SPOOLSS_DELETEPRINTPROCESSOR (0x30) - -#define NDR_SPOOLSS_ADDPRINTPROVIDOR (0x31) - -#define NDR_SPOOLSS_DELETEPRINTPROVIDOR (0x32) - -#define NDR_SPOOLSS_ENUMPRINTPROCDATATYPES (0x33) - -#define NDR_SPOOLSS_RESETPRINTER (0x34) - -#define NDR_SPOOLSS_GETPRINTERDRIVER2 (0x35) - -#define NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION (0x36) - -#define NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION (0x37) - -#define NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY (0x38) - -#define NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD (0x39) - -#define NDR_SPOOLSS_REPLYOPENPRINTER (0x3a) - -#define NDR_SPOOLSS_ROUTERREPLYPRINTER (0x3b) - -#define NDR_SPOOLSS_REPLYCLOSEPRINTER (0x3c) - -#define NDR_SPOOLSS_ADDPORTEX (0x3d) - -#define NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION (0x3e) - -#define NDR_SPOOLSS_SPOOLERINIT (0x3f) - -#define NDR_SPOOLSS_RESETPRINTEREX (0x40) - -#define NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX (0x41) - -#define NDR_SPOOLSS_ROUTERREPLYPRINTEREX (0x42) - -#define NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY (0x43) - -#define NDR_SPOOLSS_44 (0x44) - -#define NDR_SPOOLSS_OPENPRINTEREX (0x45) - -#define NDR_SPOOLSS_ADDPRINTEREX (0x46) - -#define NDR_SPOOLSS_47 (0x47) - -#define NDR_SPOOLSS_ENUMPRINTERDATA (0x48) - -#define NDR_SPOOLSS_DELETEPRINTERDATA (0x49) - -#define NDR_SPOOLSS_4A (0x4a) - -#define NDR_SPOOLSS_4B (0x4b) - -#define NDR_SPOOLSS_4C (0x4c) - -#define NDR_SPOOLSS_SETPRINTERDATAEX (0x4d) - -#define NDR_SPOOLSS_GETPRINTERDATAEX (0x4e) - -#define NDR_SPOOLSS_ENUMPRINTERDATAEX (0x4f) - -#define NDR_SPOOLSS_ENUMPRINTERKEY (0x50) - -#define NDR_SPOOLSS_DELETEPRINTERDATAEX (0x51) - -#define NDR_SPOOLSS_DELETEPRINTERKEY (0x52) - -#define NDR_SPOOLSS_53 (0x53) - -#define NDR_SPOOLSS_DELETEPRINTERDRIVEREX (0x54) - -#define NDR_SPOOLSS_55 (0x55) - -#define NDR_SPOOLSS_56 (0x56) - -#define NDR_SPOOLSS_57 (0x57) - -#define NDR_SPOOLSS_XCVDATA (0x58) - -#define NDR_SPOOLSS_ADDPRINTERDRIVEREX (0x59) - -#define NDR_SPOOLSS_5A (0x5a) - -#define NDR_SPOOLSS_5B (0x5b) - -#define NDR_SPOOLSS_5C (0x5c) - -#define NDR_SPOOLSS_5D (0x5d) - -#define NDR_SPOOLSS_5E (0x5e) - -#define NDR_SPOOLSS_5F (0x5f) - -#define NDR_SPOOLSS_60 (0x60) - -#define NDR_SPOOLSS_61 (0x61) - -#define NDR_SPOOLSS_62 (0x62) - -#define NDR_SPOOLSS_63 (0x63) - -#define NDR_SPOOLSS_64 (0x64) - -#define NDR_SPOOLSS_65 (0x65) - -#define NDR_SPOOLSS_GETCOREPRINTERDRIVERS (0x66) - -#define NDR_SPOOLSS_67 (0x67) - -#define NDR_SPOOLSS_GETPRINTERDRIVERPACKAGEPATH (0x68) - -#define NDR_SPOOLSS_69 (0x69) - -#define NDR_SPOOLSS_6A (0x6a) - -#define NDR_SPOOLSS_6B (0x6b) - -#define NDR_SPOOLSS_6C (0x6c) - -#define NDR_SPOOLSS_6D (0x6d) - -#define NDR_SPOOLSS_CALL_COUNT (110) -void ndr_print_spoolss_Time(struct ndr_print *ndr, const char *name, const struct spoolss_Time *r); -void ndr_print_spoolss_TimeCtr(struct ndr_print *ndr, const char *name, const struct spoolss_TimeCtr *r); -void ndr_print_spoolss_ProcessorArchitecture(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorArchitecture r); -void ndr_print_spoolss_ProcessorType(struct ndr_print *ndr, const char *name, enum spoolss_ProcessorType r); -void ndr_print_spoolss_MajorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MajorVersion r); -void ndr_print_spoolss_MinorVersion(struct ndr_print *ndr, const char *name, enum spoolss_MinorVersion r); -enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_spoolss_PrinterStatus(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_JobStatus(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_Build(struct ndr_print *ndr, const char *name, enum spoolss_Build r); -enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo0 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo0 *r); -void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r); -size_t ndr_size_spoolss_PrinterInfo0(const struct spoolss_PrinterInfo0 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DM_Signature(struct ndr_print *ndr, const char *name, enum spoolss_DM_Signature r); -void ndr_print_spoolss_DM_Layout(struct ndr_print *ndr, const char *name, enum spoolss_DM_Layout r); -void ndr_print_spoolss_DM_NupDirection(struct ndr_print *ndr, const char *name, enum spoolss_DM_NupDirection r); -void ndr_print_spoolss_DM_NupBorderFlags(struct ndr_print *ndr, const char *name, enum spoolss_DM_NupBorderFlags r); -void ndr_print_spoolss_DM_BookletFlags(struct ndr_print *ndr, const char *name, enum spoolss_DM_BookletFlags r); -void ndr_print_spoolss_DMUNI_Quality(struct ndr_print *ndr, const char *name, enum spoolss_DMUNI_Quality r); -void ndr_print_spoolss_DMUNI_Flags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_UNIDRVEXTRA(struct ndr_push *ndr, int ndr_flags, const struct spoolss_UNIDRVEXTRA *r); -enum ndr_err_code ndr_pull_spoolss_UNIDRVEXTRA(struct ndr_pull *ndr, int ndr_flags, struct spoolss_UNIDRVEXTRA *r); -void ndr_print_spoolss_UNIDRVEXTRA(struct ndr_print *ndr, const char *name, const struct spoolss_UNIDRVEXTRA *r); -size_t ndr_size_spoolss_UNIDRVEXTRA(const struct spoolss_UNIDRVEXTRA *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r); -void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r); -void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r); -void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r); -void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r); -void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r); -void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r); -void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r); -void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r); -void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r); -void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r); -void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r); -void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r); -void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType r); -enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r); -enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r); -void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r); -size_t ndr_size_spoolss_DeviceMode(const struct spoolss_DeviceMode *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_EnumPrinterFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_spoolss_EnumPrinterFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_spoolss_PrinterAttributes(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo1 *r); -void ndr_print_spoolss_PrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo1 *r); -size_t ndr_size_spoolss_PrinterInfo1(const struct spoolss_PrinterInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo2 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo2 *r); -void ndr_print_spoolss_PrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo2 *r); -size_t ndr_size_spoolss_PrinterInfo2(const struct spoolss_PrinterInfo2 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrinterInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo3 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo3 *r); -void ndr_print_spoolss_PrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo3 *r); -size_t ndr_size_spoolss_PrinterInfo3(const struct spoolss_PrinterInfo3 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrinterInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo4 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo4 *r); -void ndr_print_spoolss_PrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo4 *r); -size_t ndr_size_spoolss_PrinterInfo4(const struct spoolss_PrinterInfo4 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrinterInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo5 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo5 *r); -void ndr_print_spoolss_PrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo5 *r); -size_t ndr_size_spoolss_PrinterInfo5(const struct spoolss_PrinterInfo5 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrinterInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo6 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo6 *r); -void ndr_print_spoolss_PrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo6 *r); -size_t ndr_size_spoolss_PrinterInfo6(const struct spoolss_PrinterInfo6 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DsPrintAction(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_PrinterInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo7 *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterInfo7 *r); -void ndr_print_spoolss_PrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo7 *r); -size_t ndr_size_spoolss_PrinterInfo7(const struct spoolss_PrinterInfo7 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DeviceModeInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceModeInfo *r); -enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r); -enum ndr_err_code ndr_pull_spoolss_PrinterInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterInfo *r); -void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r); -size_t ndr_size_spoolss_PrinterInfo(const union spoolss_PrinterInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DevmodeContainer(struct ndr_print *ndr, const char *name, const struct spoolss_DevmodeContainer *r); -enum ndr_err_code ndr_push_spoolss_JobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_JobInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo1 *r); -void ndr_print_spoolss_JobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo1 *r); -size_t ndr_size_spoolss_JobInfo1(const struct spoolss_JobInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_JobInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo2 *r); -enum ndr_err_code ndr_pull_spoolss_JobInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo2 *r); -void ndr_print_spoolss_JobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo2 *r); -size_t ndr_size_spoolss_JobInfo2(const struct spoolss_JobInfo2 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_JobInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo3 *r); -enum ndr_err_code ndr_pull_spoolss_JobInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo3 *r); -void ndr_print_spoolss_JobInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo3 *r); -size_t ndr_size_spoolss_JobInfo3(const struct spoolss_JobInfo3 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_JobInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_JobInfo4 *r); -enum ndr_err_code ndr_pull_spoolss_JobInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_JobInfo4 *r); -void ndr_print_spoolss_JobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfo4 *r); -size_t ndr_size_spoolss_JobInfo4(const struct spoolss_JobInfo4 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r); -enum ndr_err_code ndr_pull_spoolss_JobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_JobInfo *r); -void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r); -size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_SetJobInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo1 *r); -void ndr_print_spoolss_SetJobInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo2 *r); -void ndr_print_spoolss_SetJobInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetJobInfo4 *r); -enum ndr_err_code ndr_push_spoolss_SetJobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetJobInfo *r); -enum ndr_err_code ndr_pull_spoolss_SetJobInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_SetJobInfo *r); -void ndr_print_spoolss_SetJobInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetJobInfo *r); -void ndr_print_spoolss_JobInfoContainer(struct ndr_print *ndr, const char *name, const struct spoolss_JobInfoContainer *r); -void ndr_print_spoolss_JobControl(struct ndr_print *ndr, const char *name, enum spoolss_JobControl r); -void ndr_print_spoolss_PrinterControl(struct ndr_print *ndr, const char *name, enum spoolss_PrinterControl r); -void ndr_print_spoolss_SetPrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo0 *r); -void ndr_print_spoolss_SetPrinterInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo1 *r); -void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo2 *r); -void ndr_print_spoolss_SetPrinterInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo3 *r); -void ndr_print_spoolss_SetPrinterInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo4 *r); -void ndr_print_spoolss_SetPrinterInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo5 *r); -void ndr_print_spoolss_SetPrinterInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo6 *r); -void ndr_print_spoolss_SetPrinterInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo7 *r); -void ndr_print_spoolss_SetPrinterInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo8 *r); -void ndr_print_spoolss_SetPrinterInfo9(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo9 *r); -void ndr_print_spoolss_SetPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_SetPrinterInfo *r); -void ndr_print_spoolss_SetPrinterInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfoCtr *r); -enum ndr_err_code ndr_push_spoolss_StringArray(struct ndr_push *ndr, int ndr_flags, const struct spoolss_StringArray *r); -enum ndr_err_code ndr_pull_spoolss_StringArray(struct ndr_pull *ndr, int ndr_flags, struct spoolss_StringArray *r); -void ndr_print_spoolss_StringArray(struct ndr_print *ndr, const char *name, const struct spoolss_StringArray *r); -void ndr_print_spoolss_AddDriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo1 *r); -enum ndr_err_code ndr_push_spoolss_DriverOSVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DriverOSVersion r); -enum ndr_err_code ndr_pull_spoolss_DriverOSVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DriverOSVersion *r); -void ndr_print_spoolss_DriverOSVersion(struct ndr_print *ndr, const char *name, enum spoolss_DriverOSVersion r); -void ndr_print_spoolss_AddDriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo2 *r); -void ndr_print_spoolss_AddDriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo3 *r); -void ndr_print_spoolss_AddDriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo4 *r); -void ndr_print_spoolss_DriverAttributes(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_AddDriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo6 *r); -void ndr_print_spoolss_AddDriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfo8 *r); -void ndr_print_spoolss_AddDriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddDriverInfo *r); -void ndr_print_spoolss_AddDriverInfoCtr(struct ndr_print *ndr, const char *name, const struct spoolss_AddDriverInfoCtr *r); -enum ndr_err_code ndr_push_spoolss_DriverInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo1 *r); -void ndr_print_spoolss_DriverInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo1 *r); -size_t ndr_size_spoolss_DriverInfo1(const struct spoolss_DriverInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo2 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo2 *r); -void ndr_print_spoolss_DriverInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo2 *r); -size_t ndr_size_spoolss_DriverInfo2(const struct spoolss_DriverInfo2 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo3 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo3 *r); -void ndr_print_spoolss_DriverInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo3 *r); -size_t ndr_size_spoolss_DriverInfo3(const struct spoolss_DriverInfo3 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo4(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo4 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo4(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo4 *r); -void ndr_print_spoolss_DriverInfo4(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo4 *r); -size_t ndr_size_spoolss_DriverInfo4(const struct spoolss_DriverInfo4 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo5(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo5 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo5(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo5 *r); -void ndr_print_spoolss_DriverInfo5(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo5 *r); -size_t ndr_size_spoolss_DriverInfo5(const struct spoolss_DriverInfo5 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo6(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo6 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo6(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo6 *r); -void ndr_print_spoolss_DriverInfo6(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo6 *r); -size_t ndr_size_spoolss_DriverInfo6(const struct spoolss_DriverInfo6 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo7 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo7 *r); -void ndr_print_spoolss_DriverInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo7 *r); -size_t ndr_size_spoolss_DriverInfo7(const struct spoolss_DriverInfo7 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo8 *r); -void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo8 *r); -size_t ndr_size_spoolss_DriverInfo8(const struct spoolss_DriverInfo8 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DriverFileType(struct ndr_print *ndr, const char *name, enum spoolss_DriverFileType r); -enum ndr_err_code ndr_push_spoolss_DriverFileInfo(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverFileInfo *r); -enum ndr_err_code ndr_pull_spoolss_DriverFileInfo(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverFileInfo *r); -void ndr_print_spoolss_DriverFileInfo(struct ndr_print *ndr, const char *name, const struct spoolss_DriverFileInfo *r); -enum ndr_err_code ndr_push_spoolss_DriverInfo101(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo101 *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo101(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo101 *r); -void ndr_print_spoolss_DriverInfo101(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo101 *r); -size_t ndr_size_spoolss_DriverInfo101(const struct spoolss_DriverInfo101 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r); -enum ndr_err_code ndr_pull_spoolss_DriverInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverInfo *r); -void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r); -size_t ndr_size_spoolss_DriverInfo(const union spoolss_DriverInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverDirectoryInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverDirectoryInfo1 *r); -void ndr_print_spoolss_DriverDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DriverDirectoryInfo1 *r); -size_t ndr_size_spoolss_DriverDirectoryInfo1(const struct spoolss_DriverDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r); -enum ndr_err_code ndr_pull_spoolss_DriverDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_DriverDirectoryInfo *r); -void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r); -size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorInfo1 *r); -void ndr_print_spoolss_PrintProcessorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorInfo1 *r); -size_t ndr_size_spoolss_PrintProcessorInfo1(const struct spoolss_PrintProcessorInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r); -enum ndr_err_code ndr_pull_spoolss_PrintProcessorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorInfo *r); -void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r); -enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcessorDirectoryInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcessorDirectoryInfo1 *r); -void ndr_print_spoolss_PrintProcessorDirectoryInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcessorDirectoryInfo1 *r); -size_t ndr_size_spoolss_PrintProcessorDirectoryInfo1(const struct spoolss_PrintProcessorDirectoryInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorDirectoryInfo *r); -enum ndr_err_code ndr_pull_spoolss_PrintProcessorDirectoryInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcessorDirectoryInfo *r); -void ndr_print_spoolss_PrintProcessorDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorDirectoryInfo *r); -size_t ndr_size_spoolss_PrintProcessorDirectoryInfo(const union spoolss_PrintProcessorDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_DocumentInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_DocumentInfo1 *r); -void ndr_print_spoolss_DocumentInfo(struct ndr_print *ndr, const char *name, const union spoolss_DocumentInfo *r); -enum ndr_err_code ndr_push_spoolss_OSVersion(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersion *r); -enum ndr_err_code ndr_pull_spoolss_OSVersion(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersion *r); -void ndr_print_spoolss_OSVersion(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersion *r); -size_t ndr_size_spoolss_OSVersion(const struct spoolss_OSVersion *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_OSVersionEx(struct ndr_push *ndr, int ndr_flags, const struct spoolss_OSVersionEx *r); -enum ndr_err_code ndr_pull_spoolss_OSVersionEx(struct ndr_pull *ndr, int ndr_flags, struct spoolss_OSVersionEx *r); -void ndr_print_spoolss_OSVersionEx(struct ndr_print *ndr, const char *name, const struct spoolss_OSVersionEx *r); -size_t ndr_size_spoolss_OSVersionEx(const struct spoolss_OSVersionEx *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrinterData(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterData *r); -enum ndr_err_code ndr_pull_spoolss_PrinterData(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrinterData *r); -void ndr_print_spoolss_PrinterData(struct ndr_print *ndr, const char *name, const union spoolss_PrinterData *r); -void ndr_print_spoolss_FormFlags(struct ndr_print *ndr, const char *name, enum spoolss_FormFlags r); -void ndr_print_spoolss_FormSize(struct ndr_print *ndr, const char *name, const struct spoolss_FormSize *r); -void ndr_print_spoolss_FormArea(struct ndr_print *ndr, const char *name, const struct spoolss_FormArea *r); -enum ndr_err_code ndr_push_spoolss_FormInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_FormInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo1 *r); -void ndr_print_spoolss_FormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo1 *r); -size_t ndr_size_spoolss_FormInfo1(const struct spoolss_FormInfo1 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_FormStringType(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_FormInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_FormInfo2 *r); -enum ndr_err_code ndr_pull_spoolss_FormInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_FormInfo2 *r); -void ndr_print_spoolss_FormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_FormInfo2 *r); -size_t ndr_size_spoolss_FormInfo2(const struct spoolss_FormInfo2 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r); -enum ndr_err_code ndr_pull_spoolss_FormInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_FormInfo *r); -void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r); -size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_AddFormInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo1 *r); -void ndr_print_spoolss_AddFormInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_AddFormInfo2 *r); -void ndr_print_spoolss_AddFormInfo(struct ndr_print *ndr, const char *name, const union spoolss_AddFormInfo *r); -enum ndr_err_code ndr_push_spoolss_PortInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_PortInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo1 *r); -void ndr_print_spoolss_PortInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo1 *r); -size_t ndr_size_spoolss_PortInfo1(const struct spoolss_PortInfo1 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_PortType(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_PortInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo2 *r); -enum ndr_err_code ndr_pull_spoolss_PortInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo2 *r); -void ndr_print_spoolss_PortInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo2 *r); -size_t ndr_size_spoolss_PortInfo2(const struct spoolss_PortInfo2 *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_PortStatus(struct ndr_print *ndr, const char *name, enum spoolss_PortStatus r); -void ndr_print_spoolss_PortSeverity(struct ndr_print *ndr, const char *name, enum spoolss_PortSeverity r); -enum ndr_err_code ndr_push_spoolss_PortInfo3(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfo3 *r); -enum ndr_err_code ndr_pull_spoolss_PortInfo3(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfo3 *r); -void ndr_print_spoolss_PortInfo3(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfo3 *r); -size_t ndr_size_spoolss_PortInfo3(const struct spoolss_PortInfo3 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PortInfoFF(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortInfoFF *r); -enum ndr_err_code ndr_pull_spoolss_PortInfoFF(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortInfoFF *r); -void ndr_print_spoolss_PortInfoFF(struct ndr_print *ndr, const char *name, const struct spoolss_PortInfoFF *r); -size_t ndr_size_spoolss_PortInfoFF(const struct spoolss_PortInfoFF *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r); -enum ndr_err_code ndr_pull_spoolss_PortInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PortInfo *r); -void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r); -enum ndr_err_code ndr_push_spoolss_MonitorInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_MonitorInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo1 *r); -void ndr_print_spoolss_MonitorInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo1 *r); -size_t ndr_size_spoolss_MonitorInfo1(const struct spoolss_MonitorInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_MonitorInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorInfo2 *r); -enum ndr_err_code ndr_pull_spoolss_MonitorInfo2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorInfo2 *r); -void ndr_print_spoolss_MonitorInfo2(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorInfo2 *r); -size_t ndr_size_spoolss_MonitorInfo2(const struct spoolss_MonitorInfo2 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r); -enum ndr_err_code ndr_pull_spoolss_MonitorInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_MonitorInfo *r); -void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r); -enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrintProcDataTypesInfo1 *r); -enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrintProcDataTypesInfo1 *r); -void ndr_print_spoolss_PrintProcDataTypesInfo1(struct ndr_print *ndr, const char *name, const struct spoolss_PrintProcDataTypesInfo1 *r); -size_t ndr_size_spoolss_PrintProcDataTypesInfo1(const struct spoolss_PrintProcDataTypesInfo1 *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcDataTypesInfo *r); -enum ndr_err_code ndr_pull_spoolss_PrintProcDataTypesInfo(struct ndr_pull *ndr, int ndr_flags, union spoolss_PrintProcDataTypesInfo *r); -void ndr_print_spoolss_PrintProcDataTypesInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcDataTypesInfo *r); -void ndr_print_spoolss_PrinterChangeFlags(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_JobNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_JobNotifyField r); -enum ndr_err_code ndr_pull_spoolss_JobNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_JobNotifyField *r); -void ndr_print_spoolss_JobNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_JobNotifyField r); -enum ndr_err_code ndr_push_spoolss_PrintNotifyField(struct ndr_push *ndr, int ndr_flags, enum spoolss_PrintNotifyField r); -enum ndr_err_code ndr_pull_spoolss_PrintNotifyField(struct ndr_pull *ndr, int ndr_flags, enum spoolss_PrintNotifyField *r); -void ndr_print_spoolss_PrintNotifyField(struct ndr_print *ndr, const char *name, enum spoolss_PrintNotifyField r); -void ndr_print_spoolss_NotifyType(struct ndr_print *ndr, const char *name, enum spoolss_NotifyType r); -void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, const union spoolss_Field *r); -void ndr_print_spoolss_NotifyOptionType(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOptionType *r); -void ndr_print_spoolssNotifyOptionFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_NotifyOption(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyOption *r); -void ndr_print_spoolss_NotifyString(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyString *r); -void ndr_print_spoolss_NotifyTable(struct ndr_print *ndr, const char *name, enum spoolss_NotifyTable r); -void ndr_print_spoolss_NotifyData(struct ndr_print *ndr, const char *name, const union spoolss_NotifyData *r); -void ndr_print_spoolss_Notify(struct ndr_print *ndr, const char *name, const struct spoolss_Notify *r); -void ndr_print_spoolss_NotifyInfo(struct ndr_print *ndr, const char *name, const struct spoolss_NotifyInfo *r); -void ndr_print_spoolss_ReplyPrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_ReplyPrinterInfo *r); -void ndr_print_spoolss_PrinterNotifyFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_UserLevel1(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel1 *r); -void ndr_print_spoolss_UserLevel2(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel2 *r); -void ndr_print_spoolss_UserLevel3(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevel3 *r); -void ndr_print_spoolss_UserLevel(struct ndr_print *ndr, const char *name, const union spoolss_UserLevel *r); -void ndr_print_spoolss_UserLevelCtr(struct ndr_print *ndr, const char *name, const struct spoolss_UserLevelCtr *r); -void ndr_print_spoolss_AccessRights(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_spoolss_PrinterEnumValues(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterEnumValues *r); -enum ndr_err_code ndr_pull_spoolss_PrinterEnumValues(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PrinterEnumValues *r); -void ndr_print_spoolss_PrinterEnumValues(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterEnumValues *r); -size_t ndr_size_spoolss_PrinterEnumValues(const struct spoolss_PrinterEnumValues *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_spoolss_KeyNames(struct ndr_print *ndr, const char *name, const union spoolss_KeyNames *r); -enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_PortProtocol(struct ndr_print *ndr, const char *name, enum spoolss_PortProtocol r); -enum ndr_err_code ndr_push_spoolss_PortData1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData1 *r); -enum ndr_err_code ndr_pull_spoolss_PortData1(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData1 *r); -void ndr_print_spoolss_PortData1(struct ndr_print *ndr, const char *name, const struct spoolss_PortData1 *r); -enum ndr_err_code ndr_push_spoolss_PortData2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PortData2 *r); -enum ndr_err_code ndr_pull_spoolss_PortData2(struct ndr_pull *ndr, int ndr_flags, struct spoolss_PortData2 *r); -void ndr_print_spoolss_PortData2(struct ndr_print *ndr, const char *name, const struct spoolss_PortData2 *r); -enum ndr_err_code ndr_push_spoolss_MonitorUi(struct ndr_push *ndr, int ndr_flags, const struct spoolss_MonitorUi *r); -enum ndr_err_code ndr_pull_spoolss_MonitorUi(struct ndr_pull *ndr, int ndr_flags, struct spoolss_MonitorUi *r); -void ndr_print_spoolss_MonitorUi(struct ndr_print *ndr, const char *name, const struct spoolss_MonitorUi *r); -void ndr_print_spoolss_AddPrinterDriverExFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_spoolss_CorePrinterDriver(struct ndr_print *ndr, const char *name, const struct spoolss_CorePrinterDriver *r); -enum ndr_err_code ndr_push__spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinters *r); -enum ndr_err_code ndr_pull__spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinters *r); -void ndr_print__spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumPrinters *r); -enum ndr_err_code ndr_push___spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinters *r); -enum ndr_err_code ndr_pull___spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinters *r); -void ndr_print___spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumPrinters *r); -enum ndr_err_code ndr_push_spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinters *r); -enum ndr_err_code ndr_pull_spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinters *r); -void ndr_print_spoolss_EnumPrinters(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinters *r); -enum ndr_err_code ndr_push_spoolss_OpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinter *r); -enum ndr_err_code ndr_pull_spoolss_OpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinter *r); -void ndr_print_spoolss_OpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinter *r); -void ndr_print_spoolss_SetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetJob *r); -void ndr_print_spoolss_GetJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetJob *r); -enum ndr_err_code ndr_push__spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct _spoolss_EnumJobs *r); -enum ndr_err_code ndr_pull__spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct _spoolss_EnumJobs *r); -void ndr_print__spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumJobs *r); -enum ndr_err_code ndr_push___spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct __spoolss_EnumJobs *r); -enum ndr_err_code ndr_pull___spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct __spoolss_EnumJobs *r); -void ndr_print___spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumJobs *r); -enum ndr_err_code ndr_push_spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct spoolss_EnumJobs *r); -enum ndr_err_code ndr_pull_spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct spoolss_EnumJobs *r); -void ndr_print_spoolss_EnumJobs(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumJobs *r); -void ndr_print_spoolss_AddPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinter *r); -void ndr_print_spoolss_DeletePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinter *r); -void ndr_print_spoolss_SetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinter *r); -enum ndr_err_code ndr_push_spoolss_GetPrinter(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinter *r); -enum ndr_err_code ndr_pull_spoolss_GetPrinter(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinter *r); -void ndr_print_spoolss_GetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinter *r); -void ndr_print_spoolss_AddPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriver *r); -enum ndr_err_code ndr_push__spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDrivers *r); -enum ndr_err_code ndr_pull__spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDrivers *r); -void ndr_print__spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumPrinterDrivers *r); -enum ndr_err_code ndr_push___spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDrivers *r); -enum ndr_err_code ndr_pull___spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDrivers *r); -void ndr_print___spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumPrinterDrivers *r); -enum ndr_err_code ndr_push_spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterDrivers *r); -enum ndr_err_code ndr_pull_spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterDrivers *r); -void ndr_print_spoolss_EnumPrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDrivers *r); -void ndr_print_spoolss_GetPrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver *r); -enum ndr_err_code ndr_push_spoolss_GetPrinterDriverDirectory(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDriverDirectory *r); -enum ndr_err_code ndr_pull_spoolss_GetPrinterDriverDirectory(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDriverDirectory *r); -void ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverDirectory *r); -void ndr_print_spoolss_DeletePrinterDriver(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriver *r); -void ndr_print_spoolss_AddPrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProcessor *r); -enum ndr_err_code ndr_push__spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcessors *r); -enum ndr_err_code ndr_pull__spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcessors *r); -void ndr_print__spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumPrintProcessors *r); -enum ndr_err_code ndr_push___spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcessors *r); -enum ndr_err_code ndr_pull___spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcessors *r); -void ndr_print___spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumPrintProcessors *r); -enum ndr_err_code ndr_push_spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrintProcessors *r); -enum ndr_err_code ndr_pull_spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrintProcessors *r); -void ndr_print_spoolss_EnumPrintProcessors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcessors *r); -void ndr_print_spoolss_GetPrintProcessorDirectory(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrintProcessorDirectory *r); -void ndr_print_spoolss_StartDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartDocPrinter *r); -void ndr_print_spoolss_StartPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_StartPagePrinter *r); -void ndr_print_spoolss_WritePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WritePrinter *r); -void ndr_print_spoolss_EndPagePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndPagePrinter *r); -void ndr_print_spoolss_AbortPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AbortPrinter *r); -void ndr_print_spoolss_ReadPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReadPrinter *r); -void ndr_print_spoolss_EndDocPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EndDocPrinter *r); -void ndr_print_spoolss_AddJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddJob *r); -void ndr_print_spoolss_ScheduleJob(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ScheduleJob *r); -void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r); -void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r); -void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r); -enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r); -enum ndr_err_code ndr_pull_spoolss_ClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ClosePrinter *r); -void ndr_print_spoolss_ClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ClosePrinter *r); -void ndr_print_spoolss_AddForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddForm *r); -void ndr_print_spoolss_DeleteForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteForm *r); -void ndr_print_spoolss_GetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetForm *r); -void ndr_print_spoolss_SetForm(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetForm *r); -enum ndr_err_code ndr_push__spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct _spoolss_EnumForms *r); -enum ndr_err_code ndr_pull__spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct _spoolss_EnumForms *r); -void ndr_print__spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumForms *r); -enum ndr_err_code ndr_push___spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct __spoolss_EnumForms *r); -enum ndr_err_code ndr_pull___spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct __spoolss_EnumForms *r); -void ndr_print___spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumForms *r); -enum ndr_err_code ndr_push_spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct spoolss_EnumForms *r); -enum ndr_err_code ndr_pull_spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct spoolss_EnumForms *r); -void ndr_print_spoolss_EnumForms(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumForms *r); -enum ndr_err_code ndr_push__spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPorts *r); -enum ndr_err_code ndr_pull__spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPorts *r); -void ndr_print__spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumPorts *r); -enum ndr_err_code ndr_push___spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPorts *r); -enum ndr_err_code ndr_pull___spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPorts *r); -void ndr_print___spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumPorts *r); -enum ndr_err_code ndr_push_spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct spoolss_EnumPorts *r); -enum ndr_err_code ndr_pull_spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct spoolss_EnumPorts *r); -void ndr_print_spoolss_EnumPorts(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPorts *r); -enum ndr_err_code ndr_push__spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct _spoolss_EnumMonitors *r); -enum ndr_err_code ndr_pull__spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct _spoolss_EnumMonitors *r); -void ndr_print__spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumMonitors *r); -enum ndr_err_code ndr_push___spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct __spoolss_EnumMonitors *r); -enum ndr_err_code ndr_pull___spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct __spoolss_EnumMonitors *r); -void ndr_print___spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumMonitors *r); -enum ndr_err_code ndr_push_spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct spoolss_EnumMonitors *r); -enum ndr_err_code ndr_pull_spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct spoolss_EnumMonitors *r); -void ndr_print_spoolss_EnumMonitors(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumMonitors *r); -void ndr_print_spoolss_AddPort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPort *r); -void ndr_print_spoolss_ConfigurePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ConfigurePort *r); -void ndr_print_spoolss_DeletePort(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePort *r); -void ndr_print_spoolss_CreatePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_CreatePrinterIC *r); -void ndr_print_spoolss_PlayGDIScriptOnPrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PlayGDIScriptOnPrinterIC *r); -void ndr_print_spoolss_DeletePrinterIC(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterIC *r); -void ndr_print_spoolss_AddPrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterConnection *r); -void ndr_print_spoolss_DeletePrinterConnection(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterConnection *r); -void ndr_print_spoolss_PrinterMessageBox(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_PrinterMessageBox *r); -void ndr_print_spoolss_AddMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddMonitor *r); -void ndr_print_spoolss_DeleteMonitor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeleteMonitor *r); -void ndr_print_spoolss_DeletePrintProcessor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProcessor *r); -void ndr_print_spoolss_AddPrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrintProvidor *r); -void ndr_print_spoolss_DeletePrintProvidor(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrintProvidor *r); -enum ndr_err_code ndr_push__spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrintProcDataTypes *r); -enum ndr_err_code ndr_pull__spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrintProcDataTypes *r); -void ndr_print__spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumPrintProcDataTypes *r); -enum ndr_err_code ndr_push___spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrintProcDataTypes *r); -enum ndr_err_code ndr_pull___spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrintProcDataTypes *r); -void ndr_print___spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumPrintProcDataTypes *r); -enum ndr_err_code ndr_push_spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrintProcDataTypes *r); -enum ndr_err_code ndr_pull_spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrintProcDataTypes *r); -void ndr_print_spoolss_EnumPrintProcDataTypes(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrintProcDataTypes *r); -void ndr_print_spoolss_ResetPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinter *r); -void ndr_print_spoolss_GetPrinterDriver2(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriver2 *r); -void ndr_print_spoolss_FindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindFirstPrinterChangeNotification *r); -void ndr_print_spoolss_FindNextPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindNextPrinterChangeNotification *r); -enum ndr_err_code ndr_push_spoolss_FindClosePrinterNotify(struct ndr_push *ndr, int flags, const struct spoolss_FindClosePrinterNotify *r); -enum ndr_err_code ndr_pull_spoolss_FindClosePrinterNotify(struct ndr_pull *ndr, int flags, struct spoolss_FindClosePrinterNotify *r); -void ndr_print_spoolss_FindClosePrinterNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_FindClosePrinterNotify *r); -void ndr_print_spoolss_RouterFindFirstPrinterChangeNotificationOld(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r); -enum ndr_err_code ndr_push_spoolss_ReplyOpenPrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyOpenPrinter *r); -enum ndr_err_code ndr_pull_spoolss_ReplyOpenPrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyOpenPrinter *r); -void ndr_print_spoolss_ReplyOpenPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyOpenPrinter *r); -void ndr_print_spoolss_RouterReplyPrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinter *r); -enum ndr_err_code ndr_push_spoolss_ReplyClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ReplyClosePrinter *r); -enum ndr_err_code ndr_pull_spoolss_ReplyClosePrinter(struct ndr_pull *ndr, int flags, struct spoolss_ReplyClosePrinter *r); -void ndr_print_spoolss_ReplyClosePrinter(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ReplyClosePrinter *r); -void ndr_print_spoolss_AddPortEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPortEx *r); -void ndr_print_spoolss_RouterFindFirstPrinterChangeNotification(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterFindFirstPrinterChangeNotification *r); -void ndr_print_spoolss_SpoolerInit(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SpoolerInit *r); -void ndr_print_spoolss_ResetPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_ResetPrinterEx *r); -enum ndr_err_code ndr_push_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_push *ndr, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r); -enum ndr_err_code ndr_pull_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_pull *ndr, int flags, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r); -void ndr_print_spoolss_RemoteFindFirstPrinterChangeNotifyEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r); -void ndr_print_spoolss_RouterReplyPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterReplyPrinterEx *r); -enum ndr_err_code ndr_push_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_push *ndr, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r); -enum ndr_err_code ndr_pull_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_pull *ndr, int flags, struct spoolss_RouterRefreshPrinterChangeNotify *r); -void ndr_print_spoolss_RouterRefreshPrinterChangeNotify(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_RouterRefreshPrinterChangeNotify *r); -void ndr_print_spoolss_44(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_44 *r); -enum ndr_err_code ndr_push_spoolss_OpenPrinterEx(struct ndr_push *ndr, int flags, const struct spoolss_OpenPrinterEx *r); -enum ndr_err_code ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, int flags, struct spoolss_OpenPrinterEx *r); -void ndr_print_spoolss_OpenPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_OpenPrinterEx *r); -void ndr_print_spoolss_AddPrinterEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterEx *r); -void ndr_print_spoolss_47(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_47 *r); -void ndr_print_spoolss_EnumPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterData *r); -void ndr_print_spoolss_DeletePrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterData *r); -void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r); -void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r); -void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r); -void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r); -void ndr_print_spoolss_GetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDataEx *r); -enum ndr_err_code ndr_push__spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_EnumPrinterDataEx *r); -enum ndr_err_code ndr_pull__spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_EnumPrinterDataEx *r); -void ndr_print__spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_EnumPrinterDataEx *r); -enum ndr_err_code ndr_push___spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_EnumPrinterDataEx *r); -enum ndr_err_code ndr_pull___spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_EnumPrinterDataEx *r); -void ndr_print___spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_EnumPrinterDataEx *r); -enum ndr_err_code ndr_push_spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterDataEx *r); -enum ndr_err_code ndr_pull_spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterDataEx *r); -void ndr_print_spoolss_EnumPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterDataEx *r); -enum ndr_err_code ndr_push_spoolss_EnumPrinterKey(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterKey *r); -enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r); -void ndr_print_spoolss_EnumPrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_EnumPrinterKey *r); -void ndr_print_spoolss_DeletePrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDataEx *r); -void ndr_print_spoolss_DeletePrinterKey(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterKey *r); -void ndr_print_spoolss_53(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_53 *r); -void ndr_print_spoolss_DeletePrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_DeletePrinterDriverEx *r); -void ndr_print_spoolss_55(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_55 *r); -void ndr_print_spoolss_56(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_56 *r); -void ndr_print_spoolss_57(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_57 *r); -void ndr_print_spoolss_XcvData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_XcvData *r); -enum ndr_err_code ndr_push_spoolss_AddPrinterDriverEx(struct ndr_push *ndr, int flags, const struct spoolss_AddPrinterDriverEx *r); -enum ndr_err_code ndr_pull_spoolss_AddPrinterDriverEx(struct ndr_pull *ndr, int flags, struct spoolss_AddPrinterDriverEx *r); -void ndr_print_spoolss_AddPrinterDriverEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_AddPrinterDriverEx *r); -void ndr_print_spoolss_5a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5a *r); -void ndr_print_spoolss_5b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5b *r); -void ndr_print_spoolss_5c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5c *r); -void ndr_print_spoolss_5d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5d *r); -void ndr_print_spoolss_5e(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5e *r); -void ndr_print_spoolss_5f(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_5f *r); -void ndr_print_spoolss_60(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_60 *r); -void ndr_print_spoolss_61(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_61 *r); -void ndr_print_spoolss_62(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_62 *r); -void ndr_print_spoolss_63(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_63 *r); -void ndr_print_spoolss_64(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_64 *r); -void ndr_print_spoolss_65(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_65 *r); -void ndr_print_spoolss_GetCorePrinterDrivers(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetCorePrinterDrivers *r); -void ndr_print_spoolss_67(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_67 *r); -void ndr_print_spoolss_GetPrinterDriverPackagePath(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterDriverPackagePath *r); -void ndr_print_spoolss_69(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_69 *r); -void ndr_print_spoolss_6a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6a *r); -void ndr_print_spoolss_6b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6b *r); -void ndr_print_spoolss_6c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6c *r); -void ndr_print_spoolss_6d(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_6d *r); -#endif /* _HEADER_NDR_spoolss */ diff --git a/librpc/gen_ndr/ndr_srvsvc.c b/librpc/gen_ndr/ndr_srvsvc.c deleted file mode 100644 index 740f6108219..00000000000 --- a/librpc/gen_ndr/ndr_srvsvc.c +++ /dev/null @@ -1,19959 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_srvsvc.h" - -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_svcctl.h" -static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->device)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device, ndr_charset_length(r->device, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfo0 *r) -{ - uint32_t _ptr_device; - TALLOC_CTX *_mem_save_device_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_device)); - if (_ptr_device) { - NDR_PULL_ALLOC(ndr, r->device); - } else { - r->device = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - _mem_save_device_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->device, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->device)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->device)); - if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "device", r->device); - ndr->depth++; - if (r->device) { - ndr_print_string(ndr, "device", r->device); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevCtr0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetCharDevCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetCharDevInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfo1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->device)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device, ndr_charset_length(r->device, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfo1 *r) -{ - uint32_t _ptr_device; - TALLOC_CTX *_mem_save_device_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_device)); - if (_ptr_device) { - NDR_PULL_ALLOC(ndr, r->device); - } else { - r->device = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - _mem_save_device_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->device, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->device)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->device)); - if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfo1 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "device", r->device); - ndr->depth++; - if (r->device) { - ndr_print_string(ndr, "device", r->device); - } - ndr->depth--; - ndr_print_uint32(ndr, "status", r->status); - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "time", r->time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevCtr1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetCharDevCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetCharDevInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfo(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetCharDevInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetCharDevInfo"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_srvsvc_NetCharDevInfo0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_srvsvc_NetCharDevInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetCharDevCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetCharDevCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_srvsvc_NetCharDevCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_srvsvc_NetCharDevCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->device)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device, ndr_charset_length(r->device, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfo0 *r) -{ - uint32_t _ptr_device; - TALLOC_CTX *_mem_save_device_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_device)); - if (_ptr_device) { - NDR_PULL_ALLOC(ndr, r->device); - } else { - r->device = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - _mem_save_device_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->device, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->device)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->device)); - if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "device", r->device); - ndr->depth++; - if (r->device) { - ndr_print_string(ndr, "device", r->device); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQCtr0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetCharDevQInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->device)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->devices)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->users)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_ahead)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->device, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->device, ndr_charset_length(r->device, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->devices) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->devices, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->devices, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devices, ndr_charset_length(r->devices, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfo1 *r) -{ - uint32_t _ptr_device; - TALLOC_CTX *_mem_save_device_0; - uint32_t _ptr_devices; - TALLOC_CTX *_mem_save_devices_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_device)); - if (_ptr_device) { - NDR_PULL_ALLOC(ndr, r->device); - } else { - r->device = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devices)); - if (_ptr_devices) { - NDR_PULL_ALLOC(ndr, r->devices); - } else { - r->devices = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->users)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_ahead)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->device) { - _mem_save_device_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->device, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->device)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->device)); - if (ndr_get_array_length(ndr, &r->device) > ndr_get_array_size(ndr, &r->device)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->device), ndr_get_array_length(ndr, &r->device)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->device, ndr_get_array_length(ndr, &r->device), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_device_0, 0); - } - if (r->devices) { - _mem_save_devices_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->devices, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->devices)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->devices)); - if (ndr_get_array_length(ndr, &r->devices) > ndr_get_array_size(ndr, &r->devices)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->devices), ndr_get_array_length(ndr, &r->devices)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->devices), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devices, ndr_get_array_length(ndr, &r->devices), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devices_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfo1 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "device", r->device); - ndr->depth++; - if (r->device) { - ndr_print_string(ndr, "device", r->device); - } - ndr->depth--; - ndr_print_uint32(ndr, "priority", r->priority); - ndr_print_ptr(ndr, "devices", r->devices); - ndr->depth++; - if (r->devices) { - ndr_print_string(ndr, "devices", r->devices); - } - ndr->depth--; - ndr_print_uint32(ndr, "users", r->users); - ndr_print_uint32(ndr, "num_ahead", r->num_ahead); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQCtr1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetCharDevQInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevQInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfo(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetCharDevQInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevQInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetCharDevQInfo"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_srvsvc_NetCharDevQInfo0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_srvsvc_NetCharDevQInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetCharDevQCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetCharDevQCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevQCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetCharDevQCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_srvsvc_NetCharDevQCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_srvsvc_NetCharDevQCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->conn_id)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->conn_id)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetConnInfo0"); - ndr->depth++; - ndr_print_uint32(ndr, "conn_id", r->conn_id); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnCtr0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetConnInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetConnInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetConnCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetConnInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnInfo1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->conn_id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->conn_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_open)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->conn_time)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->share)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->share) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->share, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->share, ndr_charset_length(r->share, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnInfo1 *r) -{ - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - uint32_t _ptr_share; - TALLOC_CTX *_mem_save_share_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->conn_id)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->conn_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_open)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->conn_time)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share)); - if (_ptr_share) { - NDR_PULL_ALLOC(ndr, r->share); - } else { - r->share = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - if (r->share) { - _mem_save_share_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->share, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->share)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->share)); - if (ndr_get_array_length(ndr, &r->share) > ndr_get_array_size(ndr, &r->share)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->share), ndr_get_array_length(ndr, &r->share)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfo1 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetConnInfo1"); - ndr->depth++; - ndr_print_uint32(ndr, "conn_id", r->conn_id); - ndr_print_uint32(ndr, "conn_type", r->conn_type); - ndr_print_uint32(ndr, "num_open", r->num_open); - ndr_print_uint32(ndr, "num_users", r->num_users); - ndr_print_uint32(ndr, "conn_time", r->conn_time); - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_ptr(ndr, "share", r->share); - ndr->depth++; - if (r->share) { - ndr_print_string(ndr, "share", r->share); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnCtr1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetConnInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetConnInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetConnInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetConnInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetConnCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetConnInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetConnCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_srvsvc_NetConnCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_srvsvc_NetConnCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetConnCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetConnCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetConnCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetConnCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetConnCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_srvsvc_NetConnCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_srvsvc_NetConnCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetConnCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetConnCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetConnInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetConnCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetConnCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetConnInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetConnCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileInfo2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetFileInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->fid)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->fid)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileInfo2 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetFileInfo2"); - ndr->depth++; - ndr_print_uint32(ndr, "fid", r->fid); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileCtr2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetFileCtr2 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetFileInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtr2 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetFileInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileCtr2 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetFileCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetFileInfo2(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileInfo3(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetFileInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->fid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->permissions)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_locks)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileInfo3 *r) -{ - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->fid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->permissions)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_locks)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileInfo3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileInfo3 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetFileInfo3"); - ndr->depth++; - ndr_print_uint32(ndr, "fid", r->fid); - ndr_print_uint32(ndr, "permissions", r->permissions); - ndr_print_uint32(ndr, "num_locks", r->num_locks); - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileCtr3(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetFileCtr3 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetFileInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetFileInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileCtr3 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetFileInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetFileInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileCtr3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileCtr3 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetFileCtr3"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetFileInfo3(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetFileInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_srvsvc_NetFileInfo2(ndr, NDR_SCALARS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_srvsvc_NetFileInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileInfo(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetFileInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_srvsvc_NetFileInfo2(ndr, NDR_SCALARS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_srvsvc_NetFileInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetFileInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetFileInfo"); - switch (level) { - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_srvsvc_NetFileInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_srvsvc_NetFileInfo3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetFileCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr3)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 2: - if (r->ctr2) { - NDR_CHECK(ndr_push_srvsvc_NetFileCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - } - break; - - case 3: - if (r->ctr3) { - NDR_CHECK(ndr_push_srvsvc_NetFileCtr3(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr3)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetFileCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr2_0; - TALLOC_CTX *_mem_save_ctr3_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 2: { - uint32_t _ptr_ctr2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2)); - if (_ptr_ctr2) { - NDR_PULL_ALLOC(ndr, r->ctr2); - } else { - r->ctr2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_ctr3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr3)); - if (_ptr_ctr3) { - NDR_PULL_ALLOC(ndr, r->ctr3); - } else { - r->ctr3 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 2: - if (r->ctr2) { - _mem_save_ctr2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr2, 0); - NDR_CHECK(ndr_pull_srvsvc_NetFileCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr2_0, 0); - } - break; - - case 3: - if (r->ctr3) { - _mem_save_ctr3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr3, 0); - NDR_CHECK(ndr_pull_srvsvc_NetFileCtr3(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr3_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetFileCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetFileCtr"); - switch (level) { - case 2: - ndr_print_ptr(ndr, "ctr2", r->ctr2); - ndr->depth++; - if (r->ctr2) { - ndr_print_srvsvc_NetFileCtr2(ndr, "ctr2", r->ctr2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "ctr3", r->ctr3); - ndr->depth++; - if (r->ctr3) { - ndr_print_srvsvc_NetFileCtr3(ndr, "ctr3", r->ctr3); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetFileInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetFileCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetFileCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetFileInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetFileCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetFileCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetFileInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetFileCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo0 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessCtr0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetSessCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetSessInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessInfo1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_open)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idle_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->user_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo1 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_open)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idle_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->user_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo1 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "num_open", r->num_open); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "idle_time", r->idle_time); - ndr_print_uint32(ndr, "user_flags", r->user_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessCtr1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetSessCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetSessInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessInfo2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_open)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idle_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->user_flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_type)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->client_type) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_type, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_type, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_type, ndr_charset_length(r->client_type, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo2 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - uint32_t _ptr_client_type; - TALLOC_CTX *_mem_save_client_type_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_open)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idle_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->user_flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_type)); - if (_ptr_client_type) { - NDR_PULL_ALLOC(ndr, r->client_type); - } else { - r->client_type = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - if (r->client_type) { - _mem_save_client_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_type, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_type)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_type)); - if (ndr_get_array_length(ndr, &r->client_type) > ndr_get_array_size(ndr, &r->client_type)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_type), ndr_get_array_length(ndr, &r->client_type)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_type, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_type_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo2 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "num_open", r->num_open); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "idle_time", r->idle_time); - ndr_print_uint32(ndr, "user_flags", r->user_flags); - ndr_print_ptr(ndr, "client_type", r->client_type); - ndr->depth++; - if (r->client_type) { - ndr_print_string(ndr, "client_type", r->client_type); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessCtr2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessCtr2 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr2 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr2 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetSessCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetSessInfo2(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessInfo10(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessInfo10 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idle_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo10(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo10 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idle_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessInfo10(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo10 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessInfo10"); - ndr->depth++; - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "idle_time", r->idle_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessCtr10(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessCtr10 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo10(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo10(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr10(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr10 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo10(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo10(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessCtr10(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr10 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetSessCtr10"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetSessInfo10(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessInfo502(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessInfo502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_open)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idle_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->user_flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client, ndr_charset_length(r->client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->client_type) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_type, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_type, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->client_type, ndr_charset_length(r->client_type, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->transport) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->transport, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->transport, ndr_charset_length(r->transport, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessInfo502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfo502 *r) -{ - uint32_t _ptr_client; - TALLOC_CTX *_mem_save_client_0; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_user_0; - uint32_t _ptr_client_type; - TALLOC_CTX *_mem_save_client_type_0; - uint32_t _ptr_transport; - TALLOC_CTX *_mem_save_transport_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->client); - } else { - r->client = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->user); - } else { - r->user = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_open)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idle_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->user_flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_type)); - if (_ptr_client_type) { - NDR_PULL_ALLOC(ndr, r->client_type); - } else { - r->client_type = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport)); - if (_ptr_transport) { - NDR_PULL_ALLOC(ndr, r->transport); - } else { - r->transport = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client)); - if (ndr_get_array_length(ndr, &r->client) > ndr_get_array_size(ndr, &r->client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client), ndr_get_array_length(ndr, &r->client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client, ndr_get_array_length(ndr, &r->client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - if (r->user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user)); - if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - if (r->client_type) { - _mem_save_client_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->client_type, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->client_type)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->client_type)); - if (ndr_get_array_length(ndr, &r->client_type) > ndr_get_array_size(ndr, &r->client_type)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_type), ndr_get_array_length(ndr, &r->client_type)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_type, ndr_get_array_length(ndr, &r->client_type), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_type_0, 0); - } - if (r->transport) { - _mem_save_transport_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->transport, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->transport)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->transport)); - if (ndr_get_array_length(ndr, &r->transport) > ndr_get_array_size(ndr, &r->transport)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->transport), ndr_get_array_length(ndr, &r->transport)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->transport), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->transport, ndr_get_array_length(ndr, &r->transport), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessInfo502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo502 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessInfo502"); - ndr->depth++; - ndr_print_ptr(ndr, "client", r->client); - ndr->depth++; - if (r->client) { - ndr_print_string(ndr, "client", r->client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->user); - ndr->depth++; - if (r->user) { - ndr_print_string(ndr, "user", r->user); - } - ndr->depth--; - ndr_print_uint32(ndr, "num_open", r->num_open); - ndr_print_uint32(ndr, "time", r->time); - ndr_print_uint32(ndr, "idle_time", r->idle_time); - ndr_print_uint32(ndr, "user_flags", r->user_flags); - ndr_print_ptr(ndr, "client_type", r->client_type); - ndr->depth++; - if (r->client_type) { - ndr_print_string(ndr, "client_type", r->client_type); - } - ndr->depth--; - ndr_print_ptr(ndr, "transport", r->transport); - ndr->depth++; - if (r->transport) { - ndr_print_string(ndr, "transport", r->transport); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessCtr502(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessCtr502 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo502(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetSessInfo502(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessCtr502 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo502(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetSessInfo502(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessCtr502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr502 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetSessCtr502"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetSessInfo502(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetSessCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr2)); - break; } - - case 10: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr10)); - break; } - - case 502: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr502)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_srvsvc_NetSessCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_srvsvc_NetSessCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - case 2: - if (r->ctr2) { - NDR_CHECK(ndr_push_srvsvc_NetSessCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - } - break; - - case 10: - if (r->ctr10) { - NDR_CHECK(ndr_push_srvsvc_NetSessCtr10(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr10)); - } - break; - - case 502: - if (r->ctr502) { - NDR_CHECK(ndr_push_srvsvc_NetSessCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetSessCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - TALLOC_CTX *_mem_save_ctr2_0; - TALLOC_CTX *_mem_save_ctr10_0; - TALLOC_CTX *_mem_save_ctr502_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_ctr2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2)); - if (_ptr_ctr2) { - NDR_PULL_ALLOC(ndr, r->ctr2); - } else { - r->ctr2 = NULL; - } - break; } - - case 10: { - uint32_t _ptr_ctr10; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr10)); - if (_ptr_ctr10) { - NDR_PULL_ALLOC(ndr, r->ctr10); - } else { - r->ctr10 = NULL; - } - break; } - - case 502: { - uint32_t _ptr_ctr502; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr502)); - if (_ptr_ctr502) { - NDR_PULL_ALLOC(ndr, r->ctr502); - } else { - r->ctr502 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - case 2: - if (r->ctr2) { - _mem_save_ctr2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr2, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr2_0, 0); - } - break; - - case 10: - if (r->ctr10) { - _mem_save_ctr10_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr10, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr10(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr10)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr10_0, 0); - } - break; - - case 502: - if (r->ctr502) { - _mem_save_ctr502_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr502, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr502_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetSessCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetSessCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_srvsvc_NetSessCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_srvsvc_NetSessCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "ctr2", r->ctr2); - ndr->depth++; - if (r->ctr2) { - ndr_print_srvsvc_NetSessCtr2(ndr, "ctr2", r->ctr2); - } - ndr->depth--; - break; - - case 10: - ndr_print_ptr(ndr, "ctr10", r->ctr10); - ndr->depth++; - if (r->ctr10) { - ndr_print_srvsvc_NetSessCtr10(ndr, "ctr10", r->ctr10); - } - ndr->depth--; - break; - - case 502: - ndr_print_ptr(ndr, "ctr502", r->ctr502); - ndr->depth++; - if (r->ctr502) { - ndr_print_srvsvc_NetSessCtr502(ndr, "ctr502", r->ctr502); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSessInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetSessCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetSessCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSessInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetSessCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetSessCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_ShareType(struct ndr_push *ndr, int ndr_flags, enum srvsvc_ShareType r) -{ - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_ShareType(struct ndr_pull *ndr, int ndr_flags, enum srvsvc_ShareType *r) -{ - uint32_t v; - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - ndr->flags = _flags_save_ENUM; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_ShareType(struct ndr_print *ndr, const char *name, enum srvsvc_ShareType r) -{ - const char *val = NULL; - - { - uint32_t _flags_save_ENUM = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - switch (r) { - case STYPE_DISKTREE: val = "STYPE_DISKTREE"; break; - case STYPE_DISKTREE_TEMPORARY: val = "STYPE_DISKTREE_TEMPORARY"; break; - case STYPE_DISKTREE_HIDDEN: val = "STYPE_DISKTREE_HIDDEN"; break; - case STYPE_PRINTQ: val = "STYPE_PRINTQ"; break; - case STYPE_PRINTQ_TEMPORARY: val = "STYPE_PRINTQ_TEMPORARY"; break; - case STYPE_PRINTQ_HIDDEN: val = "STYPE_PRINTQ_HIDDEN"; break; - case STYPE_DEVICE: val = "STYPE_DEVICE"; break; - case STYPE_DEVICE_TEMPORARY: val = "STYPE_DEVICE_TEMPORARY"; break; - case STYPE_DEVICE_HIDDEN: val = "STYPE_DEVICE_HIDDEN"; break; - case STYPE_IPC: val = "STYPE_IPC"; break; - case STYPE_IPC_TEMPORARY: val = "STYPE_IPC_TEMPORARY"; break; - case STYPE_IPC_HIDDEN: val = "STYPE_IPC_HIDDEN"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); - ndr->flags = _flags_save_ENUM; - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo0 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_srvsvc_ShareType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_srvsvc_ShareType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_srvsvc_ShareType(ndr, "type", r->type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_srvsvc_ShareType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->permissions)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_users)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->current_users)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo2 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_password_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_srvsvc_ShareType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->permissions)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_users)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->current_users)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->password)); - if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo2 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_srvsvc_ShareType(ndr, "type", r->type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_uint32(ndr, "permissions", r->permissions); - ndr_print_uint32(ndr, "max_users", r->max_users); - ndr_print_uint32(ndr, "current_users", r->current_users); - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_string(ndr, "password", r->password); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr2 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr2 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr2 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo2(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo501(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo501 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_srvsvc_ShareType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->csc_policy)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo501 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_srvsvc_ShareType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->csc_policy)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo501 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo501"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_srvsvc_ShareType(ndr, "type", r->type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_uint32(ndr, "csc_policy", r->csc_policy); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr501(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr501 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo501(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo501(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr501 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo501(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo501(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr501 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr501"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo501(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo502(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_srvsvc_ShareType(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->permissions)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_users)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->current_users)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->path)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sd_buf)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, ndr_charset_length(r->path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd_buf)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo502 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_path; - TALLOC_CTX *_mem_save_path_0; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_password_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_srvsvc_ShareType(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->permissions)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_users)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->current_users)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->path); - } else { - r->path = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sd_buf)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->path)); - if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->password)); - if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sd_buf)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo502 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo502"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_srvsvc_ShareType(ndr, "type", r->type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_uint32(ndr, "permissions", r->permissions); - ndr_print_uint32(ndr, "max_users", r->max_users); - ndr_print_uint32(ndr, "current_users", r->current_users); - ndr_print_ptr(ndr, "path", r->path); - ndr->depth++; - if (r->path) { - ndr_print_string(ndr, "path", r->path); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_string(ndr, "password", r->password); - } - ndr->depth--; - ndr_print_sec_desc_buf(ndr, "sd_buf", &r->sd_buf); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr502(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr502 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo502(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo502(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr502 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo502(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo502(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr502 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr502"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo502(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1004(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo1004 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1004(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1004 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo1004(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1004 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo1004"); - ndr->depth++; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1004(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr1004 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1004(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1004(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1004(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1004 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1004(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1004(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr1004(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1004 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1004"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo1004(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_NetShareInfo1005Flags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_NetShareInfo1005Flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_NetShareInfo1005Flags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SHARE_1005_IN_DFS", SHARE_1005_IN_DFS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SHARE_1005_DFS_ROOT", SHARE_1005_DFS_ROOT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1005(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo1005 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_NetShareInfo1005Flags(ndr, NDR_SCALARS, r->dfs_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1005(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1005 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_NetShareInfo1005Flags(ndr, NDR_SCALARS, &r->dfs_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo1005(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1005 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo1005"); - ndr->depth++; - ndr_print_NetShareInfo1005Flags(ndr, "dfs_flags", r->dfs_flags); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1005(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr1005 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1005(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1005(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1005 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1005(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr1005(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1005 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1005"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo1005(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1006(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo1006 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_users)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1006(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1006 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_users)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo1006(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1006 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo1006"); - ndr->depth++; - ndr_print_uint32(ndr, "max_users", r->max_users); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1006(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr1006 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1006(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1006(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1006 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1006(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr1006(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1006 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1006"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo1006(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo1007(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfo1007 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->alternate_directory_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->alternate_directory_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->alternate_directory_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->alternate_directory_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->alternate_directory_name, ndr_charset_length(r->alternate_directory_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo1007(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfo1007 *r) -{ - uint32_t _ptr_alternate_directory_name; - TALLOC_CTX *_mem_save_alternate_directory_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alternate_directory_name)); - if (_ptr_alternate_directory_name) { - NDR_PULL_ALLOC(ndr, r->alternate_directory_name); - } else { - r->alternate_directory_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->alternate_directory_name) { - _mem_save_alternate_directory_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->alternate_directory_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->alternate_directory_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->alternate_directory_name)); - if (ndr_get_array_length(ndr, &r->alternate_directory_name) > ndr_get_array_size(ndr, &r->alternate_directory_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->alternate_directory_name), ndr_get_array_length(ndr, &r->alternate_directory_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->alternate_directory_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alternate_directory_name, ndr_get_array_length(ndr, &r->alternate_directory_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alternate_directory_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo1007(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1007 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfo1007"); - ndr->depth++; - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_ptr(ndr, "alternate_directory_name", r->alternate_directory_name); - ndr->depth++; - if (r->alternate_directory_name) { - ndr_print_string(ndr, "alternate_directory_name", r->alternate_directory_name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1007(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr1007 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1007(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1007(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1007(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1007 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1007(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1007(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr1007(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1007 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1007"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetShareInfo1007(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr1501(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareCtr1501 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr1501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareCtr1501 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr1501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1501 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetShareCtr1501"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_sec_desc_buf(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetShareInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 501: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info501)); - break; } - - case 502: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info502)); - break; } - - case 1004: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1004)); - break; } - - case 1005: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1005)); - break; } - - case 1006: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1006)); - break; } - - case 1007: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1007)); - break; } - - case 1501: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1501)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 501: - if (r->info501) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo501(ndr, NDR_SCALARS|NDR_BUFFERS, r->info501)); - } - break; - - case 502: - if (r->info502) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo502(ndr, NDR_SCALARS|NDR_BUFFERS, r->info502)); - } - break; - - case 1004: - if (r->info1004) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1004(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1004)); - } - break; - - case 1005: - if (r->info1005) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1005(ndr, NDR_SCALARS, r->info1005)); - } - break; - - case 1006: - if (r->info1006) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1006(ndr, NDR_SCALARS, r->info1006)); - } - break; - - case 1007: - if (r->info1007) { - NDR_CHECK(ndr_push_srvsvc_NetShareInfo1007(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1007)); - } - break; - - case 1501: - if (r->info1501) { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1501)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfo(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetShareInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info501_0; - TALLOC_CTX *_mem_save_info502_0; - TALLOC_CTX *_mem_save_info1004_0; - TALLOC_CTX *_mem_save_info1005_0; - TALLOC_CTX *_mem_save_info1006_0; - TALLOC_CTX *_mem_save_info1007_0; - TALLOC_CTX *_mem_save_info1501_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 501: { - uint32_t _ptr_info501; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info501)); - if (_ptr_info501) { - NDR_PULL_ALLOC(ndr, r->info501); - } else { - r->info501 = NULL; - } - break; } - - case 502: { - uint32_t _ptr_info502; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502)); - if (_ptr_info502) { - NDR_PULL_ALLOC(ndr, r->info502); - } else { - r->info502 = NULL; - } - break; } - - case 1004: { - uint32_t _ptr_info1004; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1004)); - if (_ptr_info1004) { - NDR_PULL_ALLOC(ndr, r->info1004); - } else { - r->info1004 = NULL; - } - break; } - - case 1005: { - uint32_t _ptr_info1005; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1005)); - if (_ptr_info1005) { - NDR_PULL_ALLOC(ndr, r->info1005); - } else { - r->info1005 = NULL; - } - break; } - - case 1006: { - uint32_t _ptr_info1006; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1006)); - if (_ptr_info1006) { - NDR_PULL_ALLOC(ndr, r->info1006); - } else { - r->info1006 = NULL; - } - break; } - - case 1007: { - uint32_t _ptr_info1007; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1007)); - if (_ptr_info1007) { - NDR_PULL_ALLOC(ndr, r->info1007); - } else { - r->info1007 = NULL; - } - break; } - - case 1501: { - uint32_t _ptr_info1501; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1501)); - if (_ptr_info1501) { - NDR_PULL_ALLOC(ndr, r->info1501); - } else { - r->info1501 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 501: - if (r->info501) { - _mem_save_info501_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info501, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo501(ndr, NDR_SCALARS|NDR_BUFFERS, r->info501)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info501_0, 0); - } - break; - - case 502: - if (r->info502) { - _mem_save_info502_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info502, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo502(ndr, NDR_SCALARS|NDR_BUFFERS, r->info502)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info502_0, 0); - } - break; - - case 1004: - if (r->info1004) { - _mem_save_info1004_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1004, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1004(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1004)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1004_0, 0); - } - break; - - case 1005: - if (r->info1005) { - _mem_save_info1005_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1005, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1005(ndr, NDR_SCALARS, r->info1005)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1005_0, 0); - } - break; - - case 1006: - if (r->info1006) { - _mem_save_info1006_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1006, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1006(ndr, NDR_SCALARS, r->info1006)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1006_0, 0); - } - break; - - case 1007: - if (r->info1007) { - _mem_save_info1007_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1007, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo1007(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1007)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1007_0, 0); - } - break; - - case 1501: - if (r->info1501) { - _mem_save_info1501_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1501, 0); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1501)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1501_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetShareInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetShareInfo"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_srvsvc_NetShareInfo0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_srvsvc_NetShareInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_srvsvc_NetShareInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 501: - ndr_print_ptr(ndr, "info501", r->info501); - ndr->depth++; - if (r->info501) { - ndr_print_srvsvc_NetShareInfo501(ndr, "info501", r->info501); - } - ndr->depth--; - break; - - case 502: - ndr_print_ptr(ndr, "info502", r->info502); - ndr->depth++; - if (r->info502) { - ndr_print_srvsvc_NetShareInfo502(ndr, "info502", r->info502); - } - ndr->depth--; - break; - - case 1004: - ndr_print_ptr(ndr, "info1004", r->info1004); - ndr->depth++; - if (r->info1004) { - ndr_print_srvsvc_NetShareInfo1004(ndr, "info1004", r->info1004); - } - ndr->depth--; - break; - - case 1005: - ndr_print_ptr(ndr, "info1005", r->info1005); - ndr->depth++; - if (r->info1005) { - ndr_print_srvsvc_NetShareInfo1005(ndr, "info1005", r->info1005); - } - ndr->depth--; - break; - - case 1006: - ndr_print_ptr(ndr, "info1006", r->info1006); - ndr->depth++; - if (r->info1006) { - ndr_print_srvsvc_NetShareInfo1006(ndr, "info1006", r->info1006); - } - ndr->depth--; - break; - - case 1007: - ndr_print_ptr(ndr, "info1007", r->info1007); - ndr->depth++; - if (r->info1007) { - ndr_print_srvsvc_NetShareInfo1007(ndr, "info1007", r->info1007); - } - ndr->depth--; - break; - - case 1501: - ndr_print_ptr(ndr, "info1501", r->info1501); - ndr->depth++; - if (r->info1501) { - ndr_print_sec_desc_buf(ndr, "info1501", r->info1501); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetShareCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr2)); - break; } - - case 501: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr501)); - break; } - - case 502: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr502)); - break; } - - case 1004: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1004)); - break; } - - case 1005: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1005)); - break; } - - case 1006: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1006)); - break; } - - case 1007: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1007)); - break; } - - case 1501: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1501)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - case 2: - if (r->ctr2) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - } - break; - - case 501: - if (r->ctr501) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr501(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr501)); - } - break; - - case 502: - if (r->ctr502) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); - } - break; - - case 1004: - if (r->ctr1004) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr1004(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1004)); - } - break; - - case 1005: - if (r->ctr1005) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr1005(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1005)); - } - break; - - case 1006: - if (r->ctr1006) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr1006(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1006)); - } - break; - - case 1007: - if (r->ctr1007) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr1007(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1007)); - } - break; - - case 1501: - if (r->ctr1501) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr1501(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1501)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetShareCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - TALLOC_CTX *_mem_save_ctr2_0; - TALLOC_CTX *_mem_save_ctr501_0; - TALLOC_CTX *_mem_save_ctr502_0; - TALLOC_CTX *_mem_save_ctr1004_0; - TALLOC_CTX *_mem_save_ctr1005_0; - TALLOC_CTX *_mem_save_ctr1006_0; - TALLOC_CTX *_mem_save_ctr1007_0; - TALLOC_CTX *_mem_save_ctr1501_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_ctr2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2)); - if (_ptr_ctr2) { - NDR_PULL_ALLOC(ndr, r->ctr2); - } else { - r->ctr2 = NULL; - } - break; } - - case 501: { - uint32_t _ptr_ctr501; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr501)); - if (_ptr_ctr501) { - NDR_PULL_ALLOC(ndr, r->ctr501); - } else { - r->ctr501 = NULL; - } - break; } - - case 502: { - uint32_t _ptr_ctr502; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr502)); - if (_ptr_ctr502) { - NDR_PULL_ALLOC(ndr, r->ctr502); - } else { - r->ctr502 = NULL; - } - break; } - - case 1004: { - uint32_t _ptr_ctr1004; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1004)); - if (_ptr_ctr1004) { - NDR_PULL_ALLOC(ndr, r->ctr1004); - } else { - r->ctr1004 = NULL; - } - break; } - - case 1005: { - uint32_t _ptr_ctr1005; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1005)); - if (_ptr_ctr1005) { - NDR_PULL_ALLOC(ndr, r->ctr1005); - } else { - r->ctr1005 = NULL; - } - break; } - - case 1006: { - uint32_t _ptr_ctr1006; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1006)); - if (_ptr_ctr1006) { - NDR_PULL_ALLOC(ndr, r->ctr1006); - } else { - r->ctr1006 = NULL; - } - break; } - - case 1007: { - uint32_t _ptr_ctr1007; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1007)); - if (_ptr_ctr1007) { - NDR_PULL_ALLOC(ndr, r->ctr1007); - } else { - r->ctr1007 = NULL; - } - break; } - - case 1501: { - uint32_t _ptr_ctr1501; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1501)); - if (_ptr_ctr1501) { - NDR_PULL_ALLOC(ndr, r->ctr1501); - } else { - r->ctr1501 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - case 2: - if (r->ctr2) { - _mem_save_ctr2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr2, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr2_0, 0); - } - break; - - case 501: - if (r->ctr501) { - _mem_save_ctr501_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr501, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr501(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr501)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr501_0, 0); - } - break; - - case 502: - if (r->ctr502) { - _mem_save_ctr502_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr502, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr502(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr502)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr502_0, 0); - } - break; - - case 1004: - if (r->ctr1004) { - _mem_save_ctr1004_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1004, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1004(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1004)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1004_0, 0); - } - break; - - case 1005: - if (r->ctr1005) { - _mem_save_ctr1005_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1005, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1005(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1005)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1005_0, 0); - } - break; - - case 1006: - if (r->ctr1006) { - _mem_save_ctr1006_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1006, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1006(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1006)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1006_0, 0); - } - break; - - case 1007: - if (r->ctr1007) { - _mem_save_ctr1007_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1007, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1007(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1007)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1007_0, 0); - } - break; - - case 1501: - if (r->ctr1501) { - _mem_save_ctr1501_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1501, 0); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr1501(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1501)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1501_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetShareCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetShareCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_srvsvc_NetShareCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_srvsvc_NetShareCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "ctr2", r->ctr2); - ndr->depth++; - if (r->ctr2) { - ndr_print_srvsvc_NetShareCtr2(ndr, "ctr2", r->ctr2); - } - ndr->depth--; - break; - - case 501: - ndr_print_ptr(ndr, "ctr501", r->ctr501); - ndr->depth++; - if (r->ctr501) { - ndr_print_srvsvc_NetShareCtr501(ndr, "ctr501", r->ctr501); - } - ndr->depth--; - break; - - case 502: - ndr_print_ptr(ndr, "ctr502", r->ctr502); - ndr->depth++; - if (r->ctr502) { - ndr_print_srvsvc_NetShareCtr502(ndr, "ctr502", r->ctr502); - } - ndr->depth--; - break; - - case 1004: - ndr_print_ptr(ndr, "ctr1004", r->ctr1004); - ndr->depth++; - if (r->ctr1004) { - ndr_print_srvsvc_NetShareCtr1004(ndr, "ctr1004", r->ctr1004); - } - ndr->depth--; - break; - - case 1005: - ndr_print_ptr(ndr, "ctr1005", r->ctr1005); - ndr->depth++; - if (r->ctr1005) { - ndr_print_srvsvc_NetShareCtr1005(ndr, "ctr1005", r->ctr1005); - } - ndr->depth--; - break; - - case 1006: - ndr_print_ptr(ndr, "ctr1006", r->ctr1006); - ndr->depth++; - if (r->ctr1006) { - ndr_print_srvsvc_NetShareCtr1006(ndr, "ctr1006", r->ctr1006); - } - ndr->depth--; - break; - - case 1007: - ndr_print_ptr(ndr, "ctr1007", r->ctr1007); - ndr->depth++; - if (r->ctr1007) { - ndr_print_srvsvc_NetShareCtr1007(ndr, "ctr1007", r->ctr1007); - } - ndr->depth--; - break; - - case 1501: - ndr_print_ptr(ndr, "ctr1501", r->ctr1501); - ndr->depth++; - if (r->ctr1501) { - ndr_print_srvsvc_NetShareCtr1501(ndr, "ctr1501", r->ctr1501); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetShareInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetShareCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetShareInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetShareCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetShareCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_srvsvc_PlatformId(struct ndr_push *ndr, int ndr_flags, enum srvsvc_PlatformId r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_srvsvc_PlatformId(struct ndr_pull *ndr, int ndr_flags, enum srvsvc_PlatformId *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_PlatformId(struct ndr_print *ndr, const char *name, enum srvsvc_PlatformId r) -{ - const char *val = NULL; - - switch (r) { - case PLATFORM_ID_DOS: val = "PLATFORM_ID_DOS"; break; - case PLATFORM_ID_OS2: val = "PLATFORM_ID_OS2"; break; - case PLATFORM_ID_NT: val = "PLATFORM_ID_NT"; break; - case PLATFORM_ID_OSF: val = "PLATFORM_ID_OSF"; break; - case PLATFORM_ID_VMS: val = "PLATFORM_ID_VMS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_srvsvc_NetSrvInfo100(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo100 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo100(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo100 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo100(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo100 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo100"); - ndr->depth++; - ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_srvsvc_NetSrvInfo101(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo101 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor)); - NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->server_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo101(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo101 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor)); - NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->server_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo101(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo101 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo101"); - ndr->depth++; - ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version_major", r->version_major); - ndr_print_uint32(ndr, "version_minor", r->version_minor); - ndr_print_svcctl_ServerType(ndr, "server_type", r->server_type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo102(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo102 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor)); - NDR_CHECK(ndr_push_svcctl_ServerType(ndr, NDR_SCALARS, r->server_type)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->users)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->disc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->hidden)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->announce)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->anndelta)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->licenses)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->userpath)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->userpath) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->userpath, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->userpath, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->userpath, ndr_charset_length(r->userpath, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo102(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo102 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - uint32_t _ptr_userpath; - TALLOC_CTX *_mem_save_userpath_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor)); - NDR_CHECK(ndr_pull_svcctl_ServerType(ndr, NDR_SCALARS, &r->server_type)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->users)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->disc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->hidden)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->announce)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->anndelta)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->licenses)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_userpath)); - if (_ptr_userpath) { - NDR_PULL_ALLOC(ndr, r->userpath); - } else { - r->userpath = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - if (r->userpath) { - _mem_save_userpath_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->userpath, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->userpath)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->userpath)); - if (ndr_get_array_length(ndr, &r->userpath) > ndr_get_array_size(ndr, &r->userpath)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->userpath), ndr_get_array_length(ndr, &r->userpath)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->userpath), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->userpath, ndr_get_array_length(ndr, &r->userpath), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_userpath_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo102(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo102 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo102"); - ndr->depth++; - ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version_major", r->version_major); - ndr_print_uint32(ndr, "version_minor", r->version_minor); - ndr_print_svcctl_ServerType(ndr, "server_type", r->server_type); - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr_print_uint32(ndr, "users", r->users); - ndr_print_uint32(ndr, "disc", r->disc); - ndr_print_uint32(ndr, "hidden", r->hidden); - ndr_print_uint32(ndr, "announce", r->announce); - ndr_print_uint32(ndr, "anndelta", r->anndelta); - ndr_print_uint32(ndr, "licenses", r->licenses); - ndr_print_ptr(ndr, "userpath", r->userpath); - ndr->depth++; - if (r->userpath) { - ndr_print_string(ndr, "userpath", r->userpath); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo402(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo402 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ulist_mtime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->glist_mtime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alist_mtime)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->alerts)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->security)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numadmin)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lanmask)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->guestaccount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->chdevs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->chdevqs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->chdevjobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connections)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->shares)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->openfiles)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessopen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sesssvc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessreqs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->activelocks)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numreqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numbigbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numfiletasks)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alertsched)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->erroralert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logonalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->accessalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->diskalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->netioalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxaudits)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvheuristics)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->alerts) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->alerts, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->alerts, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->alerts, ndr_charset_length(r->alerts, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->guestaccount) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guestaccount, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guestaccount, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->guestaccount, ndr_charset_length(r->guestaccount, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->srvheuristics) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->srvheuristics, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->srvheuristics, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->srvheuristics, ndr_charset_length(r->srvheuristics, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo402 *r) -{ - uint32_t _ptr_alerts; - TALLOC_CTX *_mem_save_alerts_0; - uint32_t _ptr_guestaccount; - TALLOC_CTX *_mem_save_guestaccount_0; - uint32_t _ptr_srvheuristics; - TALLOC_CTX *_mem_save_srvheuristics_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ulist_mtime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->glist_mtime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alist_mtime)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alerts)); - if (_ptr_alerts) { - NDR_PULL_ALLOC(ndr, r->alerts); - } else { - r->alerts = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->security)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numadmin)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lanmask)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guestaccount)); - if (_ptr_guestaccount) { - NDR_PULL_ALLOC(ndr, r->guestaccount); - } else { - r->guestaccount = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->chdevs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->chdevqs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->chdevjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connections)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->shares)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->openfiles)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessopen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sesssvc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessreqs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->activelocks)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numreqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numbigbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numfiletasks)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alertsched)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->erroralert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logonalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->accessalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->diskalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->netioalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxaudits)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvheuristics)); - if (_ptr_srvheuristics) { - NDR_PULL_ALLOC(ndr, r->srvheuristics); - } else { - r->srvheuristics = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->alerts) { - _mem_save_alerts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->alerts, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->alerts)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->alerts)); - if (ndr_get_array_length(ndr, &r->alerts) > ndr_get_array_size(ndr, &r->alerts)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->alerts), ndr_get_array_length(ndr, &r->alerts)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alerts, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alerts_0, 0); - } - if (r->guestaccount) { - _mem_save_guestaccount_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->guestaccount, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->guestaccount)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->guestaccount)); - if (ndr_get_array_length(ndr, &r->guestaccount) > ndr_get_array_size(ndr, &r->guestaccount)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->guestaccount), ndr_get_array_length(ndr, &r->guestaccount)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guestaccount, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guestaccount_0, 0); - } - if (r->srvheuristics) { - _mem_save_srvheuristics_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->srvheuristics, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->srvheuristics)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->srvheuristics)); - if (ndr_get_array_length(ndr, &r->srvheuristics) > ndr_get_array_size(ndr, &r->srvheuristics)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->srvheuristics), ndr_get_array_length(ndr, &r->srvheuristics)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->srvheuristics, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvheuristics_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo402(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo402 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo402"); - ndr->depth++; - ndr_print_uint32(ndr, "ulist_mtime", r->ulist_mtime); - ndr_print_uint32(ndr, "glist_mtime", r->glist_mtime); - ndr_print_uint32(ndr, "alist_mtime", r->alist_mtime); - ndr_print_ptr(ndr, "alerts", r->alerts); - ndr->depth++; - if (r->alerts) { - ndr_print_string(ndr, "alerts", r->alerts); - } - ndr->depth--; - ndr_print_uint32(ndr, "security", r->security); - ndr_print_uint32(ndr, "numadmin", r->numadmin); - ndr_print_uint32(ndr, "lanmask", r->lanmask); - ndr_print_ptr(ndr, "guestaccount", r->guestaccount); - ndr->depth++; - if (r->guestaccount) { - ndr_print_string(ndr, "guestaccount", r->guestaccount); - } - ndr->depth--; - ndr_print_uint32(ndr, "chdevs", r->chdevs); - ndr_print_uint32(ndr, "chdevqs", r->chdevqs); - ndr_print_uint32(ndr, "chdevjobs", r->chdevjobs); - ndr_print_uint32(ndr, "connections", r->connections); - ndr_print_uint32(ndr, "shares", r->shares); - ndr_print_uint32(ndr, "openfiles", r->openfiles); - ndr_print_uint32(ndr, "sessopen", r->sessopen); - ndr_print_uint32(ndr, "sesssvc", r->sesssvc); - ndr_print_uint32(ndr, "sessreqs", r->sessreqs); - ndr_print_uint32(ndr, "opensearch", r->opensearch); - ndr_print_uint32(ndr, "activelocks", r->activelocks); - ndr_print_uint32(ndr, "numreqbufs", r->numreqbufs); - ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs); - ndr_print_uint32(ndr, "numbigbufs", r->numbigbufs); - ndr_print_uint32(ndr, "numfiletasks", r->numfiletasks); - ndr_print_uint32(ndr, "alertsched", r->alertsched); - ndr_print_uint32(ndr, "erroralert", r->erroralert); - ndr_print_uint32(ndr, "logonalert", r->logonalert); - ndr_print_uint32(ndr, "accessalert", r->accessalert); - ndr_print_uint32(ndr, "diskalert", r->diskalert); - ndr_print_uint32(ndr, "netioalert", r->netioalert); - ndr_print_uint32(ndr, "maxaudits", r->maxaudits); - ndr_print_ptr(ndr, "srvheuristics", r->srvheuristics); - ndr->depth++; - if (r->srvheuristics) { - ndr_print_string(ndr, "srvheuristics", r->srvheuristics); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo403(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo403 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ulist_mtime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->glist_mtime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alist_mtime)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->alerts)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->security)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numadmin)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lanmask)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->guestaccount)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->chdevs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->chdevqs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->chdevjobs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->connections)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->shares)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->openfiles)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessopen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sesssvc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessreqs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->activelocks)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numreqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numbigbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numfiletasks)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alertsched)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->erroralert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logonalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->accessalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->diskalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->netioalert)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxaudits)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->srvheuristics)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auditedevents)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auditprofile)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->autopath)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->alerts) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->alerts, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->alerts, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->alerts, ndr_charset_length(r->alerts, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->guestaccount) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guestaccount, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->guestaccount, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->guestaccount, ndr_charset_length(r->guestaccount, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->srvheuristics) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->srvheuristics, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->srvheuristics, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->srvheuristics, ndr_charset_length(r->srvheuristics, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->autopath) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->autopath, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->autopath, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->autopath, ndr_charset_length(r->autopath, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo403 *r) -{ - uint32_t _ptr_alerts; - TALLOC_CTX *_mem_save_alerts_0; - uint32_t _ptr_guestaccount; - TALLOC_CTX *_mem_save_guestaccount_0; - uint32_t _ptr_srvheuristics; - TALLOC_CTX *_mem_save_srvheuristics_0; - uint32_t _ptr_autopath; - TALLOC_CTX *_mem_save_autopath_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ulist_mtime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->glist_mtime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alist_mtime)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alerts)); - if (_ptr_alerts) { - NDR_PULL_ALLOC(ndr, r->alerts); - } else { - r->alerts = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->security)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numadmin)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lanmask)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guestaccount)); - if (_ptr_guestaccount) { - NDR_PULL_ALLOC(ndr, r->guestaccount); - } else { - r->guestaccount = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->chdevs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->chdevqs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->chdevjobs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->connections)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->shares)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->openfiles)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessopen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sesssvc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessreqs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->activelocks)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numreqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numbigbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numfiletasks)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alertsched)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->erroralert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logonalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->accessalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->diskalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->netioalert)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxaudits)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_srvheuristics)); - if (_ptr_srvheuristics) { - NDR_PULL_ALLOC(ndr, r->srvheuristics); - } else { - r->srvheuristics = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auditedevents)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auditprofile)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_autopath)); - if (_ptr_autopath) { - NDR_PULL_ALLOC(ndr, r->autopath); - } else { - r->autopath = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->alerts) { - _mem_save_alerts_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->alerts, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->alerts)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->alerts)); - if (ndr_get_array_length(ndr, &r->alerts) > ndr_get_array_size(ndr, &r->alerts)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->alerts), ndr_get_array_length(ndr, &r->alerts)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->alerts, ndr_get_array_length(ndr, &r->alerts), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alerts_0, 0); - } - if (r->guestaccount) { - _mem_save_guestaccount_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->guestaccount, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->guestaccount)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->guestaccount)); - if (ndr_get_array_length(ndr, &r->guestaccount) > ndr_get_array_size(ndr, &r->guestaccount)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->guestaccount), ndr_get_array_length(ndr, &r->guestaccount)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->guestaccount, ndr_get_array_length(ndr, &r->guestaccount), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guestaccount_0, 0); - } - if (r->srvheuristics) { - _mem_save_srvheuristics_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->srvheuristics, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->srvheuristics)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->srvheuristics)); - if (ndr_get_array_length(ndr, &r->srvheuristics) > ndr_get_array_size(ndr, &r->srvheuristics)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->srvheuristics), ndr_get_array_length(ndr, &r->srvheuristics)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->srvheuristics, ndr_get_array_length(ndr, &r->srvheuristics), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_srvheuristics_0, 0); - } - if (r->autopath) { - _mem_save_autopath_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->autopath, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->autopath)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->autopath)); - if (ndr_get_array_length(ndr, &r->autopath) > ndr_get_array_size(ndr, &r->autopath)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->autopath), ndr_get_array_length(ndr, &r->autopath)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->autopath), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->autopath, ndr_get_array_length(ndr, &r->autopath), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_autopath_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo403(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo403 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo403"); - ndr->depth++; - ndr_print_uint32(ndr, "ulist_mtime", r->ulist_mtime); - ndr_print_uint32(ndr, "glist_mtime", r->glist_mtime); - ndr_print_uint32(ndr, "alist_mtime", r->alist_mtime); - ndr_print_ptr(ndr, "alerts", r->alerts); - ndr->depth++; - if (r->alerts) { - ndr_print_string(ndr, "alerts", r->alerts); - } - ndr->depth--; - ndr_print_uint32(ndr, "security", r->security); - ndr_print_uint32(ndr, "numadmin", r->numadmin); - ndr_print_uint32(ndr, "lanmask", r->lanmask); - ndr_print_ptr(ndr, "guestaccount", r->guestaccount); - ndr->depth++; - if (r->guestaccount) { - ndr_print_string(ndr, "guestaccount", r->guestaccount); - } - ndr->depth--; - ndr_print_uint32(ndr, "chdevs", r->chdevs); - ndr_print_uint32(ndr, "chdevqs", r->chdevqs); - ndr_print_uint32(ndr, "chdevjobs", r->chdevjobs); - ndr_print_uint32(ndr, "connections", r->connections); - ndr_print_uint32(ndr, "shares", r->shares); - ndr_print_uint32(ndr, "openfiles", r->openfiles); - ndr_print_uint32(ndr, "sessopen", r->sessopen); - ndr_print_uint32(ndr, "sesssvc", r->sesssvc); - ndr_print_uint32(ndr, "sessreqs", r->sessreqs); - ndr_print_uint32(ndr, "opensearch", r->opensearch); - ndr_print_uint32(ndr, "activelocks", r->activelocks); - ndr_print_uint32(ndr, "numreqbufs", r->numreqbufs); - ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs); - ndr_print_uint32(ndr, "numbigbufs", r->numbigbufs); - ndr_print_uint32(ndr, "numfiletasks", r->numfiletasks); - ndr_print_uint32(ndr, "alertsched", r->alertsched); - ndr_print_uint32(ndr, "erroralert", r->erroralert); - ndr_print_uint32(ndr, "logonalert", r->logonalert); - ndr_print_uint32(ndr, "accessalert", r->accessalert); - ndr_print_uint32(ndr, "diskalert", r->diskalert); - ndr_print_uint32(ndr, "netioalert", r->netioalert); - ndr_print_uint32(ndr, "maxaudits", r->maxaudits); - ndr_print_ptr(ndr, "srvheuristics", r->srvheuristics); - ndr->depth++; - if (r->srvheuristics) { - ndr_print_string(ndr, "srvheuristics", r->srvheuristics); - } - ndr->depth--; - ndr_print_uint32(ndr, "auditedevents", r->auditedevents); - ndr_print_uint32(ndr, "auditprofile", r->auditprofile); - ndr_print_ptr(ndr, "autopath", r->autopath); - ndr->depth++; - if (r->autopath) { - ndr_print_string(ndr, "autopath", r->autopath); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo502(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessopen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sesssvc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rawworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->irpstacksize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxrawbuflen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessusers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessconns)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxpagedmemoryusage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesoftcompat)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableforcedlogoff)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timesource)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->acceptdownlevelapis)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lmannounce)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessopen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sesssvc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rawworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->irpstacksize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxrawbuflen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessusers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessconns)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxpagedmemoryusage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesoftcompat)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableforcedlogoff)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timesource)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->acceptdownlevelapis)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lmannounce)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo502 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo502"); - ndr->depth++; - ndr_print_uint32(ndr, "sessopen", r->sessopen); - ndr_print_uint32(ndr, "sesssvc", r->sesssvc); - ndr_print_uint32(ndr, "opensearch", r->opensearch); - ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs); - ndr_print_uint32(ndr, "initworkitems", r->initworkitems); - ndr_print_uint32(ndr, "maxworkitems", r->maxworkitems); - ndr_print_uint32(ndr, "rawworkitems", r->rawworkitems); - ndr_print_uint32(ndr, "irpstacksize", r->irpstacksize); - ndr_print_uint32(ndr, "maxrawbuflen", r->maxrawbuflen); - ndr_print_uint32(ndr, "sessusers", r->sessusers); - ndr_print_uint32(ndr, "sessconns", r->sessconns); - ndr_print_uint32(ndr, "maxpagedmemoryusage", r->maxpagedmemoryusage); - ndr_print_uint32(ndr, "maxnonpagedmemoryusage", r->maxnonpagedmemoryusage); - ndr_print_uint32(ndr, "enablesoftcompat", r->enablesoftcompat); - ndr_print_uint32(ndr, "enableforcedlogoff", r->enableforcedlogoff); - ndr_print_uint32(ndr, "timesource", r->timesource); - ndr_print_uint32(ndr, "acceptdownlevelapis", r->acceptdownlevelapis); - ndr_print_uint32(ndr, "lmannounce", r->lmannounce); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo503(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo503 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessopen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sesssvc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rawworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->irpstacksize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxrawbuflen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessusers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessconns)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxpagedmemoryusage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesoftcompat)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableforcedlogoff)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timesource)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->acceptdownlevelapis)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lmannounce)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxcopyreadlen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxcopywritelen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minkeepsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxkeepsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minkeepcomplsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxkeepcomplsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->threadcountadd)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numlockthreads)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->scavtimeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minrcvqueue)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minfreeworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->xactmemsize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->threadpriority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxmpxct)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->oplockbreakwait)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->oplockbreakresponsewait)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableoplocks)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableoplockforceclose)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablefcbopens)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableraw)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesharednetdrives)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minfreeconnections)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxfreeconnections)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo503(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo503 *r) -{ - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessopen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sesssvc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rawworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->irpstacksize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxrawbuflen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessusers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessconns)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxpagedmemoryusage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesoftcompat)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableforcedlogoff)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timesource)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->acceptdownlevelapis)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lmannounce)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxcopyreadlen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxcopywritelen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minkeepsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxkeepsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minkeepcomplsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxkeepcomplsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->threadcountadd)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numlockthreads)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->scavtimeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minrcvqueue)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minfreeworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->xactmemsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->threadpriority)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxmpxct)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->oplockbreakwait)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->oplockbreakresponsewait)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableoplocks)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableoplockforceclose)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablefcbopens)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableraw)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesharednetdrives)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minfreeconnections)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxfreeconnections)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo503(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo503 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo503"); - ndr->depth++; - ndr_print_uint32(ndr, "sessopen", r->sessopen); - ndr_print_uint32(ndr, "sesssvc", r->sesssvc); - ndr_print_uint32(ndr, "opensearch", r->opensearch); - ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs); - ndr_print_uint32(ndr, "initworkitems", r->initworkitems); - ndr_print_uint32(ndr, "maxworkitems", r->maxworkitems); - ndr_print_uint32(ndr, "rawworkitems", r->rawworkitems); - ndr_print_uint32(ndr, "irpstacksize", r->irpstacksize); - ndr_print_uint32(ndr, "maxrawbuflen", r->maxrawbuflen); - ndr_print_uint32(ndr, "sessusers", r->sessusers); - ndr_print_uint32(ndr, "sessconns", r->sessconns); - ndr_print_uint32(ndr, "maxpagedmemoryusage", r->maxpagedmemoryusage); - ndr_print_uint32(ndr, "maxnonpagedmemoryusage", r->maxnonpagedmemoryusage); - ndr_print_uint32(ndr, "enablesoftcompat", r->enablesoftcompat); - ndr_print_uint32(ndr, "enableforcedlogoff", r->enableforcedlogoff); - ndr_print_uint32(ndr, "timesource", r->timesource); - ndr_print_uint32(ndr, "acceptdownlevelapis", r->acceptdownlevelapis); - ndr_print_uint32(ndr, "lmannounce", r->lmannounce); - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr_print_uint32(ndr, "maxcopyreadlen", r->maxcopyreadlen); - ndr_print_uint32(ndr, "maxcopywritelen", r->maxcopywritelen); - ndr_print_uint32(ndr, "minkeepsearch", r->minkeepsearch); - ndr_print_uint32(ndr, "maxkeepsearch", r->maxkeepsearch); - ndr_print_uint32(ndr, "minkeepcomplsearch", r->minkeepcomplsearch); - ndr_print_uint32(ndr, "maxkeepcomplsearch", r->maxkeepcomplsearch); - ndr_print_uint32(ndr, "threadcountadd", r->threadcountadd); - ndr_print_uint32(ndr, "numlockthreads", r->numlockthreads); - ndr_print_uint32(ndr, "scavtimeout", r->scavtimeout); - ndr_print_uint32(ndr, "minrcvqueue", r->minrcvqueue); - ndr_print_uint32(ndr, "minfreeworkitems", r->minfreeworkitems); - ndr_print_uint32(ndr, "xactmemsize", r->xactmemsize); - ndr_print_uint32(ndr, "threadpriority", r->threadpriority); - ndr_print_uint32(ndr, "maxmpxct", r->maxmpxct); - ndr_print_uint32(ndr, "oplockbreakwait", r->oplockbreakwait); - ndr_print_uint32(ndr, "oplockbreakresponsewait", r->oplockbreakresponsewait); - ndr_print_uint32(ndr, "enableoplocks", r->enableoplocks); - ndr_print_uint32(ndr, "enableoplockforceclose", r->enableoplockforceclose); - ndr_print_uint32(ndr, "enablefcbopens", r->enablefcbopens); - ndr_print_uint32(ndr, "enableraw", r->enableraw); - ndr_print_uint32(ndr, "enablesharednetdrives", r->enablesharednetdrives); - ndr_print_uint32(ndr, "minfreeconnections", r->minfreeconnections); - ndr_print_uint32(ndr, "maxfreeconnections", r->maxfreeconnections); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo599(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo599 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessopen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sesssvc)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rawworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->irpstacksize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxrawbuflen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessusers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessconns)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxpagedmemoryusage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesoftcompat)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableforcedlogoff)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timesource)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->acceptdownlevelapis)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lmannounce)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxcopyreadlen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxcopywritelen)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minkeepsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minkeepcomplsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxkeepcomplsearch)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->threadcountadd)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numlockthreads)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->scavtimeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minrcvqueue)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minfreeworkitems)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->xactmemsize)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->threadpriority)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxmpxct)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->oplockbreakwait)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->oplockbreakresponsewait)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableoplocks)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableoplockforceclose)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablefcbopens)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableraw)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesharednetdrives)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minfreeconnections)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxfreeconnections)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initsesstable)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initconntable)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initfiletable)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initsearchtable)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alertsched)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->errortreshold)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->networkerrortreshold)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->diskspacetreshold)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlinkdelay)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minlinkthroughput)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linkinfovalidtime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->scavqosinfoupdatetime)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxworkitemidletime)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo599(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo599 *r) -{ - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessopen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sesssvc)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rawworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->irpstacksize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxrawbuflen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessusers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessconns)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxpagedmemoryusage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesoftcompat)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableforcedlogoff)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timesource)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->acceptdownlevelapis)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lmannounce)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxcopyreadlen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxcopywritelen)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minkeepsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minkeepcomplsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxkeepcomplsearch)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->threadcountadd)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numlockthreads)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->scavtimeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minrcvqueue)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minfreeworkitems)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->xactmemsize)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->threadpriority)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxmpxct)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->oplockbreakwait)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->oplockbreakresponsewait)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableoplocks)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableoplockforceclose)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablefcbopens)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableraw)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesharednetdrives)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minfreeconnections)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxfreeconnections)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initsesstable)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initconntable)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initfiletable)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initsearchtable)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alertsched)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->errortreshold)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->networkerrortreshold)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->diskspacetreshold)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlinkdelay)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minlinkthroughput)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linkinfovalidtime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->scavqosinfoupdatetime)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxworkitemidletime)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo599(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo599 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo599"); - ndr->depth++; - ndr_print_uint32(ndr, "sessopen", r->sessopen); - ndr_print_uint32(ndr, "sesssvc", r->sesssvc); - ndr_print_uint32(ndr, "opensearch", r->opensearch); - ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs); - ndr_print_uint32(ndr, "initworkitems", r->initworkitems); - ndr_print_uint32(ndr, "maxworkitems", r->maxworkitems); - ndr_print_uint32(ndr, "rawworkitems", r->rawworkitems); - ndr_print_uint32(ndr, "irpstacksize", r->irpstacksize); - ndr_print_uint32(ndr, "maxrawbuflen", r->maxrawbuflen); - ndr_print_uint32(ndr, "sessusers", r->sessusers); - ndr_print_uint32(ndr, "sessconns", r->sessconns); - ndr_print_uint32(ndr, "maxpagedmemoryusage", r->maxpagedmemoryusage); - ndr_print_uint32(ndr, "maxnonpagedmemoryusage", r->maxnonpagedmemoryusage); - ndr_print_uint32(ndr, "enablesoftcompat", r->enablesoftcompat); - ndr_print_uint32(ndr, "enableforcedlogoff", r->enableforcedlogoff); - ndr_print_uint32(ndr, "timesource", r->timesource); - ndr_print_uint32(ndr, "acceptdownlevelapis", r->acceptdownlevelapis); - ndr_print_uint32(ndr, "lmannounce", r->lmannounce); - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr_print_uint32(ndr, "maxcopyreadlen", r->maxcopyreadlen); - ndr_print_uint32(ndr, "maxcopywritelen", r->maxcopywritelen); - ndr_print_uint32(ndr, "minkeepsearch", r->minkeepsearch); - ndr_print_uint32(ndr, "minkeepcomplsearch", r->minkeepcomplsearch); - ndr_print_uint32(ndr, "maxkeepcomplsearch", r->maxkeepcomplsearch); - ndr_print_uint32(ndr, "threadcountadd", r->threadcountadd); - ndr_print_uint32(ndr, "numlockthreads", r->numlockthreads); - ndr_print_uint32(ndr, "scavtimeout", r->scavtimeout); - ndr_print_uint32(ndr, "minrcvqueue", r->minrcvqueue); - ndr_print_uint32(ndr, "minfreeworkitems", r->minfreeworkitems); - ndr_print_uint32(ndr, "xactmemsize", r->xactmemsize); - ndr_print_uint32(ndr, "threadpriority", r->threadpriority); - ndr_print_uint32(ndr, "maxmpxct", r->maxmpxct); - ndr_print_uint32(ndr, "oplockbreakwait", r->oplockbreakwait); - ndr_print_uint32(ndr, "oplockbreakresponsewait", r->oplockbreakresponsewait); - ndr_print_uint32(ndr, "enableoplocks", r->enableoplocks); - ndr_print_uint32(ndr, "enableoplockforceclose", r->enableoplockforceclose); - ndr_print_uint32(ndr, "enablefcbopens", r->enablefcbopens); - ndr_print_uint32(ndr, "enableraw", r->enableraw); - ndr_print_uint32(ndr, "enablesharednetdrives", r->enablesharednetdrives); - ndr_print_uint32(ndr, "minfreeconnections", r->minfreeconnections); - ndr_print_uint32(ndr, "maxfreeconnections", r->maxfreeconnections); - ndr_print_uint32(ndr, "initsesstable", r->initsesstable); - ndr_print_uint32(ndr, "initconntable", r->initconntable); - ndr_print_uint32(ndr, "initfiletable", r->initfiletable); - ndr_print_uint32(ndr, "initsearchtable", r->initsearchtable); - ndr_print_uint32(ndr, "alertsched", r->alertsched); - ndr_print_uint32(ndr, "errortreshold", r->errortreshold); - ndr_print_uint32(ndr, "networkerrortreshold", r->networkerrortreshold); - ndr_print_uint32(ndr, "diskspacetreshold", r->diskspacetreshold); - ndr_print_uint32(ndr, "reserved", r->reserved); - ndr_print_uint32(ndr, "maxlinkdelay", r->maxlinkdelay); - ndr_print_uint32(ndr, "minlinkthroughput", r->minlinkthroughput); - ndr_print_uint32(ndr, "linkinfovalidtime", r->linkinfovalidtime); - ndr_print_uint32(ndr, "scavqosinfoupdatetime", r->scavqosinfoupdatetime); - ndr_print_uint32(ndr, "maxworkitemidletime", r->maxworkitemidletime); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1005(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1005 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->comment, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->comment, ndr_charset_length(r->comment, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1005(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1005 *r) -{ - uint32_t _ptr_comment; - TALLOC_CTX *_mem_save_comment_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment)); - if (_ptr_comment) { - NDR_PULL_ALLOC(ndr, r->comment); - } else { - r->comment = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->comment) { - _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->comment)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->comment)); - if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1005(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1005 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1005"); - ndr->depth++; - ndr_print_ptr(ndr, "comment", r->comment); - ndr->depth++; - if (r->comment) { - ndr_print_string(ndr, "comment", r->comment); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1010(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1010 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->disc)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1010(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1010 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->disc)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1010(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1010 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1010"); - ndr->depth++; - ndr_print_uint32(ndr, "disc", r->disc); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1016(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1016 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->hidden)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1016(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1016 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->hidden)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1016(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1016 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1016"); - ndr->depth++; - ndr_print_uint32(ndr, "hidden", r->hidden); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1017(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1017 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->announce)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1017(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1017 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->announce)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1017(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1017 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1017"); - ndr->depth++; - ndr_print_uint32(ndr, "announce", r->announce); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1018(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1018 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->anndelta)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1018(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1018 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->anndelta)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1018(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1018 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1018"); - ndr->depth++; - ndr_print_uint32(ndr, "anndelta", r->anndelta); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1107(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1107 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->users)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1107(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1107 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->users)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1107(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1107 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1107"); - ndr->depth++; - ndr_print_uint32(ndr, "users", r->users); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1501(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1501 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessopens)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1501(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1501 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessopens)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1501 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1501"); - ndr->depth++; - ndr_print_uint32(ndr, "sessopens", r->sessopens); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1502(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessvcs)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1502(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessvcs)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1502 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1502"); - ndr->depth++; - ndr_print_uint32(ndr, "sessvcs", r->sessvcs); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1503(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1503 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1503(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1503 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1503(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1503 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1503"); - ndr->depth++; - ndr_print_uint32(ndr, "opensearch", r->opensearch); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1506(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1506 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxworkitems)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1506(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1506 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxworkitems)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1506(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1506 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1506"); - ndr->depth++; - ndr_print_uint32(ndr, "maxworkitems", r->maxworkitems); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1509(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1509 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxrawbuflen)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1509(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1509 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxrawbuflen)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1509(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1509 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1509"); - ndr->depth++; - ndr_print_uint32(ndr, "maxrawbuflen", r->maxrawbuflen); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1510(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1510 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessusers)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1510(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1510 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessusers)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1510(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1510 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1510"); - ndr->depth++; - ndr_print_uint32(ndr, "sessusers", r->sessusers); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1511(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1511 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sesscons)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1511(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1511 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sesscons)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1511(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1511 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1511"); - ndr->depth++; - ndr_print_uint32(ndr, "sesscons", r->sesscons); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1512(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1512 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1512(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1512 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxnonpagedmemoryusage)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1512(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1512 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1512"); - ndr->depth++; - ndr_print_uint32(ndr, "maxnonpagedmemoryusage", r->maxnonpagedmemoryusage); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1513(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1513 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxpagedmemoryusage)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1513(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1513 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxpagedmemoryusage)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1513(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1513 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1513"); - ndr->depth++; - ndr_print_uint32(ndr, "maxpagedmemoryusage", r->maxpagedmemoryusage); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1514(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1514 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesoftcompat)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1514(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1514 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesoftcompat)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1514(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1514 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1514"); - ndr->depth++; - ndr_print_uint32(ndr, "enablesoftcompat", r->enablesoftcompat); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1515(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1515 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableforcedlogoff)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1515(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1515 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableforcedlogoff)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1515(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1515 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1515"); - ndr->depth++; - ndr_print_uint32(ndr, "enableforcedlogoff", r->enableforcedlogoff); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1516(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1516 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timesource)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1516(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1516 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timesource)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1516(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1516 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1516"); - ndr->depth++; - ndr_print_uint32(ndr, "timesource", r->timesource); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1518(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1518 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lmannounce)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1518(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1518 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lmannounce)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1518(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1518 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1518"); - ndr->depth++; - ndr_print_uint32(ndr, "lmannounce", r->lmannounce); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1520(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1520 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxcopyreadlen)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1520(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1520 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxcopyreadlen)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1520(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1520 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1520"); - ndr->depth++; - ndr_print_uint32(ndr, "maxcopyreadlen", r->maxcopyreadlen); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1521(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1521 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxcopywritelen)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1521(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1521 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxcopywritelen)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1521(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1521 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1521"); - ndr->depth++; - ndr_print_uint32(ndr, "maxcopywritelen", r->maxcopywritelen); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1522(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1522 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minkeepsearch)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1522(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1522 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minkeepsearch)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1522(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1522 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1522"); - ndr->depth++; - ndr_print_uint32(ndr, "minkeepsearch", r->minkeepsearch); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1523(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1523 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxkeepsearch)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1523(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1523 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxkeepsearch)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1523(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1523 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1523"); - ndr->depth++; - ndr_print_uint32(ndr, "maxkeepsearch", r->maxkeepsearch); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1524(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1524 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minkeepcomplsearch)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1524(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1524 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minkeepcomplsearch)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1524(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1524 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1524"); - ndr->depth++; - ndr_print_uint32(ndr, "minkeepcomplsearch", r->minkeepcomplsearch); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1525(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1525 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxkeepcomplsearch)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1525(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1525 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxkeepcomplsearch)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1525(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1525 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1525"); - ndr->depth++; - ndr_print_uint32(ndr, "maxkeepcomplsearch", r->maxkeepcomplsearch); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1528(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1528 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->scavtimeout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1528(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1528 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->scavtimeout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1528(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1528 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1528"); - ndr->depth++; - ndr_print_uint32(ndr, "scavtimeout", r->scavtimeout); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1529(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1529 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minrcvqueue)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1529(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1529 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minrcvqueue)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1529(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1529 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1529"); - ndr->depth++; - ndr_print_uint32(ndr, "minrcvqueue", r->minrcvqueue); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1530(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1530 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minfreeworkitems)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1530(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1530 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minfreeworkitems)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1530(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1530 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1530"); - ndr->depth++; - ndr_print_uint32(ndr, "minfreeworkitems", r->minfreeworkitems); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1533(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1533 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxmpxct)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1533(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1533 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxmpxct)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1533(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1533 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1533"); - ndr->depth++; - ndr_print_uint32(ndr, "maxmpxct", r->maxmpxct); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1534(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1534 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->oplockbreakwait)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1534(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1534 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->oplockbreakwait)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1534(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1534 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1534"); - ndr->depth++; - ndr_print_uint32(ndr, "oplockbreakwait", r->oplockbreakwait); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1535(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1535 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->oplockbreakresponsewait)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1535(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1535 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->oplockbreakresponsewait)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1535(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1535 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1535"); - ndr->depth++; - ndr_print_uint32(ndr, "oplockbreakresponsewait", r->oplockbreakresponsewait); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1536(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1536 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableoplocks)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1536(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1536 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableoplocks)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1536(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1536 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1536"); - ndr->depth++; - ndr_print_uint32(ndr, "enableoplocks", r->enableoplocks); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1537(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1537 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableoplockforceclose)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1537(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1537 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableoplockforceclose)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1537(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1537 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1537"); - ndr->depth++; - ndr_print_uint32(ndr, "enableoplockforceclose", r->enableoplockforceclose); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1538(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1538 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablefcbopens)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1538(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1538 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablefcbopens)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1538(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1538 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1538"); - ndr->depth++; - ndr_print_uint32(ndr, "enablefcbopens", r->enablefcbopens); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1539(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1539 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enableraw)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1539(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1539 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enableraw)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1539(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1539 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1539"); - ndr->depth++; - ndr_print_uint32(ndr, "enableraw", r->enableraw); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1540(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1540 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enablesharednetdrives)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1540(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1540 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enablesharednetdrives)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1540(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1540 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1540"); - ndr->depth++; - ndr_print_uint32(ndr, "enablesharednetdrives", r->enablesharednetdrives); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1541(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1541 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minfreeconnections)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1541(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1541 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minfreeconnections)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1541(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1541 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1541"); - ndr->depth++; - ndr_print_uint32(ndr, "minfreeconnections", r->minfreeconnections); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1542(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1542 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxfreeconnections)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1542(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1542 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxfreeconnections)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1542(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1542 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1542"); - ndr->depth++; - ndr_print_uint32(ndr, "maxfreeconnections", r->maxfreeconnections); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1543(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1543 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initsesstable)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1543(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1543 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initsesstable)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1543(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1543 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1543"); - ndr->depth++; - ndr_print_uint32(ndr, "initsesstable", r->initsesstable); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1544(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1544 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initconntable)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1544(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1544 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initconntable)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1544(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1544 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1544"); - ndr->depth++; - ndr_print_uint32(ndr, "initconntable", r->initconntable); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1545(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1545 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initfiletable)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1545(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1545 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initfiletable)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1545(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1545 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1545"); - ndr->depth++; - ndr_print_uint32(ndr, "initfiletable", r->initfiletable); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1546(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1546 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->initsearchtable)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1546(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1546 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->initsearchtable)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1546(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1546 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1546"); - ndr->depth++; - ndr_print_uint32(ndr, "initsearchtable", r->initsearchtable); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1547(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1547 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alertsched)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1547(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1547 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alertsched)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1547(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1547 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1547"); - ndr->depth++; - ndr_print_uint32(ndr, "alertsched", r->alertsched); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1548(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1548 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->errortreshold)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1548(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1548 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->errortreshold)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1548(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1548 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1548"); - ndr->depth++; - ndr_print_uint32(ndr, "errortreshold", r->errortreshold); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1549(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1549 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->networkerrortreshold)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1549(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1549 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->networkerrortreshold)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1549(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1549 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1549"); - ndr->depth++; - ndr_print_uint32(ndr, "networkerrortreshold", r->networkerrortreshold); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1550(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1550 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->diskspacetreshold)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1550(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1550 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->diskspacetreshold)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1550(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1550 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1550"); - ndr->depth++; - ndr_print_uint32(ndr, "diskspacetreshold", r->diskspacetreshold); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1552(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1552 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlinkdelay)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1552(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1552 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlinkdelay)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1552(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1552 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1552"); - ndr->depth++; - ndr_print_uint32(ndr, "maxlinkdelay", r->maxlinkdelay); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1553(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1553 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minlinkthroughput)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1553(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1553 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minlinkthroughput)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1553(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1553 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1553"); - ndr->depth++; - ndr_print_uint32(ndr, "minlinkthroughput", r->minlinkthroughput); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1554(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1554 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->linkinfovalidtime)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1554(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1554 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->linkinfovalidtime)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1554(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1554 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1554"); - ndr->depth++; - ndr_print_uint32(ndr, "linkinfovalidtime", r->linkinfovalidtime); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1555(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1555 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->scavqosinfoupdatetime)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1555(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1555 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->scavqosinfoupdatetime)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1555(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1555 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1555"); - ndr->depth++; - ndr_print_uint32(ndr, "scavqosinfoupdatetime", r->scavqosinfoupdatetime); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo1556(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo1556 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxworkitemidletime)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo1556(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo1556 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxworkitemidletime)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo1556(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1556 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvInfo1556"); - ndr->depth++; - ndr_print_uint32(ndr, "maxworkitemidletime", r->maxworkitemidletime); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetSrvInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 100: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info100)); - break; } - - case 101: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info101)); - break; } - - case 102: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info102)); - break; } - - case 402: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info402)); - break; } - - case 403: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info403)); - break; } - - case 502: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info502)); - break; } - - case 503: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info503)); - break; } - - case 599: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info599)); - break; } - - case 1005: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1005)); - break; } - - case 1010: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1010)); - break; } - - case 1016: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1016)); - break; } - - case 1017: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1017)); - break; } - - case 1018: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1018)); - break; } - - case 1107: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1107)); - break; } - - case 1501: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1501)); - break; } - - case 1502: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1502)); - break; } - - case 1503: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1503)); - break; } - - case 1506: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1506)); - break; } - - case 1509: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1509)); - break; } - - case 1510: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1510)); - break; } - - case 1511: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1511)); - break; } - - case 1512: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1512)); - break; } - - case 1513: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1513)); - break; } - - case 1514: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1514)); - break; } - - case 1515: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1515)); - break; } - - case 1516: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1516)); - break; } - - case 1518: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1518)); - break; } - - case 1520: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1520)); - break; } - - case 1521: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1521)); - break; } - - case 1522: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1522)); - break; } - - case 1523: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1523)); - break; } - - case 1524: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1524)); - break; } - - case 1525: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1525)); - break; } - - case 1528: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1528)); - break; } - - case 1529: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1529)); - break; } - - case 1530: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1530)); - break; } - - case 1533: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1533)); - break; } - - case 1534: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1534)); - break; } - - case 1535: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1535)); - break; } - - case 1536: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1536)); - break; } - - case 1537: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1537)); - break; } - - case 1538: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1538)); - break; } - - case 1539: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1539)); - break; } - - case 1540: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1540)); - break; } - - case 1541: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1541)); - break; } - - case 1542: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1542)); - break; } - - case 1543: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1543)); - break; } - - case 1544: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1544)); - break; } - - case 1545: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1545)); - break; } - - case 1546: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1546)); - break; } - - case 1547: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1547)); - break; } - - case 1548: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1548)); - break; } - - case 1549: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1549)); - break; } - - case 1550: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1550)); - break; } - - case 1552: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1552)); - break; } - - case 1553: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1553)); - break; } - - case 1554: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1554)); - break; } - - case 1555: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1555)); - break; } - - case 1556: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1556)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 100: - if (r->info100) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); - } - break; - - case 101: - if (r->info101) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101)); - } - break; - - case 102: - if (r->info102) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo102(ndr, NDR_SCALARS|NDR_BUFFERS, r->info102)); - } - break; - - case 402: - if (r->info402) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo402(ndr, NDR_SCALARS|NDR_BUFFERS, r->info402)); - } - break; - - case 403: - if (r->info403) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo403(ndr, NDR_SCALARS|NDR_BUFFERS, r->info403)); - } - break; - - case 502: - if (r->info502) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo502(ndr, NDR_SCALARS, r->info502)); - } - break; - - case 503: - if (r->info503) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo503(ndr, NDR_SCALARS|NDR_BUFFERS, r->info503)); - } - break; - - case 599: - if (r->info599) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo599(ndr, NDR_SCALARS|NDR_BUFFERS, r->info599)); - } - break; - - case 1005: - if (r->info1005) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1005(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1005)); - } - break; - - case 1010: - if (r->info1010) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1010(ndr, NDR_SCALARS, r->info1010)); - } - break; - - case 1016: - if (r->info1016) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1016(ndr, NDR_SCALARS, r->info1016)); - } - break; - - case 1017: - if (r->info1017) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1017(ndr, NDR_SCALARS, r->info1017)); - } - break; - - case 1018: - if (r->info1018) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1018(ndr, NDR_SCALARS, r->info1018)); - } - break; - - case 1107: - if (r->info1107) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1107(ndr, NDR_SCALARS, r->info1107)); - } - break; - - case 1501: - if (r->info1501) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1501(ndr, NDR_SCALARS, r->info1501)); - } - break; - - case 1502: - if (r->info1502) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1502(ndr, NDR_SCALARS, r->info1502)); - } - break; - - case 1503: - if (r->info1503) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1503(ndr, NDR_SCALARS, r->info1503)); - } - break; - - case 1506: - if (r->info1506) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1506(ndr, NDR_SCALARS, r->info1506)); - } - break; - - case 1509: - if (r->info1509) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1509(ndr, NDR_SCALARS, r->info1509)); - } - break; - - case 1510: - if (r->info1510) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1510(ndr, NDR_SCALARS, r->info1510)); - } - break; - - case 1511: - if (r->info1511) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1511(ndr, NDR_SCALARS, r->info1511)); - } - break; - - case 1512: - if (r->info1512) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1512(ndr, NDR_SCALARS, r->info1512)); - } - break; - - case 1513: - if (r->info1513) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1513(ndr, NDR_SCALARS, r->info1513)); - } - break; - - case 1514: - if (r->info1514) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1514(ndr, NDR_SCALARS, r->info1514)); - } - break; - - case 1515: - if (r->info1515) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1515(ndr, NDR_SCALARS, r->info1515)); - } - break; - - case 1516: - if (r->info1516) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1516(ndr, NDR_SCALARS, r->info1516)); - } - break; - - case 1518: - if (r->info1518) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1518(ndr, NDR_SCALARS, r->info1518)); - } - break; - - case 1520: - if (r->info1520) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1520(ndr, NDR_SCALARS, r->info1520)); - } - break; - - case 1521: - if (r->info1521) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1521(ndr, NDR_SCALARS, r->info1521)); - } - break; - - case 1522: - if (r->info1522) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1522(ndr, NDR_SCALARS, r->info1522)); - } - break; - - case 1523: - if (r->info1523) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1523(ndr, NDR_SCALARS, r->info1523)); - } - break; - - case 1524: - if (r->info1524) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1524(ndr, NDR_SCALARS, r->info1524)); - } - break; - - case 1525: - if (r->info1525) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1525(ndr, NDR_SCALARS, r->info1525)); - } - break; - - case 1528: - if (r->info1528) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1528(ndr, NDR_SCALARS, r->info1528)); - } - break; - - case 1529: - if (r->info1529) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1529(ndr, NDR_SCALARS, r->info1529)); - } - break; - - case 1530: - if (r->info1530) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1530(ndr, NDR_SCALARS, r->info1530)); - } - break; - - case 1533: - if (r->info1533) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1533(ndr, NDR_SCALARS, r->info1533)); - } - break; - - case 1534: - if (r->info1534) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1534(ndr, NDR_SCALARS, r->info1534)); - } - break; - - case 1535: - if (r->info1535) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1535(ndr, NDR_SCALARS, r->info1535)); - } - break; - - case 1536: - if (r->info1536) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1536(ndr, NDR_SCALARS, r->info1536)); - } - break; - - case 1537: - if (r->info1537) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1537(ndr, NDR_SCALARS, r->info1537)); - } - break; - - case 1538: - if (r->info1538) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1538(ndr, NDR_SCALARS, r->info1538)); - } - break; - - case 1539: - if (r->info1539) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1539(ndr, NDR_SCALARS, r->info1539)); - } - break; - - case 1540: - if (r->info1540) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1540(ndr, NDR_SCALARS, r->info1540)); - } - break; - - case 1541: - if (r->info1541) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1541(ndr, NDR_SCALARS, r->info1541)); - } - break; - - case 1542: - if (r->info1542) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1542(ndr, NDR_SCALARS, r->info1542)); - } - break; - - case 1543: - if (r->info1543) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1543(ndr, NDR_SCALARS, r->info1543)); - } - break; - - case 1544: - if (r->info1544) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1544(ndr, NDR_SCALARS, r->info1544)); - } - break; - - case 1545: - if (r->info1545) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1545(ndr, NDR_SCALARS, r->info1545)); - } - break; - - case 1546: - if (r->info1546) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1546(ndr, NDR_SCALARS, r->info1546)); - } - break; - - case 1547: - if (r->info1547) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1547(ndr, NDR_SCALARS, r->info1547)); - } - break; - - case 1548: - if (r->info1548) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1548(ndr, NDR_SCALARS, r->info1548)); - } - break; - - case 1549: - if (r->info1549) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1549(ndr, NDR_SCALARS, r->info1549)); - } - break; - - case 1550: - if (r->info1550) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1550(ndr, NDR_SCALARS, r->info1550)); - } - break; - - case 1552: - if (r->info1552) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1552(ndr, NDR_SCALARS, r->info1552)); - } - break; - - case 1553: - if (r->info1553) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1553(ndr, NDR_SCALARS, r->info1553)); - } - break; - - case 1554: - if (r->info1554) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1554(ndr, NDR_SCALARS, r->info1554)); - } - break; - - case 1555: - if (r->info1555) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1555(ndr, NDR_SCALARS, r->info1555)); - } - break; - - case 1556: - if (r->info1556) { - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo1556(ndr, NDR_SCALARS, r->info1556)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetSrvInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info100_0; - TALLOC_CTX *_mem_save_info101_0; - TALLOC_CTX *_mem_save_info102_0; - TALLOC_CTX *_mem_save_info402_0; - TALLOC_CTX *_mem_save_info403_0; - TALLOC_CTX *_mem_save_info502_0; - TALLOC_CTX *_mem_save_info503_0; - TALLOC_CTX *_mem_save_info599_0; - TALLOC_CTX *_mem_save_info1005_0; - TALLOC_CTX *_mem_save_info1010_0; - TALLOC_CTX *_mem_save_info1016_0; - TALLOC_CTX *_mem_save_info1017_0; - TALLOC_CTX *_mem_save_info1018_0; - TALLOC_CTX *_mem_save_info1107_0; - TALLOC_CTX *_mem_save_info1501_0; - TALLOC_CTX *_mem_save_info1502_0; - TALLOC_CTX *_mem_save_info1503_0; - TALLOC_CTX *_mem_save_info1506_0; - TALLOC_CTX *_mem_save_info1509_0; - TALLOC_CTX *_mem_save_info1510_0; - TALLOC_CTX *_mem_save_info1511_0; - TALLOC_CTX *_mem_save_info1512_0; - TALLOC_CTX *_mem_save_info1513_0; - TALLOC_CTX *_mem_save_info1514_0; - TALLOC_CTX *_mem_save_info1515_0; - TALLOC_CTX *_mem_save_info1516_0; - TALLOC_CTX *_mem_save_info1518_0; - TALLOC_CTX *_mem_save_info1520_0; - TALLOC_CTX *_mem_save_info1521_0; - TALLOC_CTX *_mem_save_info1522_0; - TALLOC_CTX *_mem_save_info1523_0; - TALLOC_CTX *_mem_save_info1524_0; - TALLOC_CTX *_mem_save_info1525_0; - TALLOC_CTX *_mem_save_info1528_0; - TALLOC_CTX *_mem_save_info1529_0; - TALLOC_CTX *_mem_save_info1530_0; - TALLOC_CTX *_mem_save_info1533_0; - TALLOC_CTX *_mem_save_info1534_0; - TALLOC_CTX *_mem_save_info1535_0; - TALLOC_CTX *_mem_save_info1536_0; - TALLOC_CTX *_mem_save_info1537_0; - TALLOC_CTX *_mem_save_info1538_0; - TALLOC_CTX *_mem_save_info1539_0; - TALLOC_CTX *_mem_save_info1540_0; - TALLOC_CTX *_mem_save_info1541_0; - TALLOC_CTX *_mem_save_info1542_0; - TALLOC_CTX *_mem_save_info1543_0; - TALLOC_CTX *_mem_save_info1544_0; - TALLOC_CTX *_mem_save_info1545_0; - TALLOC_CTX *_mem_save_info1546_0; - TALLOC_CTX *_mem_save_info1547_0; - TALLOC_CTX *_mem_save_info1548_0; - TALLOC_CTX *_mem_save_info1549_0; - TALLOC_CTX *_mem_save_info1550_0; - TALLOC_CTX *_mem_save_info1552_0; - TALLOC_CTX *_mem_save_info1553_0; - TALLOC_CTX *_mem_save_info1554_0; - TALLOC_CTX *_mem_save_info1555_0; - TALLOC_CTX *_mem_save_info1556_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 100: { - uint32_t _ptr_info100; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100)); - if (_ptr_info100) { - NDR_PULL_ALLOC(ndr, r->info100); - } else { - r->info100 = NULL; - } - break; } - - case 101: { - uint32_t _ptr_info101; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101)); - if (_ptr_info101) { - NDR_PULL_ALLOC(ndr, r->info101); - } else { - r->info101 = NULL; - } - break; } - - case 102: { - uint32_t _ptr_info102; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102)); - if (_ptr_info102) { - NDR_PULL_ALLOC(ndr, r->info102); - } else { - r->info102 = NULL; - } - break; } - - case 402: { - uint32_t _ptr_info402; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info402)); - if (_ptr_info402) { - NDR_PULL_ALLOC(ndr, r->info402); - } else { - r->info402 = NULL; - } - break; } - - case 403: { - uint32_t _ptr_info403; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info403)); - if (_ptr_info403) { - NDR_PULL_ALLOC(ndr, r->info403); - } else { - r->info403 = NULL; - } - break; } - - case 502: { - uint32_t _ptr_info502; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502)); - if (_ptr_info502) { - NDR_PULL_ALLOC(ndr, r->info502); - } else { - r->info502 = NULL; - } - break; } - - case 503: { - uint32_t _ptr_info503; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info503)); - if (_ptr_info503) { - NDR_PULL_ALLOC(ndr, r->info503); - } else { - r->info503 = NULL; - } - break; } - - case 599: { - uint32_t _ptr_info599; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info599)); - if (_ptr_info599) { - NDR_PULL_ALLOC(ndr, r->info599); - } else { - r->info599 = NULL; - } - break; } - - case 1005: { - uint32_t _ptr_info1005; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1005)); - if (_ptr_info1005) { - NDR_PULL_ALLOC(ndr, r->info1005); - } else { - r->info1005 = NULL; - } - break; } - - case 1010: { - uint32_t _ptr_info1010; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1010)); - if (_ptr_info1010) { - NDR_PULL_ALLOC(ndr, r->info1010); - } else { - r->info1010 = NULL; - } - break; } - - case 1016: { - uint32_t _ptr_info1016; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1016)); - if (_ptr_info1016) { - NDR_PULL_ALLOC(ndr, r->info1016); - } else { - r->info1016 = NULL; - } - break; } - - case 1017: { - uint32_t _ptr_info1017; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1017)); - if (_ptr_info1017) { - NDR_PULL_ALLOC(ndr, r->info1017); - } else { - r->info1017 = NULL; - } - break; } - - case 1018: { - uint32_t _ptr_info1018; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1018)); - if (_ptr_info1018) { - NDR_PULL_ALLOC(ndr, r->info1018); - } else { - r->info1018 = NULL; - } - break; } - - case 1107: { - uint32_t _ptr_info1107; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1107)); - if (_ptr_info1107) { - NDR_PULL_ALLOC(ndr, r->info1107); - } else { - r->info1107 = NULL; - } - break; } - - case 1501: { - uint32_t _ptr_info1501; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1501)); - if (_ptr_info1501) { - NDR_PULL_ALLOC(ndr, r->info1501); - } else { - r->info1501 = NULL; - } - break; } - - case 1502: { - uint32_t _ptr_info1502; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1502)); - if (_ptr_info1502) { - NDR_PULL_ALLOC(ndr, r->info1502); - } else { - r->info1502 = NULL; - } - break; } - - case 1503: { - uint32_t _ptr_info1503; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1503)); - if (_ptr_info1503) { - NDR_PULL_ALLOC(ndr, r->info1503); - } else { - r->info1503 = NULL; - } - break; } - - case 1506: { - uint32_t _ptr_info1506; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1506)); - if (_ptr_info1506) { - NDR_PULL_ALLOC(ndr, r->info1506); - } else { - r->info1506 = NULL; - } - break; } - - case 1509: { - uint32_t _ptr_info1509; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1509)); - if (_ptr_info1509) { - NDR_PULL_ALLOC(ndr, r->info1509); - } else { - r->info1509 = NULL; - } - break; } - - case 1510: { - uint32_t _ptr_info1510; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1510)); - if (_ptr_info1510) { - NDR_PULL_ALLOC(ndr, r->info1510); - } else { - r->info1510 = NULL; - } - break; } - - case 1511: { - uint32_t _ptr_info1511; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1511)); - if (_ptr_info1511) { - NDR_PULL_ALLOC(ndr, r->info1511); - } else { - r->info1511 = NULL; - } - break; } - - case 1512: { - uint32_t _ptr_info1512; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1512)); - if (_ptr_info1512) { - NDR_PULL_ALLOC(ndr, r->info1512); - } else { - r->info1512 = NULL; - } - break; } - - case 1513: { - uint32_t _ptr_info1513; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1513)); - if (_ptr_info1513) { - NDR_PULL_ALLOC(ndr, r->info1513); - } else { - r->info1513 = NULL; - } - break; } - - case 1514: { - uint32_t _ptr_info1514; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1514)); - if (_ptr_info1514) { - NDR_PULL_ALLOC(ndr, r->info1514); - } else { - r->info1514 = NULL; - } - break; } - - case 1515: { - uint32_t _ptr_info1515; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1515)); - if (_ptr_info1515) { - NDR_PULL_ALLOC(ndr, r->info1515); - } else { - r->info1515 = NULL; - } - break; } - - case 1516: { - uint32_t _ptr_info1516; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1516)); - if (_ptr_info1516) { - NDR_PULL_ALLOC(ndr, r->info1516); - } else { - r->info1516 = NULL; - } - break; } - - case 1518: { - uint32_t _ptr_info1518; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1518)); - if (_ptr_info1518) { - NDR_PULL_ALLOC(ndr, r->info1518); - } else { - r->info1518 = NULL; - } - break; } - - case 1520: { - uint32_t _ptr_info1520; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1520)); - if (_ptr_info1520) { - NDR_PULL_ALLOC(ndr, r->info1520); - } else { - r->info1520 = NULL; - } - break; } - - case 1521: { - uint32_t _ptr_info1521; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1521)); - if (_ptr_info1521) { - NDR_PULL_ALLOC(ndr, r->info1521); - } else { - r->info1521 = NULL; - } - break; } - - case 1522: { - uint32_t _ptr_info1522; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1522)); - if (_ptr_info1522) { - NDR_PULL_ALLOC(ndr, r->info1522); - } else { - r->info1522 = NULL; - } - break; } - - case 1523: { - uint32_t _ptr_info1523; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1523)); - if (_ptr_info1523) { - NDR_PULL_ALLOC(ndr, r->info1523); - } else { - r->info1523 = NULL; - } - break; } - - case 1524: { - uint32_t _ptr_info1524; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1524)); - if (_ptr_info1524) { - NDR_PULL_ALLOC(ndr, r->info1524); - } else { - r->info1524 = NULL; - } - break; } - - case 1525: { - uint32_t _ptr_info1525; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1525)); - if (_ptr_info1525) { - NDR_PULL_ALLOC(ndr, r->info1525); - } else { - r->info1525 = NULL; - } - break; } - - case 1528: { - uint32_t _ptr_info1528; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1528)); - if (_ptr_info1528) { - NDR_PULL_ALLOC(ndr, r->info1528); - } else { - r->info1528 = NULL; - } - break; } - - case 1529: { - uint32_t _ptr_info1529; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1529)); - if (_ptr_info1529) { - NDR_PULL_ALLOC(ndr, r->info1529); - } else { - r->info1529 = NULL; - } - break; } - - case 1530: { - uint32_t _ptr_info1530; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1530)); - if (_ptr_info1530) { - NDR_PULL_ALLOC(ndr, r->info1530); - } else { - r->info1530 = NULL; - } - break; } - - case 1533: { - uint32_t _ptr_info1533; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1533)); - if (_ptr_info1533) { - NDR_PULL_ALLOC(ndr, r->info1533); - } else { - r->info1533 = NULL; - } - break; } - - case 1534: { - uint32_t _ptr_info1534; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1534)); - if (_ptr_info1534) { - NDR_PULL_ALLOC(ndr, r->info1534); - } else { - r->info1534 = NULL; - } - break; } - - case 1535: { - uint32_t _ptr_info1535; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1535)); - if (_ptr_info1535) { - NDR_PULL_ALLOC(ndr, r->info1535); - } else { - r->info1535 = NULL; - } - break; } - - case 1536: { - uint32_t _ptr_info1536; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1536)); - if (_ptr_info1536) { - NDR_PULL_ALLOC(ndr, r->info1536); - } else { - r->info1536 = NULL; - } - break; } - - case 1537: { - uint32_t _ptr_info1537; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1537)); - if (_ptr_info1537) { - NDR_PULL_ALLOC(ndr, r->info1537); - } else { - r->info1537 = NULL; - } - break; } - - case 1538: { - uint32_t _ptr_info1538; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1538)); - if (_ptr_info1538) { - NDR_PULL_ALLOC(ndr, r->info1538); - } else { - r->info1538 = NULL; - } - break; } - - case 1539: { - uint32_t _ptr_info1539; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1539)); - if (_ptr_info1539) { - NDR_PULL_ALLOC(ndr, r->info1539); - } else { - r->info1539 = NULL; - } - break; } - - case 1540: { - uint32_t _ptr_info1540; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1540)); - if (_ptr_info1540) { - NDR_PULL_ALLOC(ndr, r->info1540); - } else { - r->info1540 = NULL; - } - break; } - - case 1541: { - uint32_t _ptr_info1541; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1541)); - if (_ptr_info1541) { - NDR_PULL_ALLOC(ndr, r->info1541); - } else { - r->info1541 = NULL; - } - break; } - - case 1542: { - uint32_t _ptr_info1542; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1542)); - if (_ptr_info1542) { - NDR_PULL_ALLOC(ndr, r->info1542); - } else { - r->info1542 = NULL; - } - break; } - - case 1543: { - uint32_t _ptr_info1543; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1543)); - if (_ptr_info1543) { - NDR_PULL_ALLOC(ndr, r->info1543); - } else { - r->info1543 = NULL; - } - break; } - - case 1544: { - uint32_t _ptr_info1544; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1544)); - if (_ptr_info1544) { - NDR_PULL_ALLOC(ndr, r->info1544); - } else { - r->info1544 = NULL; - } - break; } - - case 1545: { - uint32_t _ptr_info1545; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1545)); - if (_ptr_info1545) { - NDR_PULL_ALLOC(ndr, r->info1545); - } else { - r->info1545 = NULL; - } - break; } - - case 1546: { - uint32_t _ptr_info1546; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1546)); - if (_ptr_info1546) { - NDR_PULL_ALLOC(ndr, r->info1546); - } else { - r->info1546 = NULL; - } - break; } - - case 1547: { - uint32_t _ptr_info1547; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1547)); - if (_ptr_info1547) { - NDR_PULL_ALLOC(ndr, r->info1547); - } else { - r->info1547 = NULL; - } - break; } - - case 1548: { - uint32_t _ptr_info1548; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1548)); - if (_ptr_info1548) { - NDR_PULL_ALLOC(ndr, r->info1548); - } else { - r->info1548 = NULL; - } - break; } - - case 1549: { - uint32_t _ptr_info1549; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1549)); - if (_ptr_info1549) { - NDR_PULL_ALLOC(ndr, r->info1549); - } else { - r->info1549 = NULL; - } - break; } - - case 1550: { - uint32_t _ptr_info1550; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1550)); - if (_ptr_info1550) { - NDR_PULL_ALLOC(ndr, r->info1550); - } else { - r->info1550 = NULL; - } - break; } - - case 1552: { - uint32_t _ptr_info1552; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1552)); - if (_ptr_info1552) { - NDR_PULL_ALLOC(ndr, r->info1552); - } else { - r->info1552 = NULL; - } - break; } - - case 1553: { - uint32_t _ptr_info1553; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1553)); - if (_ptr_info1553) { - NDR_PULL_ALLOC(ndr, r->info1553); - } else { - r->info1553 = NULL; - } - break; } - - case 1554: { - uint32_t _ptr_info1554; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1554)); - if (_ptr_info1554) { - NDR_PULL_ALLOC(ndr, r->info1554); - } else { - r->info1554 = NULL; - } - break; } - - case 1555: { - uint32_t _ptr_info1555; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1555)); - if (_ptr_info1555) { - NDR_PULL_ALLOC(ndr, r->info1555); - } else { - r->info1555 = NULL; - } - break; } - - case 1556: { - uint32_t _ptr_info1556; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1556)); - if (_ptr_info1556) { - NDR_PULL_ALLOC(ndr, r->info1556); - } else { - r->info1556 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 100: - if (r->info100) { - _mem_save_info100_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info100, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info100_0, 0); - } - break; - - case 101: - if (r->info101) { - _mem_save_info101_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info101, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info101_0, 0); - } - break; - - case 102: - if (r->info102) { - _mem_save_info102_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info102, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo102(ndr, NDR_SCALARS|NDR_BUFFERS, r->info102)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info102_0, 0); - } - break; - - case 402: - if (r->info402) { - _mem_save_info402_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info402, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo402(ndr, NDR_SCALARS|NDR_BUFFERS, r->info402)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info402_0, 0); - } - break; - - case 403: - if (r->info403) { - _mem_save_info403_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info403, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo403(ndr, NDR_SCALARS|NDR_BUFFERS, r->info403)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info403_0, 0); - } - break; - - case 502: - if (r->info502) { - _mem_save_info502_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info502, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo502(ndr, NDR_SCALARS, r->info502)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info502_0, 0); - } - break; - - case 503: - if (r->info503) { - _mem_save_info503_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info503, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo503(ndr, NDR_SCALARS|NDR_BUFFERS, r->info503)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info503_0, 0); - } - break; - - case 599: - if (r->info599) { - _mem_save_info599_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info599, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo599(ndr, NDR_SCALARS|NDR_BUFFERS, r->info599)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info599_0, 0); - } - break; - - case 1005: - if (r->info1005) { - _mem_save_info1005_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1005, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1005(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1005)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1005_0, 0); - } - break; - - case 1010: - if (r->info1010) { - _mem_save_info1010_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1010, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1010(ndr, NDR_SCALARS, r->info1010)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1010_0, 0); - } - break; - - case 1016: - if (r->info1016) { - _mem_save_info1016_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1016, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1016(ndr, NDR_SCALARS, r->info1016)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1016_0, 0); - } - break; - - case 1017: - if (r->info1017) { - _mem_save_info1017_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1017, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1017(ndr, NDR_SCALARS, r->info1017)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1017_0, 0); - } - break; - - case 1018: - if (r->info1018) { - _mem_save_info1018_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1018, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1018(ndr, NDR_SCALARS, r->info1018)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1018_0, 0); - } - break; - - case 1107: - if (r->info1107) { - _mem_save_info1107_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1107, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1107(ndr, NDR_SCALARS, r->info1107)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1107_0, 0); - } - break; - - case 1501: - if (r->info1501) { - _mem_save_info1501_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1501, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1501(ndr, NDR_SCALARS, r->info1501)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1501_0, 0); - } - break; - - case 1502: - if (r->info1502) { - _mem_save_info1502_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1502, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1502(ndr, NDR_SCALARS, r->info1502)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1502_0, 0); - } - break; - - case 1503: - if (r->info1503) { - _mem_save_info1503_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1503, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1503(ndr, NDR_SCALARS, r->info1503)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1503_0, 0); - } - break; - - case 1506: - if (r->info1506) { - _mem_save_info1506_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1506, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1506(ndr, NDR_SCALARS, r->info1506)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1506_0, 0); - } - break; - - case 1509: - if (r->info1509) { - _mem_save_info1509_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1509, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1509(ndr, NDR_SCALARS, r->info1509)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1509_0, 0); - } - break; - - case 1510: - if (r->info1510) { - _mem_save_info1510_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1510, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1510(ndr, NDR_SCALARS, r->info1510)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1510_0, 0); - } - break; - - case 1511: - if (r->info1511) { - _mem_save_info1511_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1511, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1511(ndr, NDR_SCALARS, r->info1511)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1511_0, 0); - } - break; - - case 1512: - if (r->info1512) { - _mem_save_info1512_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1512, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1512(ndr, NDR_SCALARS, r->info1512)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1512_0, 0); - } - break; - - case 1513: - if (r->info1513) { - _mem_save_info1513_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1513, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1513(ndr, NDR_SCALARS, r->info1513)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1513_0, 0); - } - break; - - case 1514: - if (r->info1514) { - _mem_save_info1514_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1514, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1514(ndr, NDR_SCALARS, r->info1514)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1514_0, 0); - } - break; - - case 1515: - if (r->info1515) { - _mem_save_info1515_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1515, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1515(ndr, NDR_SCALARS, r->info1515)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1515_0, 0); - } - break; - - case 1516: - if (r->info1516) { - _mem_save_info1516_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1516, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1516(ndr, NDR_SCALARS, r->info1516)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1516_0, 0); - } - break; - - case 1518: - if (r->info1518) { - _mem_save_info1518_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1518, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1518(ndr, NDR_SCALARS, r->info1518)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1518_0, 0); - } - break; - - case 1520: - if (r->info1520) { - _mem_save_info1520_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1520, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1520(ndr, NDR_SCALARS, r->info1520)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1520_0, 0); - } - break; - - case 1521: - if (r->info1521) { - _mem_save_info1521_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1521, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1521(ndr, NDR_SCALARS, r->info1521)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1521_0, 0); - } - break; - - case 1522: - if (r->info1522) { - _mem_save_info1522_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1522, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1522(ndr, NDR_SCALARS, r->info1522)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1522_0, 0); - } - break; - - case 1523: - if (r->info1523) { - _mem_save_info1523_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1523, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1523(ndr, NDR_SCALARS, r->info1523)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1523_0, 0); - } - break; - - case 1524: - if (r->info1524) { - _mem_save_info1524_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1524, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1524(ndr, NDR_SCALARS, r->info1524)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1524_0, 0); - } - break; - - case 1525: - if (r->info1525) { - _mem_save_info1525_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1525, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1525(ndr, NDR_SCALARS, r->info1525)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1525_0, 0); - } - break; - - case 1528: - if (r->info1528) { - _mem_save_info1528_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1528, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1528(ndr, NDR_SCALARS, r->info1528)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1528_0, 0); - } - break; - - case 1529: - if (r->info1529) { - _mem_save_info1529_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1529, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1529(ndr, NDR_SCALARS, r->info1529)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1529_0, 0); - } - break; - - case 1530: - if (r->info1530) { - _mem_save_info1530_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1530, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1530(ndr, NDR_SCALARS, r->info1530)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1530_0, 0); - } - break; - - case 1533: - if (r->info1533) { - _mem_save_info1533_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1533, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1533(ndr, NDR_SCALARS, r->info1533)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1533_0, 0); - } - break; - - case 1534: - if (r->info1534) { - _mem_save_info1534_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1534, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1534(ndr, NDR_SCALARS, r->info1534)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1534_0, 0); - } - break; - - case 1535: - if (r->info1535) { - _mem_save_info1535_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1535, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1535(ndr, NDR_SCALARS, r->info1535)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1535_0, 0); - } - break; - - case 1536: - if (r->info1536) { - _mem_save_info1536_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1536, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1536(ndr, NDR_SCALARS, r->info1536)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1536_0, 0); - } - break; - - case 1537: - if (r->info1537) { - _mem_save_info1537_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1537, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1537(ndr, NDR_SCALARS, r->info1537)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1537_0, 0); - } - break; - - case 1538: - if (r->info1538) { - _mem_save_info1538_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1538, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1538(ndr, NDR_SCALARS, r->info1538)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1538_0, 0); - } - break; - - case 1539: - if (r->info1539) { - _mem_save_info1539_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1539, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1539(ndr, NDR_SCALARS, r->info1539)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1539_0, 0); - } - break; - - case 1540: - if (r->info1540) { - _mem_save_info1540_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1540, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1540(ndr, NDR_SCALARS, r->info1540)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1540_0, 0); - } - break; - - case 1541: - if (r->info1541) { - _mem_save_info1541_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1541, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1541(ndr, NDR_SCALARS, r->info1541)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1541_0, 0); - } - break; - - case 1542: - if (r->info1542) { - _mem_save_info1542_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1542, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1542(ndr, NDR_SCALARS, r->info1542)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1542_0, 0); - } - break; - - case 1543: - if (r->info1543) { - _mem_save_info1543_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1543, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1543(ndr, NDR_SCALARS, r->info1543)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1543_0, 0); - } - break; - - case 1544: - if (r->info1544) { - _mem_save_info1544_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1544, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1544(ndr, NDR_SCALARS, r->info1544)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1544_0, 0); - } - break; - - case 1545: - if (r->info1545) { - _mem_save_info1545_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1545, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1545(ndr, NDR_SCALARS, r->info1545)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1545_0, 0); - } - break; - - case 1546: - if (r->info1546) { - _mem_save_info1546_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1546, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1546(ndr, NDR_SCALARS, r->info1546)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1546_0, 0); - } - break; - - case 1547: - if (r->info1547) { - _mem_save_info1547_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1547, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1547(ndr, NDR_SCALARS, r->info1547)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1547_0, 0); - } - break; - - case 1548: - if (r->info1548) { - _mem_save_info1548_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1548, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1548(ndr, NDR_SCALARS, r->info1548)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1548_0, 0); - } - break; - - case 1549: - if (r->info1549) { - _mem_save_info1549_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1549, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1549(ndr, NDR_SCALARS, r->info1549)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1549_0, 0); - } - break; - - case 1550: - if (r->info1550) { - _mem_save_info1550_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1550, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1550(ndr, NDR_SCALARS, r->info1550)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1550_0, 0); - } - break; - - case 1552: - if (r->info1552) { - _mem_save_info1552_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1552, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1552(ndr, NDR_SCALARS, r->info1552)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1552_0, 0); - } - break; - - case 1553: - if (r->info1553) { - _mem_save_info1553_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1553, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1553(ndr, NDR_SCALARS, r->info1553)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1553_0, 0); - } - break; - - case 1554: - if (r->info1554) { - _mem_save_info1554_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1554, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1554(ndr, NDR_SCALARS, r->info1554)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1554_0, 0); - } - break; - - case 1555: - if (r->info1555) { - _mem_save_info1555_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1555, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1555(ndr, NDR_SCALARS, r->info1555)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1555_0, 0); - } - break; - - case 1556: - if (r->info1556) { - _mem_save_info1556_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1556, 0); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo1556(ndr, NDR_SCALARS, r->info1556)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1556_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetSrvInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetSrvInfo"); - switch (level) { - case 100: - ndr_print_ptr(ndr, "info100", r->info100); - ndr->depth++; - if (r->info100) { - ndr_print_srvsvc_NetSrvInfo100(ndr, "info100", r->info100); - } - ndr->depth--; - break; - - case 101: - ndr_print_ptr(ndr, "info101", r->info101); - ndr->depth++; - if (r->info101) { - ndr_print_srvsvc_NetSrvInfo101(ndr, "info101", r->info101); - } - ndr->depth--; - break; - - case 102: - ndr_print_ptr(ndr, "info102", r->info102); - ndr->depth++; - if (r->info102) { - ndr_print_srvsvc_NetSrvInfo102(ndr, "info102", r->info102); - } - ndr->depth--; - break; - - case 402: - ndr_print_ptr(ndr, "info402", r->info402); - ndr->depth++; - if (r->info402) { - ndr_print_srvsvc_NetSrvInfo402(ndr, "info402", r->info402); - } - ndr->depth--; - break; - - case 403: - ndr_print_ptr(ndr, "info403", r->info403); - ndr->depth++; - if (r->info403) { - ndr_print_srvsvc_NetSrvInfo403(ndr, "info403", r->info403); - } - ndr->depth--; - break; - - case 502: - ndr_print_ptr(ndr, "info502", r->info502); - ndr->depth++; - if (r->info502) { - ndr_print_srvsvc_NetSrvInfo502(ndr, "info502", r->info502); - } - ndr->depth--; - break; - - case 503: - ndr_print_ptr(ndr, "info503", r->info503); - ndr->depth++; - if (r->info503) { - ndr_print_srvsvc_NetSrvInfo503(ndr, "info503", r->info503); - } - ndr->depth--; - break; - - case 599: - ndr_print_ptr(ndr, "info599", r->info599); - ndr->depth++; - if (r->info599) { - ndr_print_srvsvc_NetSrvInfo599(ndr, "info599", r->info599); - } - ndr->depth--; - break; - - case 1005: - ndr_print_ptr(ndr, "info1005", r->info1005); - ndr->depth++; - if (r->info1005) { - ndr_print_srvsvc_NetSrvInfo1005(ndr, "info1005", r->info1005); - } - ndr->depth--; - break; - - case 1010: - ndr_print_ptr(ndr, "info1010", r->info1010); - ndr->depth++; - if (r->info1010) { - ndr_print_srvsvc_NetSrvInfo1010(ndr, "info1010", r->info1010); - } - ndr->depth--; - break; - - case 1016: - ndr_print_ptr(ndr, "info1016", r->info1016); - ndr->depth++; - if (r->info1016) { - ndr_print_srvsvc_NetSrvInfo1016(ndr, "info1016", r->info1016); - } - ndr->depth--; - break; - - case 1017: - ndr_print_ptr(ndr, "info1017", r->info1017); - ndr->depth++; - if (r->info1017) { - ndr_print_srvsvc_NetSrvInfo1017(ndr, "info1017", r->info1017); - } - ndr->depth--; - break; - - case 1018: - ndr_print_ptr(ndr, "info1018", r->info1018); - ndr->depth++; - if (r->info1018) { - ndr_print_srvsvc_NetSrvInfo1018(ndr, "info1018", r->info1018); - } - ndr->depth--; - break; - - case 1107: - ndr_print_ptr(ndr, "info1107", r->info1107); - ndr->depth++; - if (r->info1107) { - ndr_print_srvsvc_NetSrvInfo1107(ndr, "info1107", r->info1107); - } - ndr->depth--; - break; - - case 1501: - ndr_print_ptr(ndr, "info1501", r->info1501); - ndr->depth++; - if (r->info1501) { - ndr_print_srvsvc_NetSrvInfo1501(ndr, "info1501", r->info1501); - } - ndr->depth--; - break; - - case 1502: - ndr_print_ptr(ndr, "info1502", r->info1502); - ndr->depth++; - if (r->info1502) { - ndr_print_srvsvc_NetSrvInfo1502(ndr, "info1502", r->info1502); - } - ndr->depth--; - break; - - case 1503: - ndr_print_ptr(ndr, "info1503", r->info1503); - ndr->depth++; - if (r->info1503) { - ndr_print_srvsvc_NetSrvInfo1503(ndr, "info1503", r->info1503); - } - ndr->depth--; - break; - - case 1506: - ndr_print_ptr(ndr, "info1506", r->info1506); - ndr->depth++; - if (r->info1506) { - ndr_print_srvsvc_NetSrvInfo1506(ndr, "info1506", r->info1506); - } - ndr->depth--; - break; - - case 1509: - ndr_print_ptr(ndr, "info1509", r->info1509); - ndr->depth++; - if (r->info1509) { - ndr_print_srvsvc_NetSrvInfo1509(ndr, "info1509", r->info1509); - } - ndr->depth--; - break; - - case 1510: - ndr_print_ptr(ndr, "info1510", r->info1510); - ndr->depth++; - if (r->info1510) { - ndr_print_srvsvc_NetSrvInfo1510(ndr, "info1510", r->info1510); - } - ndr->depth--; - break; - - case 1511: - ndr_print_ptr(ndr, "info1511", r->info1511); - ndr->depth++; - if (r->info1511) { - ndr_print_srvsvc_NetSrvInfo1511(ndr, "info1511", r->info1511); - } - ndr->depth--; - break; - - case 1512: - ndr_print_ptr(ndr, "info1512", r->info1512); - ndr->depth++; - if (r->info1512) { - ndr_print_srvsvc_NetSrvInfo1512(ndr, "info1512", r->info1512); - } - ndr->depth--; - break; - - case 1513: - ndr_print_ptr(ndr, "info1513", r->info1513); - ndr->depth++; - if (r->info1513) { - ndr_print_srvsvc_NetSrvInfo1513(ndr, "info1513", r->info1513); - } - ndr->depth--; - break; - - case 1514: - ndr_print_ptr(ndr, "info1514", r->info1514); - ndr->depth++; - if (r->info1514) { - ndr_print_srvsvc_NetSrvInfo1514(ndr, "info1514", r->info1514); - } - ndr->depth--; - break; - - case 1515: - ndr_print_ptr(ndr, "info1515", r->info1515); - ndr->depth++; - if (r->info1515) { - ndr_print_srvsvc_NetSrvInfo1515(ndr, "info1515", r->info1515); - } - ndr->depth--; - break; - - case 1516: - ndr_print_ptr(ndr, "info1516", r->info1516); - ndr->depth++; - if (r->info1516) { - ndr_print_srvsvc_NetSrvInfo1516(ndr, "info1516", r->info1516); - } - ndr->depth--; - break; - - case 1518: - ndr_print_ptr(ndr, "info1518", r->info1518); - ndr->depth++; - if (r->info1518) { - ndr_print_srvsvc_NetSrvInfo1518(ndr, "info1518", r->info1518); - } - ndr->depth--; - break; - - case 1520: - ndr_print_ptr(ndr, "info1520", r->info1520); - ndr->depth++; - if (r->info1520) { - ndr_print_srvsvc_NetSrvInfo1520(ndr, "info1520", r->info1520); - } - ndr->depth--; - break; - - case 1521: - ndr_print_ptr(ndr, "info1521", r->info1521); - ndr->depth++; - if (r->info1521) { - ndr_print_srvsvc_NetSrvInfo1521(ndr, "info1521", r->info1521); - } - ndr->depth--; - break; - - case 1522: - ndr_print_ptr(ndr, "info1522", r->info1522); - ndr->depth++; - if (r->info1522) { - ndr_print_srvsvc_NetSrvInfo1522(ndr, "info1522", r->info1522); - } - ndr->depth--; - break; - - case 1523: - ndr_print_ptr(ndr, "info1523", r->info1523); - ndr->depth++; - if (r->info1523) { - ndr_print_srvsvc_NetSrvInfo1523(ndr, "info1523", r->info1523); - } - ndr->depth--; - break; - - case 1524: - ndr_print_ptr(ndr, "info1524", r->info1524); - ndr->depth++; - if (r->info1524) { - ndr_print_srvsvc_NetSrvInfo1524(ndr, "info1524", r->info1524); - } - ndr->depth--; - break; - - case 1525: - ndr_print_ptr(ndr, "info1525", r->info1525); - ndr->depth++; - if (r->info1525) { - ndr_print_srvsvc_NetSrvInfo1525(ndr, "info1525", r->info1525); - } - ndr->depth--; - break; - - case 1528: - ndr_print_ptr(ndr, "info1528", r->info1528); - ndr->depth++; - if (r->info1528) { - ndr_print_srvsvc_NetSrvInfo1528(ndr, "info1528", r->info1528); - } - ndr->depth--; - break; - - case 1529: - ndr_print_ptr(ndr, "info1529", r->info1529); - ndr->depth++; - if (r->info1529) { - ndr_print_srvsvc_NetSrvInfo1529(ndr, "info1529", r->info1529); - } - ndr->depth--; - break; - - case 1530: - ndr_print_ptr(ndr, "info1530", r->info1530); - ndr->depth++; - if (r->info1530) { - ndr_print_srvsvc_NetSrvInfo1530(ndr, "info1530", r->info1530); - } - ndr->depth--; - break; - - case 1533: - ndr_print_ptr(ndr, "info1533", r->info1533); - ndr->depth++; - if (r->info1533) { - ndr_print_srvsvc_NetSrvInfo1533(ndr, "info1533", r->info1533); - } - ndr->depth--; - break; - - case 1534: - ndr_print_ptr(ndr, "info1534", r->info1534); - ndr->depth++; - if (r->info1534) { - ndr_print_srvsvc_NetSrvInfo1534(ndr, "info1534", r->info1534); - } - ndr->depth--; - break; - - case 1535: - ndr_print_ptr(ndr, "info1535", r->info1535); - ndr->depth++; - if (r->info1535) { - ndr_print_srvsvc_NetSrvInfo1535(ndr, "info1535", r->info1535); - } - ndr->depth--; - break; - - case 1536: - ndr_print_ptr(ndr, "info1536", r->info1536); - ndr->depth++; - if (r->info1536) { - ndr_print_srvsvc_NetSrvInfo1536(ndr, "info1536", r->info1536); - } - ndr->depth--; - break; - - case 1537: - ndr_print_ptr(ndr, "info1537", r->info1537); - ndr->depth++; - if (r->info1537) { - ndr_print_srvsvc_NetSrvInfo1537(ndr, "info1537", r->info1537); - } - ndr->depth--; - break; - - case 1538: - ndr_print_ptr(ndr, "info1538", r->info1538); - ndr->depth++; - if (r->info1538) { - ndr_print_srvsvc_NetSrvInfo1538(ndr, "info1538", r->info1538); - } - ndr->depth--; - break; - - case 1539: - ndr_print_ptr(ndr, "info1539", r->info1539); - ndr->depth++; - if (r->info1539) { - ndr_print_srvsvc_NetSrvInfo1539(ndr, "info1539", r->info1539); - } - ndr->depth--; - break; - - case 1540: - ndr_print_ptr(ndr, "info1540", r->info1540); - ndr->depth++; - if (r->info1540) { - ndr_print_srvsvc_NetSrvInfo1540(ndr, "info1540", r->info1540); - } - ndr->depth--; - break; - - case 1541: - ndr_print_ptr(ndr, "info1541", r->info1541); - ndr->depth++; - if (r->info1541) { - ndr_print_srvsvc_NetSrvInfo1541(ndr, "info1541", r->info1541); - } - ndr->depth--; - break; - - case 1542: - ndr_print_ptr(ndr, "info1542", r->info1542); - ndr->depth++; - if (r->info1542) { - ndr_print_srvsvc_NetSrvInfo1542(ndr, "info1542", r->info1542); - } - ndr->depth--; - break; - - case 1543: - ndr_print_ptr(ndr, "info1543", r->info1543); - ndr->depth++; - if (r->info1543) { - ndr_print_srvsvc_NetSrvInfo1543(ndr, "info1543", r->info1543); - } - ndr->depth--; - break; - - case 1544: - ndr_print_ptr(ndr, "info1544", r->info1544); - ndr->depth++; - if (r->info1544) { - ndr_print_srvsvc_NetSrvInfo1544(ndr, "info1544", r->info1544); - } - ndr->depth--; - break; - - case 1545: - ndr_print_ptr(ndr, "info1545", r->info1545); - ndr->depth++; - if (r->info1545) { - ndr_print_srvsvc_NetSrvInfo1545(ndr, "info1545", r->info1545); - } - ndr->depth--; - break; - - case 1546: - ndr_print_ptr(ndr, "info1546", r->info1546); - ndr->depth++; - if (r->info1546) { - ndr_print_srvsvc_NetSrvInfo1546(ndr, "info1546", r->info1546); - } - ndr->depth--; - break; - - case 1547: - ndr_print_ptr(ndr, "info1547", r->info1547); - ndr->depth++; - if (r->info1547) { - ndr_print_srvsvc_NetSrvInfo1547(ndr, "info1547", r->info1547); - } - ndr->depth--; - break; - - case 1548: - ndr_print_ptr(ndr, "info1548", r->info1548); - ndr->depth++; - if (r->info1548) { - ndr_print_srvsvc_NetSrvInfo1548(ndr, "info1548", r->info1548); - } - ndr->depth--; - break; - - case 1549: - ndr_print_ptr(ndr, "info1549", r->info1549); - ndr->depth++; - if (r->info1549) { - ndr_print_srvsvc_NetSrvInfo1549(ndr, "info1549", r->info1549); - } - ndr->depth--; - break; - - case 1550: - ndr_print_ptr(ndr, "info1550", r->info1550); - ndr->depth++; - if (r->info1550) { - ndr_print_srvsvc_NetSrvInfo1550(ndr, "info1550", r->info1550); - } - ndr->depth--; - break; - - case 1552: - ndr_print_ptr(ndr, "info1552", r->info1552); - ndr->depth++; - if (r->info1552) { - ndr_print_srvsvc_NetSrvInfo1552(ndr, "info1552", r->info1552); - } - ndr->depth--; - break; - - case 1553: - ndr_print_ptr(ndr, "info1553", r->info1553); - ndr->depth++; - if (r->info1553) { - ndr_print_srvsvc_NetSrvInfo1553(ndr, "info1553", r->info1553); - } - ndr->depth--; - break; - - case 1554: - ndr_print_ptr(ndr, "info1554", r->info1554); - ndr->depth++; - if (r->info1554) { - ndr_print_srvsvc_NetSrvInfo1554(ndr, "info1554", r->info1554); - } - ndr->depth--; - break; - - case 1555: - ndr_print_ptr(ndr, "info1555", r->info1555); - ndr->depth++; - if (r->info1555) { - ndr_print_srvsvc_NetSrvInfo1555(ndr, "info1555", r->info1555); - } - ndr->depth--; - break; - - case 1556: - ndr_print_ptr(ndr, "info1556", r->info1556); - ndr->depth++; - if (r->info1556) { - ndr_print_srvsvc_NetSrvInfo1556(ndr, "info1556", r->info1556); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetDiskInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetDiskInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->disk) + 1)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->disk, strlen(r->disk) + 1, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetDiskInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetDiskInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__disk_offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__disk_length)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->disk, r->__disk_length, sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetDiskInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetDiskInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetDiskInfo0"); - ndr->depth++; - ndr_print_uint32(ndr, "__disk_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->__disk_offset); - ndr_print_uint32(ndr, "__disk_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->disk) + 1:r->__disk_length); - ndr_print_string(ndr, "disk", r->disk); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetDiskInfo(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetDiskInfo *r) -{ - uint32_t cntr_disks_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->disks)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->disks) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_disks_1 = 0; cntr_disks_1 < r->count; cntr_disks_1++) { - NDR_CHECK(ndr_push_srvsvc_NetDiskInfo0(ndr, NDR_SCALARS, &r->disks[cntr_disks_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetDiskInfo(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetDiskInfo *r) -{ - uint32_t _ptr_disks; - uint32_t cntr_disks_1; - TALLOC_CTX *_mem_save_disks_0; - TALLOC_CTX *_mem_save_disks_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_disks)); - if (_ptr_disks) { - NDR_PULL_ALLOC(ndr, r->disks); - } else { - r->disks = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->disks) { - _mem_save_disks_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->disks, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->disks)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->disks)); - if (ndr_get_array_length(ndr, &r->disks) > ndr_get_array_size(ndr, &r->disks)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->disks), ndr_get_array_length(ndr, &r->disks)); - } - NDR_PULL_ALLOC_N(ndr, r->disks, ndr_get_array_size(ndr, &r->disks)); - _mem_save_disks_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->disks, 0); - for (cntr_disks_1 = 0; cntr_disks_1 < ndr_get_array_length(ndr, &r->disks); cntr_disks_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetDiskInfo0(ndr, NDR_SCALARS, &r->disks[cntr_disks_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disks_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disks_0, 0); - } - if (r->disks) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->disks, r->count)); - } - if (r->disks) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->disks, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetDiskInfo(struct ndr_print *ndr, const char *name, const struct srvsvc_NetDiskInfo *r) -{ - uint32_t cntr_disks_1; - ndr_print_struct(ndr, name, "srvsvc_NetDiskInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "disks", r->disks); - ndr->depth++; - if (r->disks) { - ndr->print(ndr, "%s: ARRAY(%d)", "disks", (int)r->count); - ndr->depth++; - for (cntr_disks_1=0;cntr_disks_1count;cntr_disks_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_disks_1) != -1) { - ndr_print_srvsvc_NetDiskInfo0(ndr, "disks", &r->disks[cntr_disks_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_Statistics(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_Statistics *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->start)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->fopens)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devopens)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->jobsqueued)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sopens)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->stimeouts)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serrorout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwerrors)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->permerrors)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->syserrors)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bytessent_low)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bytessent_high)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bytesrcvd_low)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bytesrcvd_high)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->avresponse)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reqbufneed)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bigbufneed)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_Statistics(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_Statistics *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->start)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->fopens)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devopens)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->jobsqueued)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sopens)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->stimeouts)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serrorout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwerrors)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->permerrors)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->syserrors)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bytessent_low)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bytessent_high)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bytesrcvd_low)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bytesrcvd_high)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->avresponse)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reqbufneed)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bigbufneed)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_Statistics(struct ndr_print *ndr, const char *name, const struct srvsvc_Statistics *r) -{ - ndr_print_struct(ndr, name, "srvsvc_Statistics"); - ndr->depth++; - ndr_print_uint32(ndr, "start", r->start); - ndr_print_uint32(ndr, "fopens", r->fopens); - ndr_print_uint32(ndr, "devopens", r->devopens); - ndr_print_uint32(ndr, "jobsqueued", r->jobsqueued); - ndr_print_uint32(ndr, "sopens", r->sopens); - ndr_print_uint32(ndr, "stimeouts", r->stimeouts); - ndr_print_uint32(ndr, "serrorout", r->serrorout); - ndr_print_uint32(ndr, "pwerrors", r->pwerrors); - ndr_print_uint32(ndr, "permerrors", r->permerrors); - ndr_print_uint32(ndr, "syserrors", r->syserrors); - ndr_print_uint32(ndr, "bytessent_low", r->bytessent_low); - ndr_print_uint32(ndr, "bytessent_high", r->bytessent_high); - ndr_print_uint32(ndr, "bytesrcvd_low", r->bytesrcvd_low); - ndr_print_uint32(ndr, "bytesrcvd_high", r->bytesrcvd_high); - ndr_print_uint32(ndr, "avresponse", r->avresponse); - ndr_print_uint32(ndr, "reqbufneed", r->reqbufneed); - ndr_print_uint32(ndr, "bigbufneed", r->bigbufneed); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vcs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->net_addr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->addr, r->addr_len)); - } - if (r->net_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->net_addr, ndr_charset_length(r->net_addr, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo0 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_addr; - TALLOC_CTX *_mem_save_addr_0; - uint32_t _ptr_net_addr; - TALLOC_CTX *_mem_save_net_addr_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vcs)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr)); - if (_ptr_addr) { - NDR_PULL_ALLOC(ndr, r->addr); - } else { - r->addr = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->addr_len)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_net_addr)); - if (_ptr_net_addr) { - NDR_PULL_ALLOC(ndr, r->net_addr); - } else { - r->net_addr = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->addr) { - _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->addr)); - NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0); - } - if (r->net_addr) { - _mem_save_net_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr)); - if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0); - } - if (r->addr) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->addr, r->addr_len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo0 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportInfo0"); - ndr->depth++; - ndr_print_uint32(ndr, "vcs", r->vcs); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "addr", r->addr); - ndr->depth++; - if (r->addr) { - ndr_print_array_uint8(ndr, "addr", r->addr, r->addr_len); - } - ndr->depth--; - ndr_print_uint32(ndr, "addr_len", r->addr_len); - ndr_print_ptr(ndr, "net_addr", r->net_addr); - ndr->depth++; - if (r->net_addr) { - ndr_print_string(ndr, "net_addr", r->net_addr); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr0(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetTransportInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vcs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->net_addr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->addr, r->addr_len)); - } - if (r->net_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->net_addr, ndr_charset_length(r->net_addr, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo1 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_addr; - TALLOC_CTX *_mem_save_addr_0; - uint32_t _ptr_net_addr; - TALLOC_CTX *_mem_save_net_addr_0; - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vcs)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr)); - if (_ptr_addr) { - NDR_PULL_ALLOC(ndr, r->addr); - } else { - r->addr = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->addr_len)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_net_addr)); - if (_ptr_net_addr) { - NDR_PULL_ALLOC(ndr, r->net_addr); - } else { - r->net_addr = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->addr) { - _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->addr)); - NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0); - } - if (r->net_addr) { - _mem_save_net_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr)); - if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0); - } - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - if (r->addr) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->addr, r->addr_len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo1 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportInfo1"); - ndr->depth++; - ndr_print_uint32(ndr, "vcs", r->vcs); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "addr", r->addr); - ndr->depth++; - if (r->addr) { - ndr_print_array_uint8(ndr, "addr", r->addr, r->addr_len); - } - ndr->depth--; - ndr_print_uint32(ndr, "addr_len", r->addr_len); - ndr_print_ptr(ndr, "net_addr", r->net_addr); - ndr->depth++; - if (r->net_addr) { - ndr_print_string(ndr, "net_addr", r->net_addr); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr1(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr1(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetTransportInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vcs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->net_addr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->addr, r->addr_len)); - } - if (r->net_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->net_addr, ndr_charset_length(r->net_addr, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo2 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_addr; - TALLOC_CTX *_mem_save_addr_0; - uint32_t _ptr_net_addr; - TALLOC_CTX *_mem_save_net_addr_0; - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vcs)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr)); - if (_ptr_addr) { - NDR_PULL_ALLOC(ndr, r->addr); - } else { - r->addr = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->addr_len)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_net_addr)); - if (_ptr_net_addr) { - NDR_PULL_ALLOC(ndr, r->net_addr); - } else { - r->net_addr = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->addr) { - _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->addr)); - NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0); - } - if (r->net_addr) { - _mem_save_net_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr)); - if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0); - } - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - if (r->addr) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->addr, r->addr_len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo2 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportInfo2"); - ndr->depth++; - ndr_print_uint32(ndr, "vcs", r->vcs); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "addr", r->addr); - ndr->depth++; - if (r->addr) { - ndr_print_array_uint8(ndr, "addr", r->addr, r->addr_len); - } - ndr->depth--; - ndr_print_uint32(ndr, "addr_len", r->addr_len); - ndr_print_ptr(ndr, "net_addr", r->net_addr); - ndr->depth++; - if (r->net_addr) { - ndr_print_string(ndr, "net_addr", r->net_addr); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown", r->unknown); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr2(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportCtr2 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr2(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr2 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr2 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetTransportInfo2(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo3(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vcs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->addr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->net_addr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->unknown3, 256)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->addr_len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->addr, r->addr_len)); - } - if (r->net_addr) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->net_addr, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->net_addr, ndr_charset_length(r->net_addr, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfo3 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_addr; - TALLOC_CTX *_mem_save_addr_0; - uint32_t _ptr_net_addr; - TALLOC_CTX *_mem_save_net_addr_0; - uint32_t _ptr_domain; - TALLOC_CTX *_mem_save_domain_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vcs)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_addr)); - if (_ptr_addr) { - NDR_PULL_ALLOC(ndr, r->addr); - } else { - r->addr = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->addr_len)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_net_addr)); - if (_ptr_net_addr) { - NDR_PULL_ALLOC(ndr, r->net_addr); - } else { - r->net_addr = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); - if (_ptr_domain) { - NDR_PULL_ALLOC(ndr, r->domain); - } else { - r->domain = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->unknown3, 256)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->addr) { - _mem_save_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->addr)); - NDR_PULL_ALLOC_N(ndr, r->addr, ndr_get_array_size(ndr, &r->addr)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->addr, ndr_get_array_size(ndr, &r->addr))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addr_0, 0); - } - if (r->net_addr) { - _mem_save_net_addr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->net_addr, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->net_addr)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->net_addr)); - if (ndr_get_array_length(ndr, &r->net_addr) > ndr_get_array_size(ndr, &r->net_addr)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->net_addr), ndr_get_array_length(ndr, &r->net_addr)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->net_addr, ndr_get_array_length(ndr, &r->net_addr), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_net_addr_0, 0); - } - if (r->domain) { - _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain)); - if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0); - } - if (r->addr) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->addr, r->addr_len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportInfo3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo3 *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportInfo3"); - ndr->depth++; - ndr_print_uint32(ndr, "vcs", r->vcs); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "addr", r->addr); - ndr->depth++; - if (r->addr) { - ndr_print_array_uint8(ndr, "addr", r->addr, r->addr_len); - } - ndr->depth--; - ndr_print_uint32(ndr, "addr_len", r->addr_len); - ndr_print_ptr(ndr, "net_addr", r->net_addr); - ndr->depth++; - if (r->net_addr) { - ndr_print_string(ndr, "net_addr", r->net_addr); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain", r->domain); - ndr->depth++; - if (r->domain) { - ndr_print_string(ndr, "domain", r->domain); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown1", r->unknown1); - ndr_print_uint32(ndr, "unknown2", r->unknown2); - ndr_print_array_uint8(ndr, "unknown3", r->unknown3, 256); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr3(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportCtr3 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr3(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportCtr3 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo3(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo3(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportCtr3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr3 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "srvsvc_NetTransportCtr3"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_srvsvc_NetTransportInfo3(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportCtr(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetTransportCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr3)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_srvsvc_NetTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_srvsvc_NetTransportCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - case 2: - if (r->ctr2) { - NDR_CHECK(ndr_push_srvsvc_NetTransportCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - } - break; - - case 3: - if (r->ctr3) { - NDR_CHECK(ndr_push_srvsvc_NetTransportCtr3(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr3)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportCtr(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetTransportCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - TALLOC_CTX *_mem_save_ctr2_0; - TALLOC_CTX *_mem_save_ctr3_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_ctr2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2)); - if (_ptr_ctr2) { - NDR_PULL_ALLOC(ndr, r->ctr2); - } else { - r->ctr2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_ctr3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr3)); - if (_ptr_ctr3) { - NDR_PULL_ALLOC(ndr, r->ctr3); - } else { - r->ctr3 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - case 2: - if (r->ctr2) { - _mem_save_ctr2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr2, 0); - NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr2_0, 0); - } - break; - - case 3: - if (r->ctr3) { - _mem_save_ctr3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr3, 0); - NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr3(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr3_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetTransportCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetTransportCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_srvsvc_NetTransportCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_srvsvc_NetTransportCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "ctr2", r->ctr2); - ndr->depth++; - if (r->ctr2) { - ndr_print_srvsvc_NetTransportCtr2(ndr, "ctr2", r->ctr2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "ctr3", r->ctr3); - ndr->depth++; - if (r->ctr3) { - ndr_print_srvsvc_NetTransportCtr3(ndr, "ctr3", r->ctr3); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfoCtr *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportInfoCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_srvsvc_NetTransportCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetRemoteTODInfo(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetRemoteTODInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->elapsed)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->msecs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->hours)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->mins)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secs)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->hunds)); - NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->timezone)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tinterval)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->day)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->month)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->year)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->weekday)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetRemoteTODInfo(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetRemoteTODInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->elapsed)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->msecs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->hours)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->mins)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secs)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->hunds)); - NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->timezone)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tinterval)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->day)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->month)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->year)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->weekday)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetRemoteTODInfo(struct ndr_print *ndr, const char *name, const struct srvsvc_NetRemoteTODInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetRemoteTODInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "elapsed", r->elapsed); - ndr_print_uint32(ndr, "msecs", r->msecs); - ndr_print_uint32(ndr, "hours", r->hours); - ndr_print_uint32(ndr, "mins", r->mins); - ndr_print_uint32(ndr, "secs", r->secs); - ndr_print_uint32(ndr, "hunds", r->hunds); - ndr_print_int32(ndr, "timezone", r->timezone); - ndr_print_uint32(ndr, "tinterval", r->tinterval); - ndr_print_uint32(ndr, "day", r->day); - ndr_print_uint32(ndr, "month", r->month); - ndr_print_uint32(ndr, "year", r->year); - ndr_print_uint32(ndr, "weekday", r->weekday); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportInfo(struct ndr_push *ndr, int ndr_flags, const union srvsvc_NetTransportInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_BUFFERS, &r->info0)); - break; - - case 1: - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfo(struct ndr_pull *ndr, int ndr_flags, union srvsvc_NetTransportInfo *r) -{ - int level; - uint32_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS, &r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo2(ndr, NDR_SCALARS, &r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_BUFFERS, &r->info0)); - break; - - case 1: - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo1(ndr, NDR_BUFFERS, &r->info1)); - break; - - case 2: - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo2(ndr, NDR_BUFFERS, &r->info2)); - break; - - case 3: - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo3(ndr, NDR_BUFFERS, &r->info3)); - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetTransportInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "srvsvc_NetTransportInfo"); - switch (level) { - case 0: - ndr_print_srvsvc_NetTransportInfo0(ndr, "info0", &r->info0); - break; - - case 1: - ndr_print_srvsvc_NetTransportInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_srvsvc_NetTransportInfo2(ndr, "info2", &r->info2); - break; - - case 3: - ndr_print_srvsvc_NetTransportInfo3(ndr, "info3", &r->info3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetCharDevInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetCharDevInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevGetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.device_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.device_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.device_name, ndr_charset_length(r->in.device_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetCharDevInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevGetInfo *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.device_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.device_name)); - if (ndr_get_array_length(ndr, &r->in.device_name) > ndr_get_array_size(ndr, &r->in.device_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.device_name), ndr_get_array_length(ndr, &r->in.device_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevGetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "device_name", r->in.device_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_srvsvc_NetCharDevInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevControl(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevControl *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.device_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.device_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.device_name, ndr_charset_length(r->in.device_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.opcode)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevControl(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevControl *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.device_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.device_name)); - if (ndr_get_array_length(ndr, &r->in.device_name) > ndr_get_array_size(ndr, &r->in.device_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.device_name), ndr_get_array_length(ndr, &r->in.device_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.opcode)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevControl(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevControl *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevControl"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevControl"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "device_name", r->in.device_name); - ndr_print_uint32(ndr, "opcode", r->in.opcode); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevControl"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevQEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.user)); - if (r->in.user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_user; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_user_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->in.user); - } else { - r->in.user = NULL; - } - if (r->in.user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user)); - if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevQEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->in.user); - ndr->depth++; - if (r->in.user) { - ndr_print_string(ndr, "user", r->in.user); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetCharDevQInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevQEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetCharDevQInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQGetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevQGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.queue_name, ndr_charset_length(r->in.queue_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQGetInfo *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name)); - if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user)); - if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQGetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevQGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "queue_name", r->in.queue_name); - ndr_print_string(ndr, "user", r->in.user); - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevQGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_srvsvc_NetCharDevQInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQSetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevQSetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.queue_name, ndr_charset_length(r->in.queue_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_error)); - if (r->in.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_error)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_error)); - if (r->out.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_error)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQSetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQSetInfo *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_parm_error; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_parm_error_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name)); - if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->in.parm_error); - } else { - r->in.parm_error = NULL; - } - if (r->in.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->out.parm_error); - } else { - r->out.parm_error = NULL; - } - if (r->out.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQSetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQSetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevQSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "queue_name", r->in.queue_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.level); - ndr_print_srvsvc_NetCharDevQInfo(ndr, "info", &r->in.info); - ndr_print_ptr(ndr, "parm_error", r->in.parm_error); - ndr->depth++; - if (r->in.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->in.parm_error); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevQSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_error", r->out.parm_error); - ndr->depth++; - if (r->out.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->out.parm_error); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQPurge(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevQPurge *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.queue_name, ndr_charset_length(r->in.queue_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQPurge(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQPurge *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name)); - if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQPurge(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQPurge *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQPurge"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevQPurge"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "queue_name", r->in.queue_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevQPurge"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetCharDevQPurgeSelf(struct ndr_push *ndr, int flags, const struct srvsvc_NetCharDevQPurgeSelf *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.queue_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.queue_name, ndr_charset_length(r->in.queue_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQPurgeSelf(struct ndr_pull *ndr, int flags, struct srvsvc_NetCharDevQPurgeSelf *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.queue_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.queue_name)); - if (ndr_get_array_length(ndr, &r->in.queue_name) > ndr_get_array_size(ndr, &r->in.queue_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.queue_name), ndr_get_array_length(ndr, &r->in.queue_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.queue_name, ndr_get_array_length(ndr, &r->in.queue_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); - if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetCharDevQPurgeSelf(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQPurgeSelf *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetCharDevQPurgeSelf"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetCharDevQPurgeSelf"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "queue_name", r->in.queue_name); - ndr_print_string(ndr, "computer_name", r->in.computer_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetCharDevQPurgeSelf"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetConnEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetConnEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.path)); - if (r->in.path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path, ndr_charset_length(r->in.path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetConnInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetConnInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetConnEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetConnEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_path; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_path_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->in.path); - } else { - r->in.path = NULL; - } - if (r->in.path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path)); - if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetConnInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetConnInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetConnEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetConnEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetConnEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetConnEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "path", r->in.path); - ndr->depth++; - if (r->in.path) { - ndr_print_string(ndr, "path", r->in.path); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetConnInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetConnEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetConnInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetFileEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.path)); - if (r->in.path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path, ndr_charset_length(r->in.path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.user)); - if (r->in.user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetFileInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetFileInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetFileEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_path; - uint32_t _ptr_user; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_path_0; - TALLOC_CTX *_mem_save_user_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path)); - if (_ptr_path) { - NDR_PULL_ALLOC(ndr, r->in.path); - } else { - r->in.path = NULL; - } - if (r->in.path) { - _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path)); - if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->in.user); - } else { - r->in.user = NULL; - } - if (r->in.user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user)); - if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetFileInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetFileInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetFileEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetFileEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetFileEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "path", r->in.path); - ndr->depth++; - if (r->in.path) { - ndr_print_string(ndr, "path", r->in.path); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->in.user); - ndr->depth++; - if (r->in.user) { - ndr_print_string(ndr, "user", r->in.user); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetFileInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetFileEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetFileInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileGetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetFileGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.fid)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetFileInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetFileGetInfo *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.fid)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetFileInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetFileGetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetFileGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetFileGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "fid", r->in.fid); - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetFileGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_srvsvc_NetFileInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetFileClose(struct ndr_push *ndr, int flags, const struct srvsvc_NetFileClose *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.fid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetFileClose(struct ndr_pull *ndr, int flags, struct srvsvc_NetFileClose *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.fid)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetFileClose(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetFileClose *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetFileClose"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetFileClose"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "fid", r->in.fid); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetFileClose"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetSessEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client)); - if (r->in.client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client, ndr_charset_length(r->in.client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.user)); - if (r->in.user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetSessInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetSessInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetSessEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_client; - uint32_t _ptr_user; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_client_0; - TALLOC_CTX *_mem_save_user_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->in.client); - } else { - r->in.client = NULL; - } - if (r->in.client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client)); - if (ndr_get_array_length(ndr, &r->in.client) > ndr_get_array_size(ndr, &r->in.client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client), ndr_get_array_length(ndr, &r->in.client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->in.user); - } else { - r->in.user = NULL; - } - if (r->in.user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user)); - if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetSessInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetSessInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSessEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetSessEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "client", r->in.client); - ndr->depth++; - if (r->in.client) { - ndr_print_string(ndr, "client", r->in.client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->in.user); - ndr->depth++; - if (r->in.user) { - ndr_print_string(ndr, "user", r->in.user); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetSessInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetSessEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetSessInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSessDel(struct ndr_push *ndr, int flags, const struct srvsvc_NetSessDel *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client)); - if (r->in.client) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.client, ndr_charset_length(r->in.client, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.user)); - if (r->in.user) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSessDel(struct ndr_pull *ndr, int flags, struct srvsvc_NetSessDel *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_client; - uint32_t _ptr_user; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_client_0; - TALLOC_CTX *_mem_save_user_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client)); - if (_ptr_client) { - NDR_PULL_ALLOC(ndr, r->in.client); - } else { - r->in.client = NULL; - } - if (r->in.client) { - _mem_save_client_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.client, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client)); - if (ndr_get_array_length(ndr, &r->in.client) > ndr_get_array_size(ndr, &r->in.client)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client), ndr_get_array_length(ndr, &r->in.client)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client, ndr_get_array_length(ndr, &r->in.client), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user)); - if (_ptr_user) { - NDR_PULL_ALLOC(ndr, r->in.user); - } else { - r->in.user = NULL; - } - if (r->in.user) { - _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.user, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.user)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.user)); - if (ndr_get_array_length(ndr, &r->in.user) > ndr_get_array_size(ndr, &r->in.user)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.user), ndr_get_array_length(ndr, &r->in.user)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.user, ndr_get_array_length(ndr, &r->in.user), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSessDel(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSessDel *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSessDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetSessDel"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "client", r->in.client); - ndr->depth++; - if (r->in.client) { - ndr_print_string(ndr, "client", r->in.client); - } - ndr->depth--; - ndr_print_ptr(ndr, "user", r->in.user); - ndr->depth++; - if (r->in.user) { - ndr_print_string(ndr, "user", r->in.user); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetSessDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareAdd(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareAdd *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetShareInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_error)); - if (r->in.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_error)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_error)); - if (r->out.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_error)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareAdd(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareAdd *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_parm_error; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_parm_error_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->in.parm_error); - } else { - r->in.parm_error = NULL; - } - if (r->in.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->out.parm_error); - } else { - r->out.parm_error = NULL; - } - if (r->out.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareAdd(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareAdd *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareAdd"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_srvsvc_NetShareInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "parm_error", r->in.parm_error); - ndr->depth++; - if (r->in.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->in.parm_error); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_error", r->out.parm_error); - ndr->depth++; - if (r->out.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->out.parm_error); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareEnumAll(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareEnumAll *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareEnumAll(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareEnumAll *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareEnumAll(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareEnumAll *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareEnumAll"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareEnumAll"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetShareInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareEnumAll"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetShareInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareGetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share_name, ndr_charset_length(r->in.share_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetShareInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareGetInfo *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name)); - if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareGetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "share_name", r->in.share_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_srvsvc_NetShareInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareSetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareSetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share_name, ndr_charset_length(r->in.share_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetShareInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_error)); - if (r->in.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_error)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_error)); - if (r->out.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_error)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareSetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareSetInfo *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_parm_error; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_parm_error_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name)); - if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->in.parm_error); - } else { - r->in.parm_error = NULL; - } - if (r->in.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->out.parm_error); - } else { - r->out.parm_error = NULL; - } - if (r->out.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareSetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareSetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "share_name", r->in.share_name); - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_srvsvc_NetShareInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "parm_error", r->in.parm_error); - ndr->depth++; - if (r->in.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->in.parm_error); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_error", r->out.parm_error); - ndr->depth++; - if (r->out.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->out.parm_error); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareDel(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareDel *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share_name, ndr_charset_length(r->in.share_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareDel(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDel *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name)); - if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareDel(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDel *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareDel"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "share_name", r->in.share_name); - ndr_print_uint32(ndr, "reserved", r->in.reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareDelSticky(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareDelSticky *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share_name, ndr_charset_length(r->in.share_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareDelSticky(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDelSticky *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share_name)); - if (ndr_get_array_length(ndr, &r->in.share_name) > ndr_get_array_size(ndr, &r->in.share_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share_name), ndr_get_array_length(ndr, &r->in.share_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share_name, ndr_get_array_length(ndr, &r->in.share_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareDelSticky(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDelSticky *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareDelSticky"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareDelSticky"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "share_name", r->in.share_name); - ndr_print_uint32(ndr, "reserved", r->in.reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareDelSticky"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareCheck(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareCheck *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.device_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.device_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.device_name, ndr_charset_length(r->in.device_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - if (r->out.type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_ShareType(ndr, NDR_SCALARS, *r->out.type)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareCheck(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareCheck *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_type_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.device_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.device_name)); - if (ndr_get_array_length(ndr, &r->in.device_name) > ndr_get_array_size(ndr, &r->in.device_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.device_name), ndr_get_array_length(ndr, &r->in.device_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.device_name, ndr_get_array_length(ndr, &r->in.device_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_ALLOC(ndr, r->out.type); - ZERO_STRUCTP(r->out.type); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.type); - } - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_ShareType(ndr, NDR_SCALARS, r->out.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareCheck(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareCheck *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareCheck"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareCheck"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "device_name", r->in.device_name); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareCheck"); - ndr->depth++; - ndr_print_ptr(ndr, "type", r->out.type); - ndr->depth++; - ndr_print_srvsvc_ShareType(ndr, "type", *r->out.type); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvGetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetSrvGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvGetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetSrvGetInfo *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSrvGetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetSrvGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetSrvGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_srvsvc_NetSrvInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSrvSetInfo(struct ndr_push *ndr, int flags, const struct srvsvc_NetSrvSetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_error)); - if (r->in.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_error)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_error)); - if (r->out.parm_error) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_error)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSrvSetInfo(struct ndr_pull *ndr, int flags, struct srvsvc_NetSrvSetInfo *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_parm_error; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_parm_error_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetSrvInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->in.parm_error); - } else { - r->in.parm_error = NULL; - } - if (r->in.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_error)); - if (_ptr_parm_error) { - NDR_PULL_ALLOC(ndr, r->out.parm_error); - } else { - r->out.parm_error = NULL; - } - if (r->out.parm_error) { - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_error, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSrvSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSrvSetInfo *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSrvSetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetSrvSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_srvsvc_NetSrvInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "parm_error", r->in.parm_error); - ndr->depth++; - if (r->in.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->in.parm_error); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetSrvSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_error", r->out.parm_error); - ndr->depth++; - if (r->out.parm_error) { - ndr_print_uint32(ndr, "parm_error", *r->out.parm_error); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetDiskEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetDiskEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetDiskInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.maxlen)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetDiskInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetDiskEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetDiskEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetDiskInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.maxlen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - *r->out.info = *r->in.info; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetDiskInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetDiskEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetDiskEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetDiskEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetDiskEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_srvsvc_NetDiskInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_uint32(ndr, "maxlen", r->in.maxlen); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetDiskEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_srvsvc_NetDiskInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetServerStatisticsGet(struct ndr_push *ndr, int flags, const struct srvsvc_NetServerStatisticsGet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service)); - if (r->in.service) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service, ndr_charset_length(r->in.service, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options)); - } - if (flags & NDR_OUT) { - if (r->out.stats == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.stats)); - if (*r->out.stats) { - NDR_CHECK(ndr_push_srvsvc_Statistics(ndr, NDR_SCALARS, *r->out.stats)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull *ndr, int flags, struct srvsvc_NetServerStatisticsGet *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_service; - uint32_t _ptr_stats; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_service_0; - TALLOC_CTX *_mem_save_stats_0; - TALLOC_CTX *_mem_save_stats_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service)); - if (_ptr_service) { - NDR_PULL_ALLOC(ndr, r->in.service); - } else { - r->in.service = NULL; - } - if (r->in.service) { - _mem_save_service_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service)); - if (ndr_get_array_length(ndr, &r->in.service) > ndr_get_array_size(ndr, &r->in.service)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service), ndr_get_array_length(ndr, &r->in.service)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service, ndr_get_array_length(ndr, &r->in.service), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options)); - NDR_PULL_ALLOC(ndr, r->out.stats); - ZERO_STRUCTP(r->out.stats); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.stats); - } - _mem_save_stats_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.stats, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stats)); - if (_ptr_stats) { - NDR_PULL_ALLOC(ndr, *r->out.stats); - } else { - *r->out.stats = NULL; - } - if (*r->out.stats) { - _mem_save_stats_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.stats, 0); - NDR_CHECK(ndr_pull_srvsvc_Statistics(ndr, NDR_SCALARS, *r->out.stats)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stats_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stats_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetServerStatisticsGet(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetServerStatisticsGet *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetServerStatisticsGet"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetServerStatisticsGet"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "service", r->in.service); - ndr->depth++; - if (r->in.service) { - ndr_print_string(ndr, "service", r->in.service); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_uint32(ndr, "options", r->in.options); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetServerStatisticsGet"); - ndr->depth++; - ndr_print_ptr(ndr, "stats", r->out.stats); - ndr->depth++; - ndr_print_ptr(ndr, "stats", *r->out.stats); - ndr->depth++; - if (*r->out.stats) { - ndr_print_srvsvc_Statistics(ndr, "stats", *r->out.stats); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportAdd(struct ndr_push *ndr, int flags, const struct srvsvc_NetTransportAdd *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportAdd(struct ndr_pull *ndr, int flags, struct srvsvc_NetTransportAdd *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportAdd(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetTransportAdd *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportAdd"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetTransportAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.level); - ndr_print_srvsvc_NetTransportInfo(ndr, "info", &r->in.info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetTransportAdd"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetTransportEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.transports == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.transports == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetTransportEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_transports_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.transports); - } - _mem_save_transports_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.transports, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transports_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.transports); - *r->out.transports = *r->in.transports; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.transports); - } - _mem_save_transports_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.transports, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transports_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetTransportEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetTransportEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "transports", r->in.transports); - ndr->depth++; - ndr_print_srvsvc_NetTransportInfoCtr(ndr, "transports", r->in.transports); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetTransportEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "transports", r->out.transports); - ndr->depth++; - ndr_print_srvsvc_NetTransportInfoCtr(ndr, "transports", r->out.transports); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetTransportDel(struct ndr_push *ndr, int flags, const struct srvsvc_NetTransportDel *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info0 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetTransportDel(struct ndr_pull *ndr, int flags, struct srvsvc_NetTransportDel *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info0_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info0); - } - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetTransportDel(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetTransportDel *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetTransportDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetTransportDel"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info0", r->in.info0); - ndr->depth++; - ndr_print_srvsvc_NetTransportInfo0(ndr, "info0", r->in.info0); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetTransportDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetRemoteTOD(struct ndr_push *ndr, int flags, const struct srvsvc_NetRemoteTOD *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_srvsvc_NetRemoteTODInfo(ndr, NDR_SCALARS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetRemoteTOD(struct ndr_pull *ndr, int flags, struct srvsvc_NetRemoteTOD *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_srvsvc_NetRemoteTODInfo(ndr, NDR_SCALARS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetRemoteTOD(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetRemoteTOD *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetRemoteTOD"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetRemoteTOD"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetRemoteTOD"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_srvsvc_NetRemoteTODInfo(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSetServiceBits(struct ndr_push *ndr, int flags, const struct srvsvc_NetSetServiceBits *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.transport)); - if (r->in.transport) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.transport, ndr_charset_length(r->in.transport, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.servicebits)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.updateimmediately)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSetServiceBits(struct ndr_pull *ndr, int flags, struct srvsvc_NetSetServiceBits *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_transport; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_transport_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport)); - if (_ptr_transport) { - NDR_PULL_ALLOC(ndr, r->in.transport); - } else { - r->in.transport = NULL; - } - if (r->in.transport) { - _mem_save_transport_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.transport, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport)); - if (ndr_get_array_length(ndr, &r->in.transport) > ndr_get_array_size(ndr, &r->in.transport)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport), ndr_get_array_length(ndr, &r->in.transport)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servicebits)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.updateimmediately)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSetServiceBits(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSetServiceBits *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSetServiceBits"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetSetServiceBits"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "transport", r->in.transport); - ndr->depth++; - if (r->in.transport) { - ndr_print_string(ndr, "transport", r->in.transport); - } - ndr->depth--; - ndr_print_uint32(ndr, "servicebits", r->in.servicebits); - ndr_print_uint32(ndr, "updateimmediately", r->in.updateimmediately); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetSetServiceBits"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetPathType(struct ndr_push *ndr, int flags, const struct srvsvc_NetPathType *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path, ndr_charset_length(r->in.path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.pathflags)); - } - if (flags & NDR_OUT) { - if (r->out.pathtype == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.pathtype)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetPathType(struct ndr_pull *ndr, int flags, struct srvsvc_NetPathType *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_pathtype_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path)); - if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathflags)); - NDR_PULL_ALLOC(ndr, r->out.pathtype); - ZERO_STRUCTP(r->out.pathtype); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.pathtype); - } - _mem_save_pathtype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.pathtype, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.pathtype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pathtype_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetPathType(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPathType *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetPathType"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetPathType"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "path", r->in.path); - ndr_print_uint32(ndr, "pathflags", r->in.pathflags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetPathType"); - ndr->depth++; - ndr_print_ptr(ndr, "pathtype", r->out.pathtype); - ndr->depth++; - ndr_print_uint32(ndr, "pathtype", *r->out.pathtype); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetPathCanonicalize(struct ndr_push *ndr, int flags, const struct srvsvc_NetPathCanonicalize *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path, ndr_charset_length(r->in.path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.maxbuf)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.prefix, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.prefix, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.prefix, ndr_charset_length(r->in.prefix, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - if (r->in.pathtype == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.pathtype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.pathflags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.maxbuf)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.can_path, r->in.maxbuf)); - if (r->out.pathtype == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.pathtype)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetPathCanonicalize(struct ndr_pull *ndr, int flags, struct srvsvc_NetPathCanonicalize *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_pathtype_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path)); - if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path), ndr_get_array_length(ndr, &r->in.path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.maxbuf)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.prefix)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.prefix)); - if (ndr_get_array_length(ndr, &r->in.prefix) > ndr_get_array_size(ndr, &r->in.prefix)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.prefix), ndr_get_array_length(ndr, &r->in.prefix)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.prefix), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.prefix, ndr_get_array_length(ndr, &r->in.prefix), sizeof(uint16_t), CH_UTF16)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.pathtype); - } - _mem_save_pathtype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.pathtype, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.pathtype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pathtype_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathflags)); - NDR_PULL_ALLOC(ndr, r->out.pathtype); - *r->out.pathtype = *r->in.pathtype; - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.can_path)); - NDR_PULL_ALLOC_N(ndr, r->out.can_path, ndr_get_array_size(ndr, &r->out.can_path)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.can_path, ndr_get_array_size(ndr, &r->out.can_path))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.pathtype); - } - _mem_save_pathtype_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.pathtype, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.pathtype)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pathtype_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.can_path) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.can_path, r->in.maxbuf)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetPathCanonicalize(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPathCanonicalize *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetPathCanonicalize"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetPathCanonicalize"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "path", r->in.path); - ndr_print_uint32(ndr, "maxbuf", r->in.maxbuf); - ndr_print_string(ndr, "prefix", r->in.prefix); - ndr_print_ptr(ndr, "pathtype", r->in.pathtype); - ndr->depth++; - ndr_print_uint32(ndr, "pathtype", *r->in.pathtype); - ndr->depth--; - ndr_print_uint32(ndr, "pathflags", r->in.pathflags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetPathCanonicalize"); - ndr->depth++; - ndr_print_array_uint8(ndr, "can_path", r->out.can_path, r->in.maxbuf); - ndr_print_ptr(ndr, "pathtype", r->out.pathtype); - ndr->depth++; - ndr_print_uint32(ndr, "pathtype", *r->out.pathtype); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetPathCompare(struct ndr_push *ndr, int flags, const struct srvsvc_NetPathCompare *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path1, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path1, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path1, ndr_charset_length(r->in.path1, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.path2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.path2, ndr_charset_length(r->in.path2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.pathtype)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.pathflags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetPathCompare(struct ndr_pull *ndr, int flags, struct srvsvc_NetPathCompare *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path1)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path1)); - if (ndr_get_array_length(ndr, &r->in.path1) > ndr_get_array_size(ndr, &r->in.path1)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path1), ndr_get_array_length(ndr, &r->in.path1)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path1), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path1, ndr_get_array_length(ndr, &r->in.path1), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path2)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path2)); - if (ndr_get_array_length(ndr, &r->in.path2) > ndr_get_array_size(ndr, &r->in.path2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.path2), ndr_get_array_length(ndr, &r->in.path2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path2, ndr_get_array_length(ndr, &r->in.path2), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathtype)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.pathflags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetPathCompare(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPathCompare *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetPathCompare"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetPathCompare"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "path1", r->in.path1); - ndr_print_string(ndr, "path2", r->in.path2); - ndr_print_uint32(ndr, "pathtype", r->in.pathtype); - ndr_print_uint32(ndr, "pathflags", r->in.pathflags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetPathCompare"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetNameValidate(struct ndr_push *ndr, int flags, const struct srvsvc_NetNameValidate *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.name_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetNameValidate(struct ndr_pull *ndr, int flags, struct srvsvc_NetNameValidate *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name)); - if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.name_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetNameValidate(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetNameValidate *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetNameValidate"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetNameValidate"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "name", r->in.name); - ndr_print_uint32(ndr, "name_type", r->in.name_type); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetNameValidate"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRPRNAMECANONICALIZE(struct ndr_push *ndr, int flags, const struct srvsvc_NETRPRNAMECANONICALIZE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRPRNAMECANONICALIZE(struct ndr_pull *ndr, int flags, struct srvsvc_NETRPRNAMECANONICALIZE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRPRNAMECANONICALIZE(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRPRNAMECANONICALIZE *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRPRNAMECANONICALIZE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRPRNAMECANONICALIZE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRPRNAMECANONICALIZE"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetPRNameCompare(struct ndr_push *ndr, int flags, const struct srvsvc_NetPRNameCompare *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name1, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name1, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name1, ndr_charset_length(r->in.name1, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name2, ndr_charset_length(r->in.name2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.name_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetPRNameCompare(struct ndr_pull *ndr, int flags, struct srvsvc_NetPRNameCompare *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name1)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name1)); - if (ndr_get_array_length(ndr, &r->in.name1) > ndr_get_array_size(ndr, &r->in.name1)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name1), ndr_get_array_length(ndr, &r->in.name1)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name1), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name1, ndr_get_array_length(ndr, &r->in.name1), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name2)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name2)); - if (ndr_get_array_length(ndr, &r->in.name2) > ndr_get_array_size(ndr, &r->in.name2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name2), ndr_get_array_length(ndr, &r->in.name2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name2, ndr_get_array_length(ndr, &r->in.name2), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.name_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetPRNameCompare(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPRNameCompare *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetPRNameCompare"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetPRNameCompare"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "name1", r->in.name1); - ndr_print_string(ndr, "name2", r->in.name2); - ndr_print_uint32(ndr, "name_type", r->in.name_type); - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetPRNameCompare"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareEnum(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info_ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - if (r->out.totalentries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.totalentries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareEnum(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareEnum *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_info_ctr_0; - TALLOC_CTX *_mem_save_totalentries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - *r->out.info_ctr = *r->in.info_ctr; - NDR_PULL_ALLOC(ndr, r->out.totalentries); - ZERO_STRUCTP(r->out.totalentries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info_ctr); - } - _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_srvsvc_NetShareInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.totalentries); - } - _mem_save_totalentries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.totalentries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.totalentries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_totalentries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareEnum *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetShareInfoCtr(ndr, "info_ctr", r->in.info_ctr); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth++; - ndr_print_srvsvc_NetShareInfoCtr(ndr, "info_ctr", r->out.info_ctr); - ndr->depth--; - ndr_print_ptr(ndr, "totalentries", r->out.totalentries); - ndr->depth++; - ndr_print_uint32(ndr, "totalentries", *r->out.totalentries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareDelStart(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareDelStart *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share, ndr_charset_length(r->in.share, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.hnd)); - if (r->out.hnd) { - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.hnd)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareDelStart(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDelStart *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_hnd; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_hnd_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share)); - if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hnd)); - if (_ptr_hnd) { - NDR_PULL_ALLOC(ndr, r->out.hnd); - } else { - r->out.hnd = NULL; - } - if (r->out.hnd) { - _mem_save_hnd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.hnd, 0); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.hnd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hnd_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareDelStart(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDelStart *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareDelStart"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareDelStart"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_string(ndr, "share", r->in.share); - ndr_print_uint32(ndr, "reserved", r->in.reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareDelStart"); - ndr->depth++; - ndr_print_ptr(ndr, "hnd", r->out.hnd); - ndr->depth++; - if (r->out.hnd) { - ndr_print_policy_handle(ndr, "hnd", r->out.hnd); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetShareDelCommit(struct ndr_push *ndr, int flags, const struct srvsvc_NetShareDelCommit *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hnd)); - if (r->in.hnd) { - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.hnd)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.hnd)); - if (r->out.hnd) { - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.hnd)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetShareDelCommit(struct ndr_pull *ndr, int flags, struct srvsvc_NetShareDelCommit *r) -{ - uint32_t _ptr_hnd; - TALLOC_CTX *_mem_save_hnd_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hnd)); - if (_ptr_hnd) { - NDR_PULL_ALLOC(ndr, r->in.hnd); - } else { - r->in.hnd = NULL; - } - if (r->in.hnd) { - _mem_save_hnd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hnd, 0); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.hnd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hnd_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hnd)); - if (_ptr_hnd) { - NDR_PULL_ALLOC(ndr, r->out.hnd); - } else { - r->out.hnd = NULL; - } - if (r->out.hnd) { - _mem_save_hnd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.hnd, 0); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.hnd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hnd_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetShareDelCommit(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDelCommit *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetShareDelCommit"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetShareDelCommit"); - ndr->depth++; - ndr_print_ptr(ndr, "hnd", r->in.hnd); - ndr->depth++; - if (r->in.hnd) { - ndr_print_policy_handle(ndr, "hnd", r->in.hnd); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetShareDelCommit"); - ndr->depth++; - ndr_print_ptr(ndr, "hnd", r->out.hnd); - ndr->depth++; - if (r->out.hnd) { - ndr_print_policy_handle(ndr, "hnd", r->out.hnd); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetGetFileSecurity(struct ndr_push *ndr, int flags, const struct srvsvc_NetGetFileSecurity *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.share)); - if (r->in.share) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share, ndr_charset_length(r->in.share, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.file, ndr_charset_length(r->in.file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.securityinformation)); - } - if (flags & NDR_OUT) { - if (r->out.sd_buf == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sd_buf)); - if (*r->out.sd_buf) { - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sd_buf)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetGetFileSecurity(struct ndr_pull *ndr, int flags, struct srvsvc_NetGetFileSecurity *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_share; - uint32_t _ptr_sd_buf; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_share_0; - TALLOC_CTX *_mem_save_sd_buf_0; - TALLOC_CTX *_mem_save_sd_buf_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share)); - if (_ptr_share) { - NDR_PULL_ALLOC(ndr, r->in.share); - } else { - r->in.share = NULL; - } - if (r->in.share) { - _mem_save_share_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share)); - if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.file)); - if (ndr_get_array_length(ndr, &r->in.file) > ndr_get_array_size(ndr, &r->in.file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.file), ndr_get_array_length(ndr, &r->in.file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.file, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.securityinformation)); - NDR_PULL_ALLOC(ndr, r->out.sd_buf); - ZERO_STRUCTP(r->out.sd_buf); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sd_buf); - } - _mem_save_sd_buf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sd_buf, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd_buf)); - if (_ptr_sd_buf) { - NDR_PULL_ALLOC(ndr, *r->out.sd_buf); - } else { - *r->out.sd_buf = NULL; - } - if (*r->out.sd_buf) { - _mem_save_sd_buf_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.sd_buf, 0); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sd_buf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_buf_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_buf_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetGetFileSecurity(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetGetFileSecurity *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetGetFileSecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetGetFileSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "share", r->in.share); - ndr->depth++; - if (r->in.share) { - ndr_print_string(ndr, "share", r->in.share); - } - ndr->depth--; - ndr_print_string(ndr, "file", r->in.file); - ndr_print_security_secinfo(ndr, "securityinformation", r->in.securityinformation); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetGetFileSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "sd_buf", r->out.sd_buf); - ndr->depth++; - ndr_print_ptr(ndr, "sd_buf", *r->out.sd_buf); - ndr->depth++; - if (*r->out.sd_buf) { - ndr_print_sec_desc_buf(ndr, "sd_buf", *r->out.sd_buf); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetSetFileSecurity(struct ndr_push *ndr, int flags, const struct srvsvc_NetSetFileSecurity *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.share)); - if (r->in.share) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.share, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.share, ndr_charset_length(r->in.share, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.file, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.file, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.file, ndr_charset_length(r->in.file, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.securityinformation)); - if (r->in.sd_buf == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd_buf)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetSetFileSecurity(struct ndr_pull *ndr, int flags, struct srvsvc_NetSetFileSecurity *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_share; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_share_0; - TALLOC_CTX *_mem_save_sd_buf_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share)); - if (_ptr_share) { - NDR_PULL_ALLOC(ndr, r->in.share); - } else { - r->in.share = NULL; - } - if (r->in.share) { - _mem_save_share_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share)); - if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.share), ndr_get_array_length(ndr, &r->in.share)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.file)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.file)); - if (ndr_get_array_length(ndr, &r->in.file) > ndr_get_array_size(ndr, &r->in.file)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.file), ndr_get_array_length(ndr, &r->in.file)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.file, ndr_get_array_length(ndr, &r->in.file), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.securityinformation)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sd_buf); - } - _mem_save_sd_buf_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sd_buf, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd_buf)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_buf_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetSetFileSecurity(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSetFileSecurity *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetSetFileSecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetSetFileSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "share", r->in.share); - ndr->depth++; - if (r->in.share) { - ndr_print_string(ndr, "share", r->in.share); - } - ndr->depth--; - ndr_print_string(ndr, "file", r->in.file); - ndr_print_security_secinfo(ndr, "securityinformation", r->in.securityinformation); - ndr_print_ptr(ndr, "sd_buf", r->in.sd_buf); - ndr->depth++; - ndr_print_sec_desc_buf(ndr, "sd_buf", r->in.sd_buf); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetSetFileSecurity"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetServerTransportAddEx(struct ndr_push *ndr, int flags, const struct srvsvc_NetServerTransportAddEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_push_srvsvc_NetTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetServerTransportAddEx(struct ndr_pull *ndr, int flags, struct srvsvc_NetServerTransportAddEx *r) -{ - uint32_t _ptr_server_unc; - TALLOC_CTX *_mem_save_server_unc_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.info)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetServerTransportAddEx(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetServerTransportAddEx *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetServerTransportAddEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetServerTransportAddEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_set_switch_value(ndr, &r->in.info, r->in.level); - ndr_print_srvsvc_NetTransportInfo(ndr, "info", &r->in.info); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetServerTransportAddEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NetServerSetServiceBitsEx(struct ndr_push *ndr, int flags, const struct srvsvc_NetServerSetServiceBitsEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc)); - if (r->in.server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.emulated_server_unc)); - if (r->in.emulated_server_unc) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.emulated_server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.emulated_server_unc, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.emulated_server_unc, ndr_charset_length(r->in.emulated_server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.transport)); - if (r->in.transport) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.transport, ndr_charset_length(r->in.transport, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.servicebitsofinterest)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.servicebits)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.updateimmediately)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NetServerSetServiceBitsEx(struct ndr_pull *ndr, int flags, struct srvsvc_NetServerSetServiceBitsEx *r) -{ - uint32_t _ptr_server_unc; - uint32_t _ptr_emulated_server_unc; - uint32_t _ptr_transport; - TALLOC_CTX *_mem_save_server_unc_0; - TALLOC_CTX *_mem_save_emulated_server_unc_0; - TALLOC_CTX *_mem_save_transport_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc)); - if (_ptr_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.server_unc); - } else { - r->in.server_unc = NULL; - } - if (r->in.server_unc) { - _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc)); - if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_emulated_server_unc)); - if (_ptr_emulated_server_unc) { - NDR_PULL_ALLOC(ndr, r->in.emulated_server_unc); - } else { - r->in.emulated_server_unc = NULL; - } - if (r->in.emulated_server_unc) { - _mem_save_emulated_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.emulated_server_unc, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.emulated_server_unc)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.emulated_server_unc)); - if (ndr_get_array_length(ndr, &r->in.emulated_server_unc) > ndr_get_array_size(ndr, &r->in.emulated_server_unc)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.emulated_server_unc), ndr_get_array_length(ndr, &r->in.emulated_server_unc)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.emulated_server_unc), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.emulated_server_unc, ndr_get_array_length(ndr, &r->in.emulated_server_unc), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_emulated_server_unc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport)); - if (_ptr_transport) { - NDR_PULL_ALLOC(ndr, r->in.transport); - } else { - r->in.transport = NULL; - } - if (r->in.transport) { - _mem_save_transport_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.transport, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport)); - if (ndr_get_array_length(ndr, &r->in.transport) > ndr_get_array_size(ndr, &r->in.transport)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport), ndr_get_array_length(ndr, &r->in.transport)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport, ndr_get_array_length(ndr, &r->in.transport), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servicebitsofinterest)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.servicebits)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.updateimmediately)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NetServerSetServiceBitsEx(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetServerSetServiceBitsEx *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NetServerSetServiceBitsEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NetServerSetServiceBitsEx"); - ndr->depth++; - ndr_print_ptr(ndr, "server_unc", r->in.server_unc); - ndr->depth++; - if (r->in.server_unc) { - ndr_print_string(ndr, "server_unc", r->in.server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "emulated_server_unc", r->in.emulated_server_unc); - ndr->depth++; - if (r->in.emulated_server_unc) { - ndr_print_string(ndr, "emulated_server_unc", r->in.emulated_server_unc); - } - ndr->depth--; - ndr_print_ptr(ndr, "transport", r->in.transport); - ndr->depth++; - if (r->in.transport) { - ndr_print_string(ndr, "transport", r->in.transport); - } - ndr->depth--; - ndr_print_uint32(ndr, "servicebitsofinterest", r->in.servicebitsofinterest); - ndr_print_uint32(ndr, "servicebits", r->in.servicebits); - ndr_print_uint32(ndr, "updateimmediately", r->in.updateimmediately); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NetServerSetServiceBitsEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSGETVERSION(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSGETVERSION *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSGETVERSION(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSGETVERSION *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSGETVERSION(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSGETVERSION *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSGETVERSION"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSGETVERSION"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSGETVERSION"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSCREATELOCALPARTITION(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSCREATELOCALPARTITION *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSCREATELOCALPARTITION(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSCREATELOCALPARTITION *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSCREATELOCALPARTITION(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSCREATELOCALPARTITION *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSCREATELOCALPARTITION"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSCREATELOCALPARTITION"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSCREATELOCALPARTITION"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSDELETELOCALPARTITION(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSDELETELOCALPARTITION *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSDELETELOCALPARTITION(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSDELETELOCALPARTITION *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSDELETELOCALPARTITION(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSDELETELOCALPARTITION *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSDELETELOCALPARTITION"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSDELETELOCALPARTITION"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSDELETELOCALPARTITION"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSSETLOCALVOLUMESTATE"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSSETLOCALVOLUMESTATE"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSSETLOCALVOLUMESTATE"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSSETSERVERINFO(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSSETSERVERINFO *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSSETSERVERINFO(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSSETSERVERINFO *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSSETSERVERINFO(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSSETSERVERINFO *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSSETSERVERINFO"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSSETSERVERINFO"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSSETSERVERINFO"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSCREATEEXITPOINT(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSCREATEEXITPOINT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSCREATEEXITPOINT(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSCREATEEXITPOINT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSCREATEEXITPOINT(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSCREATEEXITPOINT *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSCREATEEXITPOINT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSCREATEEXITPOINT"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSCREATEEXITPOINT"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSDELETEEXITPOINT(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSDELETEEXITPOINT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSDELETEEXITPOINT(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSDELETEEXITPOINT *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSDELETEEXITPOINT(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSDELETEEXITPOINT *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSDELETEEXITPOINT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSDELETEEXITPOINT"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSDELETEEXITPOINT"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSMODIFYPREFIX(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSMODIFYPREFIX *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSMODIFYPREFIX(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSMODIFYPREFIX *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSMODIFYPREFIX(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSMODIFYPREFIX *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSMODIFYPREFIX"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSMODIFYPREFIX"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSMODIFYPREFIX"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSFIXLOCALVOLUME(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSFIXLOCALVOLUME *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSFIXLOCALVOLUME(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSFIXLOCALVOLUME *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSFIXLOCALVOLUME(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSFIXLOCALVOLUME *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSFIXLOCALVOLUME"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSFIXLOCALVOLUME"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSFIXLOCALVOLUME"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct ndr_push *ndr, int flags, const struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct ndr_pull *ndr, int flags, struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRDFSMANAGERREPORTSITEINFO"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRDFSMANAGERREPORTSITEINFO"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRDFSMANAGERREPORTSITEINFO"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_srvsvc_NETRSERVERTRANSPORTDELEX(struct ndr_push *ndr, int flags, const struct srvsvc_NETRSERVERTRANSPORTDELEX *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_srvsvc_NETRSERVERTRANSPORTDELEX(struct ndr_pull *ndr, int flags, struct srvsvc_NETRSERVERTRANSPORTDELEX *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_srvsvc_NETRSERVERTRANSPORTDELEX(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRSERVERTRANSPORTDELEX *r) -{ - ndr_print_struct(ndr, name, "srvsvc_NETRSERVERTRANSPORTDELEX"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "srvsvc_NETRSERVERTRANSPORTDELEX"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "srvsvc_NETRSERVERTRANSPORTDELEX"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call srvsvc_calls[] = { - { - "srvsvc_NetCharDevEnum", - sizeof(struct srvsvc_NetCharDevEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevEnum, - false, - }, - { - "srvsvc_NetCharDevGetInfo", - sizeof(struct srvsvc_NetCharDevGetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevGetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevGetInfo, - false, - }, - { - "srvsvc_NetCharDevControl", - sizeof(struct srvsvc_NetCharDevControl), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevControl, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevControl, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevControl, - false, - }, - { - "srvsvc_NetCharDevQEnum", - sizeof(struct srvsvc_NetCharDevQEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevQEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevQEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevQEnum, - false, - }, - { - "srvsvc_NetCharDevQGetInfo", - sizeof(struct srvsvc_NetCharDevQGetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevQGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevQGetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevQGetInfo, - false, - }, - { - "srvsvc_NetCharDevQSetInfo", - sizeof(struct srvsvc_NetCharDevQSetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevQSetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevQSetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevQSetInfo, - false, - }, - { - "srvsvc_NetCharDevQPurge", - sizeof(struct srvsvc_NetCharDevQPurge), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevQPurge, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevQPurge, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevQPurge, - false, - }, - { - "srvsvc_NetCharDevQPurgeSelf", - sizeof(struct srvsvc_NetCharDevQPurgeSelf), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetCharDevQPurgeSelf, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetCharDevQPurgeSelf, - (ndr_print_function_t) ndr_print_srvsvc_NetCharDevQPurgeSelf, - false, - }, - { - "srvsvc_NetConnEnum", - sizeof(struct srvsvc_NetConnEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetConnEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetConnEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetConnEnum, - false, - }, - { - "srvsvc_NetFileEnum", - sizeof(struct srvsvc_NetFileEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetFileEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetFileEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetFileEnum, - false, - }, - { - "srvsvc_NetFileGetInfo", - sizeof(struct srvsvc_NetFileGetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetFileGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetFileGetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetFileGetInfo, - false, - }, - { - "srvsvc_NetFileClose", - sizeof(struct srvsvc_NetFileClose), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetFileClose, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetFileClose, - (ndr_print_function_t) ndr_print_srvsvc_NetFileClose, - false, - }, - { - "srvsvc_NetSessEnum", - sizeof(struct srvsvc_NetSessEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetSessEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetSessEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetSessEnum, - false, - }, - { - "srvsvc_NetSessDel", - sizeof(struct srvsvc_NetSessDel), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetSessDel, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetSessDel, - (ndr_print_function_t) ndr_print_srvsvc_NetSessDel, - false, - }, - { - "srvsvc_NetShareAdd", - sizeof(struct srvsvc_NetShareAdd), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareAdd, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareAdd, - (ndr_print_function_t) ndr_print_srvsvc_NetShareAdd, - false, - }, - { - "srvsvc_NetShareEnumAll", - sizeof(struct srvsvc_NetShareEnumAll), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareEnumAll, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareEnumAll, - (ndr_print_function_t) ndr_print_srvsvc_NetShareEnumAll, - false, - }, - { - "srvsvc_NetShareGetInfo", - sizeof(struct srvsvc_NetShareGetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareGetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetShareGetInfo, - false, - }, - { - "srvsvc_NetShareSetInfo", - sizeof(struct srvsvc_NetShareSetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareSetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareSetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetShareSetInfo, - false, - }, - { - "srvsvc_NetShareDel", - sizeof(struct srvsvc_NetShareDel), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareDel, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareDel, - (ndr_print_function_t) ndr_print_srvsvc_NetShareDel, - false, - }, - { - "srvsvc_NetShareDelSticky", - sizeof(struct srvsvc_NetShareDelSticky), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareDelSticky, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareDelSticky, - (ndr_print_function_t) ndr_print_srvsvc_NetShareDelSticky, - false, - }, - { - "srvsvc_NetShareCheck", - sizeof(struct srvsvc_NetShareCheck), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareCheck, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareCheck, - (ndr_print_function_t) ndr_print_srvsvc_NetShareCheck, - false, - }, - { - "srvsvc_NetSrvGetInfo", - sizeof(struct srvsvc_NetSrvGetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetSrvGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetSrvGetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetSrvGetInfo, - false, - }, - { - "srvsvc_NetSrvSetInfo", - sizeof(struct srvsvc_NetSrvSetInfo), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetSrvSetInfo, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetSrvSetInfo, - (ndr_print_function_t) ndr_print_srvsvc_NetSrvSetInfo, - false, - }, - { - "srvsvc_NetDiskEnum", - sizeof(struct srvsvc_NetDiskEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetDiskEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetDiskEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetDiskEnum, - false, - }, - { - "srvsvc_NetServerStatisticsGet", - sizeof(struct srvsvc_NetServerStatisticsGet), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetServerStatisticsGet, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetServerStatisticsGet, - (ndr_print_function_t) ndr_print_srvsvc_NetServerStatisticsGet, - false, - }, - { - "srvsvc_NetTransportAdd", - sizeof(struct srvsvc_NetTransportAdd), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetTransportAdd, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetTransportAdd, - (ndr_print_function_t) ndr_print_srvsvc_NetTransportAdd, - false, - }, - { - "srvsvc_NetTransportEnum", - sizeof(struct srvsvc_NetTransportEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetTransportEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetTransportEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetTransportEnum, - false, - }, - { - "srvsvc_NetTransportDel", - sizeof(struct srvsvc_NetTransportDel), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetTransportDel, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetTransportDel, - (ndr_print_function_t) ndr_print_srvsvc_NetTransportDel, - false, - }, - { - "srvsvc_NetRemoteTOD", - sizeof(struct srvsvc_NetRemoteTOD), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetRemoteTOD, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetRemoteTOD, - (ndr_print_function_t) ndr_print_srvsvc_NetRemoteTOD, - false, - }, - { - "srvsvc_NetSetServiceBits", - sizeof(struct srvsvc_NetSetServiceBits), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetSetServiceBits, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetSetServiceBits, - (ndr_print_function_t) ndr_print_srvsvc_NetSetServiceBits, - false, - }, - { - "srvsvc_NetPathType", - sizeof(struct srvsvc_NetPathType), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetPathType, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetPathType, - (ndr_print_function_t) ndr_print_srvsvc_NetPathType, - false, - }, - { - "srvsvc_NetPathCanonicalize", - sizeof(struct srvsvc_NetPathCanonicalize), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetPathCanonicalize, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetPathCanonicalize, - (ndr_print_function_t) ndr_print_srvsvc_NetPathCanonicalize, - false, - }, - { - "srvsvc_NetPathCompare", - sizeof(struct srvsvc_NetPathCompare), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetPathCompare, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetPathCompare, - (ndr_print_function_t) ndr_print_srvsvc_NetPathCompare, - false, - }, - { - "srvsvc_NetNameValidate", - sizeof(struct srvsvc_NetNameValidate), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetNameValidate, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetNameValidate, - (ndr_print_function_t) ndr_print_srvsvc_NetNameValidate, - false, - }, - { - "srvsvc_NETRPRNAMECANONICALIZE", - sizeof(struct srvsvc_NETRPRNAMECANONICALIZE), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRPRNAMECANONICALIZE, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRPRNAMECANONICALIZE, - (ndr_print_function_t) ndr_print_srvsvc_NETRPRNAMECANONICALIZE, - false, - }, - { - "srvsvc_NetPRNameCompare", - sizeof(struct srvsvc_NetPRNameCompare), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetPRNameCompare, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetPRNameCompare, - (ndr_print_function_t) ndr_print_srvsvc_NetPRNameCompare, - false, - }, - { - "srvsvc_NetShareEnum", - sizeof(struct srvsvc_NetShareEnum), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareEnum, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareEnum, - (ndr_print_function_t) ndr_print_srvsvc_NetShareEnum, - false, - }, - { - "srvsvc_NetShareDelStart", - sizeof(struct srvsvc_NetShareDelStart), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareDelStart, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareDelStart, - (ndr_print_function_t) ndr_print_srvsvc_NetShareDelStart, - false, - }, - { - "srvsvc_NetShareDelCommit", - sizeof(struct srvsvc_NetShareDelCommit), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetShareDelCommit, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetShareDelCommit, - (ndr_print_function_t) ndr_print_srvsvc_NetShareDelCommit, - false, - }, - { - "srvsvc_NetGetFileSecurity", - sizeof(struct srvsvc_NetGetFileSecurity), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetGetFileSecurity, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetGetFileSecurity, - (ndr_print_function_t) ndr_print_srvsvc_NetGetFileSecurity, - false, - }, - { - "srvsvc_NetSetFileSecurity", - sizeof(struct srvsvc_NetSetFileSecurity), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetSetFileSecurity, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetSetFileSecurity, - (ndr_print_function_t) ndr_print_srvsvc_NetSetFileSecurity, - false, - }, - { - "srvsvc_NetServerTransportAddEx", - sizeof(struct srvsvc_NetServerTransportAddEx), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetServerTransportAddEx, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetServerTransportAddEx, - (ndr_print_function_t) ndr_print_srvsvc_NetServerTransportAddEx, - false, - }, - { - "srvsvc_NetServerSetServiceBitsEx", - sizeof(struct srvsvc_NetServerSetServiceBitsEx), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NetServerSetServiceBitsEx, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NetServerSetServiceBitsEx, - (ndr_print_function_t) ndr_print_srvsvc_NetServerSetServiceBitsEx, - false, - }, - { - "srvsvc_NETRDFSGETVERSION", - sizeof(struct srvsvc_NETRDFSGETVERSION), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSGETVERSION, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSGETVERSION, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSGETVERSION, - false, - }, - { - "srvsvc_NETRDFSCREATELOCALPARTITION", - sizeof(struct srvsvc_NETRDFSCREATELOCALPARTITION), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSCREATELOCALPARTITION, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSCREATELOCALPARTITION, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSCREATELOCALPARTITION, - false, - }, - { - "srvsvc_NETRDFSDELETELOCALPARTITION", - sizeof(struct srvsvc_NETRDFSDELETELOCALPARTITION), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSDELETELOCALPARTITION, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSDELETELOCALPARTITION, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSDELETELOCALPARTITION, - false, - }, - { - "srvsvc_NETRDFSSETLOCALVOLUMESTATE", - sizeof(struct srvsvc_NETRDFSSETLOCALVOLUMESTATE), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSSETLOCALVOLUMESTATE, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSSETLOCALVOLUMESTATE, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSSETLOCALVOLUMESTATE, - false, - }, - { - "srvsvc_NETRDFSSETSERVERINFO", - sizeof(struct srvsvc_NETRDFSSETSERVERINFO), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSSETSERVERINFO, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSSETSERVERINFO, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSSETSERVERINFO, - false, - }, - { - "srvsvc_NETRDFSCREATEEXITPOINT", - sizeof(struct srvsvc_NETRDFSCREATEEXITPOINT), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSCREATEEXITPOINT, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSCREATEEXITPOINT, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSCREATEEXITPOINT, - false, - }, - { - "srvsvc_NETRDFSDELETEEXITPOINT", - sizeof(struct srvsvc_NETRDFSDELETEEXITPOINT), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSDELETEEXITPOINT, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSDELETEEXITPOINT, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSDELETEEXITPOINT, - false, - }, - { - "srvsvc_NETRDFSMODIFYPREFIX", - sizeof(struct srvsvc_NETRDFSMODIFYPREFIX), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSMODIFYPREFIX, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSMODIFYPREFIX, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSMODIFYPREFIX, - false, - }, - { - "srvsvc_NETRDFSFIXLOCALVOLUME", - sizeof(struct srvsvc_NETRDFSFIXLOCALVOLUME), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSFIXLOCALVOLUME, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSFIXLOCALVOLUME, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSFIXLOCALVOLUME, - false, - }, - { - "srvsvc_NETRDFSMANAGERREPORTSITEINFO", - sizeof(struct srvsvc_NETRDFSMANAGERREPORTSITEINFO), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRDFSMANAGERREPORTSITEINFO, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRDFSMANAGERREPORTSITEINFO, - (ndr_print_function_t) ndr_print_srvsvc_NETRDFSMANAGERREPORTSITEINFO, - false, - }, - { - "srvsvc_NETRSERVERTRANSPORTDELEX", - sizeof(struct srvsvc_NETRSERVERTRANSPORTDELEX), - (ndr_push_flags_fn_t) ndr_push_srvsvc_NETRSERVERTRANSPORTDELEX, - (ndr_pull_flags_fn_t) ndr_pull_srvsvc_NETRSERVERTRANSPORTDELEX, - (ndr_print_function_t) ndr_print_srvsvc_NETRSERVERTRANSPORTDELEX, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const srvsvc_endpoint_strings[] = { - "ncacn_np:[\\pipe\\srvsvc]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array srvsvc_endpoints = { - .count = 3, - .names = srvsvc_endpoint_strings -}; - -static const char * const srvsvc_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array srvsvc_authservices = { - .count = 1, - .names = srvsvc_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_srvsvc = { - .name = "srvsvc", - .syntax_id = { - {0x4b324fc8,0x1670,0x01d3,{0x12,0x78},{0x5a,0x47,0xbf,0x6e,0xe1,0x88}}, - NDR_SRVSVC_VERSION - }, - .helpstring = NDR_SRVSVC_HELPSTRING, - .num_calls = 54, - .calls = srvsvc_calls, - .endpoints = &srvsvc_endpoints, - .authservices = &srvsvc_authservices -}; - diff --git a/librpc/gen_ndr/ndr_srvsvc.h b/librpc/gen_ndr/ndr_srvsvc.h deleted file mode 100644 index eba3ec990c8..00000000000 --- a/librpc/gen_ndr/ndr_srvsvc.h +++ /dev/null @@ -1,322 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/srvsvc.h" - -#ifndef _HEADER_NDR_srvsvc -#define _HEADER_NDR_srvsvc - -#define NDR_SRVSVC_UUID "4b324fc8-1670-01d3-1278-5a47bf6ee188" -#define NDR_SRVSVC_VERSION 3.0 -#define NDR_SRVSVC_NAME "srvsvc" -#define NDR_SRVSVC_HELPSTRING "Server Service" -extern const struct ndr_interface_table ndr_table_srvsvc; -#define NDR_SRVSVC_NETCHARDEVENUM (0x00) - -#define NDR_SRVSVC_NETCHARDEVGETINFO (0x01) - -#define NDR_SRVSVC_NETCHARDEVCONTROL (0x02) - -#define NDR_SRVSVC_NETCHARDEVQENUM (0x03) - -#define NDR_SRVSVC_NETCHARDEVQGETINFO (0x04) - -#define NDR_SRVSVC_NETCHARDEVQSETINFO (0x05) - -#define NDR_SRVSVC_NETCHARDEVQPURGE (0x06) - -#define NDR_SRVSVC_NETCHARDEVQPURGESELF (0x07) - -#define NDR_SRVSVC_NETCONNENUM (0x08) - -#define NDR_SRVSVC_NETFILEENUM (0x09) - -#define NDR_SRVSVC_NETFILEGETINFO (0x0a) - -#define NDR_SRVSVC_NETFILECLOSE (0x0b) - -#define NDR_SRVSVC_NETSESSENUM (0x0c) - -#define NDR_SRVSVC_NETSESSDEL (0x0d) - -#define NDR_SRVSVC_NETSHAREADD (0x0e) - -#define NDR_SRVSVC_NETSHAREENUMALL (0x0f) - -#define NDR_SRVSVC_NETSHAREGETINFO (0x10) - -#define NDR_SRVSVC_NETSHARESETINFO (0x11) - -#define NDR_SRVSVC_NETSHAREDEL (0x12) - -#define NDR_SRVSVC_NETSHAREDELSTICKY (0x13) - -#define NDR_SRVSVC_NETSHARECHECK (0x14) - -#define NDR_SRVSVC_NETSRVGETINFO (0x15) - -#define NDR_SRVSVC_NETSRVSETINFO (0x16) - -#define NDR_SRVSVC_NETDISKENUM (0x17) - -#define NDR_SRVSVC_NETSERVERSTATISTICSGET (0x18) - -#define NDR_SRVSVC_NETTRANSPORTADD (0x19) - -#define NDR_SRVSVC_NETTRANSPORTENUM (0x1a) - -#define NDR_SRVSVC_NETTRANSPORTDEL (0x1b) - -#define NDR_SRVSVC_NETREMOTETOD (0x1c) - -#define NDR_SRVSVC_NETSETSERVICEBITS (0x1d) - -#define NDR_SRVSVC_NETPATHTYPE (0x1e) - -#define NDR_SRVSVC_NETPATHCANONICALIZE (0x1f) - -#define NDR_SRVSVC_NETPATHCOMPARE (0x20) - -#define NDR_SRVSVC_NETNAMEVALIDATE (0x21) - -#define NDR_SRVSVC_NETRPRNAMECANONICALIZE (0x22) - -#define NDR_SRVSVC_NETPRNAMECOMPARE (0x23) - -#define NDR_SRVSVC_NETSHAREENUM (0x24) - -#define NDR_SRVSVC_NETSHAREDELSTART (0x25) - -#define NDR_SRVSVC_NETSHAREDELCOMMIT (0x26) - -#define NDR_SRVSVC_NETGETFILESECURITY (0x27) - -#define NDR_SRVSVC_NETSETFILESECURITY (0x28) - -#define NDR_SRVSVC_NETSERVERTRANSPORTADDEX (0x29) - -#define NDR_SRVSVC_NETSERVERSETSERVICEBITSEX (0x2a) - -#define NDR_SRVSVC_NETRDFSGETVERSION (0x2b) - -#define NDR_SRVSVC_NETRDFSCREATELOCALPARTITION (0x2c) - -#define NDR_SRVSVC_NETRDFSDELETELOCALPARTITION (0x2d) - -#define NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE (0x2e) - -#define NDR_SRVSVC_NETRDFSSETSERVERINFO (0x2f) - -#define NDR_SRVSVC_NETRDFSCREATEEXITPOINT (0x30) - -#define NDR_SRVSVC_NETRDFSDELETEEXITPOINT (0x31) - -#define NDR_SRVSVC_NETRDFSMODIFYPREFIX (0x32) - -#define NDR_SRVSVC_NETRDFSFIXLOCALVOLUME (0x33) - -#define NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO (0x34) - -#define NDR_SRVSVC_NETRSERVERTRANSPORTDELEX (0x35) - -#define NDR_SRVSVC_CALL_COUNT (54) -void ndr_print_srvsvc_NetCharDevInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfo0 *r); -void ndr_print_srvsvc_NetCharDevCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevCtr0 *r); -void ndr_print_srvsvc_NetCharDevInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfo1 *r); -void ndr_print_srvsvc_NetCharDevCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevCtr1 *r); -void ndr_print_srvsvc_NetCharDevInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevInfo *r); -void ndr_print_srvsvc_NetCharDevCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevCtr *r); -void ndr_print_srvsvc_NetCharDevInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfoCtr *r); -void ndr_print_srvsvc_NetCharDevQInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfo0 *r); -void ndr_print_srvsvc_NetCharDevQCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQCtr0 *r); -void ndr_print_srvsvc_NetCharDevQInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfo1 *r); -void ndr_print_srvsvc_NetCharDevQCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQCtr1 *r); -void ndr_print_srvsvc_NetCharDevQInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevQInfo *r); -void ndr_print_srvsvc_NetCharDevQCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevQCtr *r); -void ndr_print_srvsvc_NetCharDevQInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfoCtr *r); -void ndr_print_srvsvc_NetConnInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfo0 *r); -void ndr_print_srvsvc_NetConnCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnCtr0 *r); -void ndr_print_srvsvc_NetConnInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfo1 *r); -void ndr_print_srvsvc_NetConnCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnCtr1 *r); -void ndr_print_srvsvc_NetConnCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetConnCtr *r); -void ndr_print_srvsvc_NetConnInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfoCtr *r); -void ndr_print_srvsvc_NetFileInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileInfo2 *r); -void ndr_print_srvsvc_NetFileCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileCtr2 *r); -void ndr_print_srvsvc_NetFileInfo3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileInfo3 *r); -void ndr_print_srvsvc_NetFileCtr3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileCtr3 *r); -void ndr_print_srvsvc_NetFileInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetFileInfo *r); -void ndr_print_srvsvc_NetFileCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetFileCtr *r); -void ndr_print_srvsvc_NetFileInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetFileInfoCtr *r); -void ndr_print_srvsvc_NetSessInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo0 *r); -void ndr_print_srvsvc_NetSessCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr0 *r); -void ndr_print_srvsvc_NetSessInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo1 *r); -void ndr_print_srvsvc_NetSessCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr1 *r); -void ndr_print_srvsvc_NetSessInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo2 *r); -void ndr_print_srvsvc_NetSessCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr2 *r); -void ndr_print_srvsvc_NetSessInfo10(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo10 *r); -void ndr_print_srvsvc_NetSessCtr10(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr10 *r); -void ndr_print_srvsvc_NetSessInfo502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfo502 *r); -void ndr_print_srvsvc_NetSessCtr502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessCtr502 *r); -void ndr_print_srvsvc_NetSessCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetSessCtr *r); -void ndr_print_srvsvc_NetSessInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSessInfoCtr *r); -void ndr_print_srvsvc_ShareType(struct ndr_print *ndr, const char *name, enum srvsvc_ShareType r); -void ndr_print_srvsvc_NetShareInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo0 *r); -void ndr_print_srvsvc_NetShareCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr0 *r); -void ndr_print_srvsvc_NetShareInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1 *r); -void ndr_print_srvsvc_NetShareCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1 *r); -void ndr_print_srvsvc_NetShareInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo2 *r); -void ndr_print_srvsvc_NetShareCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr2 *r); -void ndr_print_srvsvc_NetShareInfo501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo501 *r); -void ndr_print_srvsvc_NetShareCtr501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr501 *r); -void ndr_print_srvsvc_NetShareInfo502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo502 *r); -void ndr_print_srvsvc_NetShareCtr502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr502 *r); -void ndr_print_srvsvc_NetShareInfo1004(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1004 *r); -void ndr_print_srvsvc_NetShareCtr1004(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1004 *r); -void ndr_print_NetShareInfo1005Flags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_srvsvc_NetShareInfo1005(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1005 *r); -void ndr_print_srvsvc_NetShareCtr1005(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1005 *r); -void ndr_print_srvsvc_NetShareInfo1006(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1006 *r); -void ndr_print_srvsvc_NetShareCtr1006(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1006 *r); -void ndr_print_srvsvc_NetShareInfo1007(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfo1007 *r); -void ndr_print_srvsvc_NetShareCtr1007(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1007 *r); -void ndr_print_srvsvc_NetShareCtr1501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareCtr1501 *r); -void ndr_print_srvsvc_NetShareInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetShareInfo *r); -void ndr_print_srvsvc_NetShareCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetShareCtr *r); -void ndr_print_srvsvc_NetShareInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetShareInfoCtr *r); -enum ndr_err_code ndr_push_srvsvc_PlatformId(struct ndr_push *ndr, int ndr_flags, enum srvsvc_PlatformId r); -enum ndr_err_code ndr_pull_srvsvc_PlatformId(struct ndr_pull *ndr, int ndr_flags, enum srvsvc_PlatformId *r); -void ndr_print_srvsvc_PlatformId(struct ndr_print *ndr, const char *name, enum srvsvc_PlatformId r); -enum ndr_err_code ndr_push_srvsvc_NetSrvInfo100(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo100 *r); -enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo100(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo100 *r); -void ndr_print_srvsvc_NetSrvInfo100(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo100 *r); -enum ndr_err_code ndr_push_srvsvc_NetSrvInfo101(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetSrvInfo101 *r); -enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo101(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetSrvInfo101 *r); -void ndr_print_srvsvc_NetSrvInfo101(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo101 *r); -void ndr_print_srvsvc_NetSrvInfo102(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo102 *r); -void ndr_print_srvsvc_NetSrvInfo402(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo402 *r); -void ndr_print_srvsvc_NetSrvInfo403(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo403 *r); -void ndr_print_srvsvc_NetSrvInfo502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo502 *r); -void ndr_print_srvsvc_NetSrvInfo503(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo503 *r); -void ndr_print_srvsvc_NetSrvInfo599(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo599 *r); -void ndr_print_srvsvc_NetSrvInfo1005(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1005 *r); -void ndr_print_srvsvc_NetSrvInfo1010(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1010 *r); -void ndr_print_srvsvc_NetSrvInfo1016(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1016 *r); -void ndr_print_srvsvc_NetSrvInfo1017(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1017 *r); -void ndr_print_srvsvc_NetSrvInfo1018(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1018 *r); -void ndr_print_srvsvc_NetSrvInfo1107(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1107 *r); -void ndr_print_srvsvc_NetSrvInfo1501(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1501 *r); -void ndr_print_srvsvc_NetSrvInfo1502(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1502 *r); -void ndr_print_srvsvc_NetSrvInfo1503(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1503 *r); -void ndr_print_srvsvc_NetSrvInfo1506(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1506 *r); -void ndr_print_srvsvc_NetSrvInfo1509(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1509 *r); -void ndr_print_srvsvc_NetSrvInfo1510(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1510 *r); -void ndr_print_srvsvc_NetSrvInfo1511(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1511 *r); -void ndr_print_srvsvc_NetSrvInfo1512(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1512 *r); -void ndr_print_srvsvc_NetSrvInfo1513(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1513 *r); -void ndr_print_srvsvc_NetSrvInfo1514(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1514 *r); -void ndr_print_srvsvc_NetSrvInfo1515(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1515 *r); -void ndr_print_srvsvc_NetSrvInfo1516(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1516 *r); -void ndr_print_srvsvc_NetSrvInfo1518(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1518 *r); -void ndr_print_srvsvc_NetSrvInfo1520(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1520 *r); -void ndr_print_srvsvc_NetSrvInfo1521(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1521 *r); -void ndr_print_srvsvc_NetSrvInfo1522(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1522 *r); -void ndr_print_srvsvc_NetSrvInfo1523(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1523 *r); -void ndr_print_srvsvc_NetSrvInfo1524(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1524 *r); -void ndr_print_srvsvc_NetSrvInfo1525(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1525 *r); -void ndr_print_srvsvc_NetSrvInfo1528(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1528 *r); -void ndr_print_srvsvc_NetSrvInfo1529(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1529 *r); -void ndr_print_srvsvc_NetSrvInfo1530(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1530 *r); -void ndr_print_srvsvc_NetSrvInfo1533(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1533 *r); -void ndr_print_srvsvc_NetSrvInfo1534(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1534 *r); -void ndr_print_srvsvc_NetSrvInfo1535(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1535 *r); -void ndr_print_srvsvc_NetSrvInfo1536(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1536 *r); -void ndr_print_srvsvc_NetSrvInfo1537(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1537 *r); -void ndr_print_srvsvc_NetSrvInfo1538(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1538 *r); -void ndr_print_srvsvc_NetSrvInfo1539(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1539 *r); -void ndr_print_srvsvc_NetSrvInfo1540(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1540 *r); -void ndr_print_srvsvc_NetSrvInfo1541(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1541 *r); -void ndr_print_srvsvc_NetSrvInfo1542(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1542 *r); -void ndr_print_srvsvc_NetSrvInfo1543(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1543 *r); -void ndr_print_srvsvc_NetSrvInfo1544(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1544 *r); -void ndr_print_srvsvc_NetSrvInfo1545(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1545 *r); -void ndr_print_srvsvc_NetSrvInfo1546(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1546 *r); -void ndr_print_srvsvc_NetSrvInfo1547(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1547 *r); -void ndr_print_srvsvc_NetSrvInfo1548(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1548 *r); -void ndr_print_srvsvc_NetSrvInfo1549(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1549 *r); -void ndr_print_srvsvc_NetSrvInfo1550(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1550 *r); -void ndr_print_srvsvc_NetSrvInfo1552(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1552 *r); -void ndr_print_srvsvc_NetSrvInfo1553(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1553 *r); -void ndr_print_srvsvc_NetSrvInfo1554(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1554 *r); -void ndr_print_srvsvc_NetSrvInfo1555(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1555 *r); -void ndr_print_srvsvc_NetSrvInfo1556(struct ndr_print *ndr, const char *name, const struct srvsvc_NetSrvInfo1556 *r); -void ndr_print_srvsvc_NetSrvInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetSrvInfo *r); -void ndr_print_srvsvc_NetDiskInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetDiskInfo0 *r); -void ndr_print_srvsvc_NetDiskInfo(struct ndr_print *ndr, const char *name, const struct srvsvc_NetDiskInfo *r); -void ndr_print_srvsvc_Statistics(struct ndr_print *ndr, const char *name, const struct srvsvc_Statistics *r); -void ndr_print_srvsvc_NetTransportInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo0 *r); -void ndr_print_srvsvc_NetTransportCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr0 *r); -void ndr_print_srvsvc_NetTransportInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo1 *r); -void ndr_print_srvsvc_NetTransportCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr1 *r); -void ndr_print_srvsvc_NetTransportInfo2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo2 *r); -void ndr_print_srvsvc_NetTransportCtr2(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr2 *r); -void ndr_print_srvsvc_NetTransportInfo3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo3 *r); -void ndr_print_srvsvc_NetTransportCtr3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr3 *r); -void ndr_print_srvsvc_NetTransportCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetTransportCtr *r); -void ndr_print_srvsvc_NetTransportInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfoCtr *r); -void ndr_print_srvsvc_NetRemoteTODInfo(struct ndr_print *ndr, const char *name, const struct srvsvc_NetRemoteTODInfo *r); -void ndr_print_srvsvc_NetTransportInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetTransportInfo *r); -void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevEnum *r); -void ndr_print_srvsvc_NetCharDevGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevGetInfo *r); -void ndr_print_srvsvc_NetCharDevControl(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevControl *r); -void ndr_print_srvsvc_NetCharDevQEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQEnum *r); -void ndr_print_srvsvc_NetCharDevQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQGetInfo *r); -void ndr_print_srvsvc_NetCharDevQSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQSetInfo *r); -void ndr_print_srvsvc_NetCharDevQPurge(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQPurge *r); -void ndr_print_srvsvc_NetCharDevQPurgeSelf(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevQPurgeSelf *r); -void ndr_print_srvsvc_NetConnEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetConnEnum *r); -void ndr_print_srvsvc_NetFileEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetFileEnum *r); -void ndr_print_srvsvc_NetFileGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetFileGetInfo *r); -void ndr_print_srvsvc_NetFileClose(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetFileClose *r); -void ndr_print_srvsvc_NetSessEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSessEnum *r); -void ndr_print_srvsvc_NetSessDel(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSessDel *r); -void ndr_print_srvsvc_NetShareAdd(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareAdd *r); -void ndr_print_srvsvc_NetShareEnumAll(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareEnumAll *r); -void ndr_print_srvsvc_NetShareGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareGetInfo *r); -void ndr_print_srvsvc_NetShareSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareSetInfo *r); -void ndr_print_srvsvc_NetShareDel(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDel *r); -void ndr_print_srvsvc_NetShareDelSticky(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDelSticky *r); -void ndr_print_srvsvc_NetShareCheck(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareCheck *r); -void ndr_print_srvsvc_NetSrvGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSrvGetInfo *r); -void ndr_print_srvsvc_NetSrvSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSrvSetInfo *r); -void ndr_print_srvsvc_NetDiskEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetDiskEnum *r); -void ndr_print_srvsvc_NetServerStatisticsGet(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetServerStatisticsGet *r); -void ndr_print_srvsvc_NetTransportAdd(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetTransportAdd *r); -void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetTransportEnum *r); -void ndr_print_srvsvc_NetTransportDel(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetTransportDel *r); -void ndr_print_srvsvc_NetRemoteTOD(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetRemoteTOD *r); -void ndr_print_srvsvc_NetSetServiceBits(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSetServiceBits *r); -void ndr_print_srvsvc_NetPathType(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPathType *r); -void ndr_print_srvsvc_NetPathCanonicalize(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPathCanonicalize *r); -void ndr_print_srvsvc_NetPathCompare(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPathCompare *r); -void ndr_print_srvsvc_NetNameValidate(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetNameValidate *r); -void ndr_print_srvsvc_NETRPRNAMECANONICALIZE(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRPRNAMECANONICALIZE *r); -void ndr_print_srvsvc_NetPRNameCompare(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetPRNameCompare *r); -void ndr_print_srvsvc_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareEnum *r); -void ndr_print_srvsvc_NetShareDelStart(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDelStart *r); -void ndr_print_srvsvc_NetShareDelCommit(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetShareDelCommit *r); -void ndr_print_srvsvc_NetGetFileSecurity(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetGetFileSecurity *r); -void ndr_print_srvsvc_NetSetFileSecurity(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetSetFileSecurity *r); -void ndr_print_srvsvc_NetServerTransportAddEx(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetServerTransportAddEx *r); -void ndr_print_srvsvc_NetServerSetServiceBitsEx(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetServerSetServiceBitsEx *r); -void ndr_print_srvsvc_NETRDFSGETVERSION(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSGETVERSION *r); -void ndr_print_srvsvc_NETRDFSCREATELOCALPARTITION(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSCREATELOCALPARTITION *r); -void ndr_print_srvsvc_NETRDFSDELETELOCALPARTITION(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSDELETELOCALPARTITION *r); -void ndr_print_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r); -void ndr_print_srvsvc_NETRDFSSETSERVERINFO(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSSETSERVERINFO *r); -void ndr_print_srvsvc_NETRDFSCREATEEXITPOINT(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSCREATEEXITPOINT *r); -void ndr_print_srvsvc_NETRDFSDELETEEXITPOINT(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSDELETEEXITPOINT *r); -void ndr_print_srvsvc_NETRDFSMODIFYPREFIX(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSMODIFYPREFIX *r); -void ndr_print_srvsvc_NETRDFSFIXLOCALVOLUME(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSFIXLOCALVOLUME *r); -void ndr_print_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r); -void ndr_print_srvsvc_NETRSERVERTRANSPORTDELEX(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NETRSERVERTRANSPORTDELEX *r); -#endif /* _HEADER_NDR_srvsvc */ diff --git a/librpc/gen_ndr/ndr_svcctl.c b/librpc/gen_ndr/ndr_svcctl.c deleted file mode 100644 index a51b0eb3f22..00000000000 --- a/librpc/gen_ndr/ndr_svcctl.c +++ /dev/null @@ -1,7256 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_svcctl.h" - -#include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_security.h" -static enum ndr_err_code ndr_push_SERVICE_LOCK_STATUS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_LOCK_STATUS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_locked)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->lock_owner)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_duration)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->lock_owner) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lock_owner, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lock_owner, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lock_owner, ndr_charset_length(r->lock_owner, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_SERVICE_LOCK_STATUS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_LOCK_STATUS *r) -{ - uint32_t _ptr_lock_owner; - TALLOC_CTX *_mem_save_lock_owner_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_locked)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lock_owner)); - if (_ptr_lock_owner) { - NDR_PULL_ALLOC(ndr, r->lock_owner); - } else { - r->lock_owner = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_duration)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->lock_owner) { - _mem_save_lock_owner_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->lock_owner, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->lock_owner)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->lock_owner)); - if (ndr_get_array_length(ndr, &r->lock_owner) > ndr_get_array_size(ndr, &r->lock_owner)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lock_owner), ndr_get_array_length(ndr, &r->lock_owner)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lock_owner), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lock_owner, ndr_get_array_length(ndr, &r->lock_owner), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_owner_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SERVICE_LOCK_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_LOCK_STATUS *r) -{ - ndr_print_struct(ndr, name, "SERVICE_LOCK_STATUS"); - ndr->depth++; - ndr_print_uint32(ndr, "is_locked", r->is_locked); - ndr_print_ptr(ndr, "lock_owner", r->lock_owner); - ndr->depth++; - if (r->lock_owner) { - ndr_print_string(ndr, "lock_owner", r->lock_owner); - } - ndr->depth--; - ndr_print_uint32(ndr, "lock_duration", r->lock_duration); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ServiceStatus(struct ndr_push *ndr, int ndr_flags, enum svcctl_ServiceStatus r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ServiceStatus(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ServiceStatus *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ServiceStatus(struct ndr_print *ndr, const char *name, enum svcctl_ServiceStatus r) -{ - const char *val = NULL; - - switch (r) { - case SVCCTL_STATE_UNKNOWN: val = "SVCCTL_STATE_UNKNOWN"; break; - case SVCCTL_STOPPED: val = "SVCCTL_STOPPED"; break; - case SVCCTL_START_PENDING: val = "SVCCTL_START_PENDING"; break; - case SVCCTL_STOP_PENDING: val = "SVCCTL_STOP_PENDING"; break; - case SVCCTL_RUNNING: val = "SVCCTL_RUNNING"; break; - case SVCCTL_CONTINUE_PENDING: val = "SVCCTL_CONTINUE_PENDING"; break; - case SVCCTL_PAUSE_PENDING: val = "SVCCTL_PAUSE_PENDING"; break; - case SVCCTL_PAUSED: val = "SVCCTL_PAUSED"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_svcctl_ControlsAccepted(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ControlsAccepted(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ControlsAccepted(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_STOP", SVCCTL_ACCEPT_STOP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_PAUSE_CONTINUE", SVCCTL_ACCEPT_PAUSE_CONTINUE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_SHUTDOWN", SVCCTL_ACCEPT_SHUTDOWN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_PARAMCHANGE", SVCCTL_ACCEPT_PARAMCHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_NETBINDCHANGE", SVCCTL_ACCEPT_NETBINDCHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_HARDWAREPROFILECHANGE", SVCCTL_ACCEPT_HARDWAREPROFILECHANGE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SVCCTL_ACCEPT_POWEREVENT", SVCCTL_ACCEPT_POWEREVENT, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_SERVICE_STATUS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_svcctl_ServiceStatus(ndr, NDR_SCALARS, r->state)); - NDR_CHECK(ndr_push_svcctl_ControlsAccepted(ndr, NDR_SCALARS, r->controls_accepted)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->win32_exit_code)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->service_exit_code)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->check_point)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->wait_hint)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_SERVICE_STATUS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_STATUS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_svcctl_ServiceStatus(ndr, NDR_SCALARS, &r->state)); - NDR_CHECK(ndr_pull_svcctl_ControlsAccepted(ndr, NDR_SCALARS, &r->controls_accepted)); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->win32_exit_code)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->service_exit_code)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->check_point)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->wait_hint)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SERVICE_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS *r) -{ - ndr_print_struct(ndr, name, "SERVICE_STATUS"); - ndr->depth++; - ndr_print_uint32(ndr, "type", r->type); - ndr_print_svcctl_ServiceStatus(ndr, "state", r->state); - ndr_print_svcctl_ControlsAccepted(ndr, "controls_accepted", r->controls_accepted); - ndr_print_WERROR(ndr, "win32_exit_code", r->win32_exit_code); - ndr_print_uint32(ndr, "service_exit_code", r->service_exit_code); - ndr_print_uint32(ndr, "check_point", r->check_point); - ndr_print_uint32(ndr, "wait_hint", r->wait_hint); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_SERVICE_STATUS_PROCESS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS_PROCESS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->process_id)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->service_flags)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_SERVICE_STATUS_PROCESS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_STATUS_PROCESS *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->process_id)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->service_flags)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SERVICE_STATUS_PROCESS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS_PROCESS *r) -{ - ndr_print_struct(ndr, name, "SERVICE_STATUS_PROCESS"); - ndr->depth++; - ndr_print_SERVICE_STATUS(ndr, "status", &r->status); - ndr_print_uint32(ndr, "process_id", r->process_id); - ndr_print_uint32(ndr, "service_flags", r->service_flags); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSW(struct ndr_push *ndr, int ndr_flags, const struct ENUM_SERVICE_STATUSW *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->service_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->service_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->service_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->service_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->service_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->display_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ENUM_SERVICE_STATUSW(struct ndr_pull *ndr, int ndr_flags, struct ENUM_SERVICE_STATUSW *r) -{ - uint32_t _ptr_service_name; - TALLOC_CTX *_mem_save_service_name_0; - uint32_t _ptr_display_name; - TALLOC_CTX *_mem_save_display_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name)); - if (_ptr_service_name) { - NDR_PULL_ALLOC(ndr, r->service_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->service_name, _ptr_service_name)); - } else { - r->service_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, r->display_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->display_name, _ptr_display_name)); - } else { - r->display_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->service_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->service_name)); - _mem_save_service_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->service_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->service_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->display_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->display_name)); - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ENUM_SERVICE_STATUSW(struct ndr_print *ndr, const char *name, const struct ENUM_SERVICE_STATUSW *r) -{ - ndr_print_struct(ndr, name, "ENUM_SERVICE_STATUSW"); - ndr->depth++; - ndr_print_ptr(ndr, "service_name", r->service_name); - ndr->depth++; - if (r->service_name) { - ndr_print_string(ndr, "service_name", r->service_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name", r->display_name); - ndr->depth++; - if (r->display_name) { - ndr_print_string(ndr, "display_name", r->display_name); - } - ndr->depth--; - ndr_print_SERVICE_STATUS(ndr, "status", &r->status); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_ENUM_SERVICE_STATUSW(const struct ENUM_SERVICE_STATUSW *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_ENUM_SERVICE_STATUSW, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSA(struct ndr_push *ndr, int ndr_flags, const struct ENUM_SERVICE_STATUSA *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->service_name)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->service_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->service_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->service_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->service_name)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->display_name) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_ENUM_SERVICE_STATUSA(struct ndr_pull *ndr, int ndr_flags, struct ENUM_SERVICE_STATUSA *r) -{ - uint32_t _ptr_service_name; - TALLOC_CTX *_mem_save_service_name_0; - uint32_t _ptr_display_name; - TALLOC_CTX *_mem_save_display_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name)); - if (_ptr_service_name) { - NDR_PULL_ALLOC(ndr, r->service_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->service_name, _ptr_service_name)); - } else { - r->service_name = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, r->display_name); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->display_name, _ptr_display_name)); - } else { - r->display_name = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_SERVICE_STATUS(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->service_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->service_name)); - _mem_save_service_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->service_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->service_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); - if (r->display_name) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->display_name)); - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_ENUM_SERVICE_STATUSA(struct ndr_print *ndr, const char *name, const struct ENUM_SERVICE_STATUSA *r) -{ - ndr_print_struct(ndr, name, "ENUM_SERVICE_STATUSA"); - ndr->depth++; - ndr_print_ptr(ndr, "service_name", r->service_name); - ndr->depth++; - if (r->service_name) { - ndr_print_string(ndr, "service_name", r->service_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name", r->display_name); - ndr->depth++; - if (r->display_name) { - ndr_print_string(ndr, "display_name", r->display_name); - } - ndr->depth--; - ndr_print_SERVICE_STATUS(ndr, "status", &r->status); - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_ENUM_SERVICE_STATUSA(const struct ENUM_SERVICE_STATUSA *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_ENUM_SERVICE_STATUSA, ic); -} - -_PUBLIC_ enum ndr_err_code ndr_push_svcctl_ServerType(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_svcctl_ServerType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ServerType(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_WORKSTATION", SV_TYPE_WORKSTATION, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SERVER", SV_TYPE_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SQLSERVER", SV_TYPE_SQLSERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DOMAIN_CTRL", SV_TYPE_DOMAIN_CTRL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DOMAIN_BAKCTRL", SV_TYPE_DOMAIN_BAKCTRL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_TIME_SOURCE", SV_TYPE_TIME_SOURCE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_AFP", SV_TYPE_AFP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_NOVELL", SV_TYPE_NOVELL, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DOMAIN_MEMBER", SV_TYPE_DOMAIN_MEMBER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_PRINTQ_SERVER", SV_TYPE_PRINTQ_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DIALIN_SERVER", SV_TYPE_DIALIN_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SERVER_UNIX", SV_TYPE_SERVER_UNIX, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_NT", SV_TYPE_NT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_WFW", SV_TYPE_WFW, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SERVER_MFPN", SV_TYPE_SERVER_MFPN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SERVER_NT", SV_TYPE_SERVER_NT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_POTENTIAL_BROWSER", SV_TYPE_POTENTIAL_BROWSER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_BACKUP_BROWSER", SV_TYPE_BACKUP_BROWSER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_MASTER_BROWSER", SV_TYPE_MASTER_BROWSER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DOMAIN_MASTER", SV_TYPE_DOMAIN_MASTER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SERVER_OSF", SV_TYPE_SERVER_OSF, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_SERVER_VMS", SV_TYPE_SERVER_VMS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_WIN95_PLUS", SV_TYPE_WIN95_PLUS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DFS_SERVER", SV_TYPE_DFS_SERVER, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_ALTERNATE_XPORT", SV_TYPE_ALTERNATE_XPORT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_LOCAL_LIST_ONLY", SV_TYPE_LOCAL_LIST_ONLY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SV_TYPE_DOMAIN_ENUM", SV_TYPE_DOMAIN_ENUM, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_SERVICE_CONTROL(struct ndr_push *ndr, int ndr_flags, enum SERVICE_CONTROL r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_SERVICE_CONTROL(struct ndr_pull *ndr, int ndr_flags, enum SERVICE_CONTROL *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SERVICE_CONTROL(struct ndr_print *ndr, const char *name, enum SERVICE_CONTROL r) -{ - const char *val = NULL; - - switch (r) { - case SVCCTL_CONTROL_STOP: val = "SVCCTL_CONTROL_STOP"; break; - case SVCCTL_CONTROL_PAUSE: val = "SVCCTL_CONTROL_PAUSE"; break; - case SVCCTL_CONTROL_CONTINUE: val = "SVCCTL_CONTROL_CONTINUE"; break; - case SVCCTL_CONTROL_INTERROGATE: val = "SVCCTL_CONTROL_INTERROGATE"; break; - case SVCCTL_CONTROL_SHUTDOWN: val = "SVCCTL_CONTROL_SHUTDOWN"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_svcctl_ErrorControl(struct ndr_push *ndr, int ndr_flags, enum svcctl_ErrorControl r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ErrorControl(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ErrorControl *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ErrorControl(struct ndr_print *ndr, const char *name, enum svcctl_ErrorControl r) -{ - const char *val = NULL; - - switch (r) { - case SVCCTL_SVC_ERROR_IGNORE: val = "SVCCTL_SVC_ERROR_IGNORE"; break; - case SVCCTL_SVC_ERROR_NORMAL: val = "SVCCTL_SVC_ERROR_NORMAL"; break; - case SVCCTL_SVC_ERROR_CRITICAL: val = "SVCCTL_SVC_ERROR_CRITICAL"; break; - case SVCCTL_SVC_ERROR_SEVERE: val = "SVCCTL_SVC_ERROR_SEVERE"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_svcctl_StartType(struct ndr_push *ndr, int ndr_flags, enum svcctl_StartType r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_StartType(struct ndr_pull *ndr, int ndr_flags, enum svcctl_StartType *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_StartType(struct ndr_print *ndr, const char *name, enum svcctl_StartType r) -{ - const char *val = NULL; - - switch (r) { - case SVCCTL_BOOT_START: val = "SVCCTL_BOOT_START"; break; - case SVCCTL_SYSTEM_START: val = "SVCCTL_SYSTEM_START"; break; - case SVCCTL_AUTO_START: val = "SVCCTL_AUTO_START"; break; - case SVCCTL_DEMAND_START: val = "SVCCTL_DEMAND_START"; break; - case SVCCTL_DISABLED: val = "SVCCTL_DISABLED"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_svcctl_ServiceState(struct ndr_push *ndr, int ndr_flags, enum svcctl_ServiceState r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ServiceState(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ServiceState *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ServiceState(struct ndr_print *ndr, const char *name, enum svcctl_ServiceState r) -{ - const char *val = NULL; - - switch (r) { - case SERVICE_STATE_ACTIVE: val = "SERVICE_STATE_ACTIVE"; break; - case SERVICE_STATE_INACTIVE: val = "SERVICE_STATE_INACTIVE"; break; - case SERVICE_STATE_ALL: val = "SERVICE_STATE_ALL"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_svcctl_MgrAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_MgrAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_MgrAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_MGR_CONNECT", SC_RIGHT_MGR_CONNECT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_MGR_CREATE_SERVICE", SC_RIGHT_MGR_CREATE_SERVICE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_MGR_ENUMERATE_SERVICE", SC_RIGHT_MGR_ENUMERATE_SERVICE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_MGR_LOCK", SC_RIGHT_MGR_LOCK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_MGR_QUERY_LOCK_STATUS", SC_RIGHT_MGR_QUERY_LOCK_STATUS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_MGR_MODIFY_BOOT_CONFIG", SC_RIGHT_MGR_MODIFY_BOOT_CONFIG, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ServiceAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ServiceAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ServiceAccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_QUERY_CONFIG", SC_RIGHT_SVC_QUERY_CONFIG, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_CHANGE_CONFIG", SC_RIGHT_SVC_CHANGE_CONFIG, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_QUERY_STATUS", SC_RIGHT_SVC_QUERY_STATUS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_ENUMERATE_DEPENDENTS", SC_RIGHT_SVC_ENUMERATE_DEPENDENTS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_START", SC_RIGHT_SVC_START, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_STOP", SC_RIGHT_SVC_STOP, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_PAUSE_CONTINUE", SC_RIGHT_SVC_PAUSE_CONTINUE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_INTERROGATE", SC_RIGHT_SVC_INTERROGATE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SC_RIGHT_SVC_USER_DEFINED_CONTROL", SC_RIGHT_SVC_USER_DEFINED_CONTROL, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_QUERY_SERVICE_CONFIG(struct ndr_push *ndr, int ndr_flags, const struct QUERY_SERVICE_CONFIG *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->service_type)); - NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->start_type)); - NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->error_control)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->executablepath)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->loadordergroup)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tag_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependencies)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->startname)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->displayname)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->executablepath) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->executablepath, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->executablepath, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->executablepath, ndr_charset_length(r->executablepath, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->loadordergroup) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->loadordergroup, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->loadordergroup, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->loadordergroup, ndr_charset_length(r->loadordergroup, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->dependencies) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dependencies, ndr_charset_length(r->dependencies, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->startname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->startname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->startname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->startname, ndr_charset_length(r->startname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->displayname) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->displayname, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->displayname, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->displayname, ndr_charset_length(r->displayname, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_QUERY_SERVICE_CONFIG(struct ndr_pull *ndr, int ndr_flags, struct QUERY_SERVICE_CONFIG *r) -{ - uint32_t _ptr_executablepath; - TALLOC_CTX *_mem_save_executablepath_0; - uint32_t _ptr_loadordergroup; - TALLOC_CTX *_mem_save_loadordergroup_0; - uint32_t _ptr_dependencies; - TALLOC_CTX *_mem_save_dependencies_0; - uint32_t _ptr_startname; - TALLOC_CTX *_mem_save_startname_0; - uint32_t _ptr_displayname; - TALLOC_CTX *_mem_save_displayname_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->service_type)); - NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->start_type)); - NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->error_control)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_executablepath)); - if (_ptr_executablepath) { - NDR_PULL_ALLOC(ndr, r->executablepath); - } else { - r->executablepath = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_loadordergroup)); - if (_ptr_loadordergroup) { - NDR_PULL_ALLOC(ndr, r->loadordergroup); - } else { - r->loadordergroup = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tag_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies)); - if (_ptr_dependencies) { - NDR_PULL_ALLOC(ndr, r->dependencies); - } else { - r->dependencies = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_startname)); - if (_ptr_startname) { - NDR_PULL_ALLOC(ndr, r->startname); - } else { - r->startname = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_displayname)); - if (_ptr_displayname) { - NDR_PULL_ALLOC(ndr, r->displayname); - } else { - r->displayname = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->executablepath) { - _mem_save_executablepath_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->executablepath, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->executablepath)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->executablepath)); - if (ndr_get_array_length(ndr, &r->executablepath) > ndr_get_array_size(ndr, &r->executablepath)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->executablepath), ndr_get_array_length(ndr, &r->executablepath)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->executablepath), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->executablepath, ndr_get_array_length(ndr, &r->executablepath), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_executablepath_0, 0); - } - if (r->loadordergroup) { - _mem_save_loadordergroup_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->loadordergroup, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->loadordergroup)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->loadordergroup)); - if (ndr_get_array_length(ndr, &r->loadordergroup) > ndr_get_array_size(ndr, &r->loadordergroup)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->loadordergroup), ndr_get_array_length(ndr, &r->loadordergroup)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->loadordergroup), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->loadordergroup, ndr_get_array_length(ndr, &r->loadordergroup), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_loadordergroup_0, 0); - } - if (r->dependencies) { - _mem_save_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependencies, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->dependencies)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->dependencies)); - if (ndr_get_array_length(ndr, &r->dependencies) > ndr_get_array_size(ndr, &r->dependencies)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dependencies), ndr_get_array_length(ndr, &r->dependencies)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dependencies), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dependencies, ndr_get_array_length(ndr, &r->dependencies), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0); - } - if (r->startname) { - _mem_save_startname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->startname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->startname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->startname)); - if (ndr_get_array_length(ndr, &r->startname) > ndr_get_array_size(ndr, &r->startname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->startname), ndr_get_array_length(ndr, &r->startname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->startname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->startname, ndr_get_array_length(ndr, &r->startname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_startname_0, 0); - } - if (r->displayname) { - _mem_save_displayname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->displayname, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->displayname)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->displayname)); - if (ndr_get_array_length(ndr, &r->displayname) > ndr_get_array_size(ndr, &r->displayname)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->displayname), ndr_get_array_length(ndr, &r->displayname)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->displayname), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->displayname, ndr_get_array_length(ndr, &r->displayname), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_displayname_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_QUERY_SERVICE_CONFIG(struct ndr_print *ndr, const char *name, const struct QUERY_SERVICE_CONFIG *r) -{ - ndr_print_struct(ndr, name, "QUERY_SERVICE_CONFIG"); - ndr->depth++; - ndr_print_uint32(ndr, "service_type", r->service_type); - ndr_print_svcctl_StartType(ndr, "start_type", r->start_type); - ndr_print_svcctl_ErrorControl(ndr, "error_control", r->error_control); - ndr_print_ptr(ndr, "executablepath", r->executablepath); - ndr->depth++; - if (r->executablepath) { - ndr_print_string(ndr, "executablepath", r->executablepath); - } - ndr->depth--; - ndr_print_ptr(ndr, "loadordergroup", r->loadordergroup); - ndr->depth++; - if (r->loadordergroup) { - ndr_print_string(ndr, "loadordergroup", r->loadordergroup); - } - ndr->depth--; - ndr_print_uint32(ndr, "tag_id", r->tag_id); - ndr_print_ptr(ndr, "dependencies", r->dependencies); - ndr->depth++; - if (r->dependencies) { - ndr_print_string(ndr, "dependencies", r->dependencies); - } - ndr->depth--; - ndr_print_ptr(ndr, "startname", r->startname); - ndr->depth++; - if (r->startname) { - ndr_print_string(ndr, "startname", r->startname); - } - ndr->depth--; - ndr_print_ptr(ndr, "displayname", r->displayname); - ndr->depth++; - if (r->displayname) { - ndr_print_string(ndr, "displayname", r->displayname); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_QUERY_SERVICE_CONFIG(const struct QUERY_SERVICE_CONFIG *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_QUERY_SERVICE_CONFIG, ic); -} - -static enum ndr_err_code ndr_push_svcctl_ArgumentString(struct ndr_push *ndr, int ndr_flags, const struct svcctl_ArgumentString *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->string)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, ndr_charset_length(r->string, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ArgumentString(struct ndr_pull *ndr, int ndr_flags, struct svcctl_ArgumentString *r) -{ - uint32_t _ptr_string; - TALLOC_CTX *_mem_save_string_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string)); - if (_ptr_string) { - NDR_PULL_ALLOC(ndr, r->string); - } else { - r->string = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->string) { - _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->string, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->string)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->string)); - if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ArgumentString(struct ndr_print *ndr, const char *name, const struct svcctl_ArgumentString *r) -{ - ndr_print_struct(ndr, name, "svcctl_ArgumentString"); - ndr->depth++; - ndr_print_ptr(ndr, "string", r->string); - ndr->depth++; - if (r->string) { - ndr_print_string(ndr, "string", r->string); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ConfigLevel(struct ndr_push *ndr, int ndr_flags, enum svcctl_ConfigLevel r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ConfigLevel(struct ndr_pull *ndr, int ndr_flags, enum svcctl_ConfigLevel *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ConfigLevel(struct ndr_print *ndr, const char *name, enum svcctl_ConfigLevel r) -{ - const char *val = NULL; - - switch (r) { - case SERVICE_CONFIG_DESCRIPTION: val = "SERVICE_CONFIG_DESCRIPTION"; break; - case SERVICE_CONFIG_FAILURE_ACTIONS: val = "SERVICE_CONFIG_FAILURE_ACTIONS"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -_PUBLIC_ enum ndr_err_code ndr_push_SERVICE_DESCRIPTION(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_DESCRIPTION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->description) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description)); - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_SERVICE_DESCRIPTION(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_DESCRIPTION *r) -{ - uint32_t _ptr_description; - TALLOC_CTX *_mem_save_description_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description)); - if (_ptr_description) { - NDR_PULL_ALLOC(ndr, r->description); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->description, _ptr_description)); - } else { - r->description = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->description) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->description)); - _mem_save_description_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->description, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SERVICE_DESCRIPTION(struct ndr_print *ndr, const char *name, const struct SERVICE_DESCRIPTION *r) -{ - ndr_print_struct(ndr, name, "SERVICE_DESCRIPTION"); - ndr->depth++; - ndr_print_ptr(ndr, "description", r->description); - ndr->depth++; - if (r->description) { - ndr_print_string(ndr, "description", r->description); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_SERVICE_DESCRIPTION(const struct SERVICE_DESCRIPTION *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_SERVICE_DESCRIPTION, ic); -} - -static enum ndr_err_code ndr_push_SC_ACTION_TYPE(struct ndr_push *ndr, int ndr_flags, enum SC_ACTION_TYPE r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_SC_ACTION_TYPE(struct ndr_pull *ndr, int ndr_flags, enum SC_ACTION_TYPE *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SC_ACTION_TYPE(struct ndr_print *ndr, const char *name, enum SC_ACTION_TYPE r) -{ - const char *val = NULL; - - switch (r) { - case SC_ACTION_NONE: val = "SC_ACTION_NONE"; break; - case SC_ACTION_RESTART: val = "SC_ACTION_RESTART"; break; - case SC_ACTION_REBOOT: val = "SC_ACTION_REBOOT"; break; - case SC_ACTION_RUN_COMMAND: val = "SC_ACTION_RUN_COMMAND"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_SC_ACTION(struct ndr_push *ndr, int ndr_flags, const struct SC_ACTION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_SC_ACTION_TYPE(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->delay)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_SC_ACTION(struct ndr_pull *ndr, int ndr_flags, struct SC_ACTION *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_SC_ACTION_TYPE(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->delay)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SC_ACTION(struct ndr_print *ndr, const char *name, const struct SC_ACTION *r) -{ - ndr_print_struct(ndr, name, "SC_ACTION"); - ndr->depth++; - ndr_print_SC_ACTION_TYPE(ndr, "type", r->type); - ndr_print_uint32(ndr, "delay", r->delay); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_SERVICE_FAILURE_ACTIONS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_FAILURE_ACTIONS *r) -{ - uint32_t cntr_actions_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reset_period)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->rebootmsg)); - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->command)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_actions)); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->actions)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->rebootmsg) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->rebootmsg)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->rebootmsg)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->rebootmsg)); - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->command) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->command)); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->command)); - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->command)); - } - ndr->flags = _flags_save_string; - } - if (r->actions) { - NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->actions)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_actions)); - for (cntr_actions_1 = 0; cntr_actions_1 < r->num_actions; cntr_actions_1++) { - NDR_CHECK(ndr_push_SC_ACTION(ndr, NDR_SCALARS, &r->actions[cntr_actions_1])); - } - NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->actions)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_SERVICE_FAILURE_ACTIONS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_FAILURE_ACTIONS *r) -{ - uint32_t _ptr_rebootmsg; - TALLOC_CTX *_mem_save_rebootmsg_0; - uint32_t _ptr_command; - TALLOC_CTX *_mem_save_command_0; - uint32_t _ptr_actions; - uint32_t cntr_actions_1; - TALLOC_CTX *_mem_save_actions_0; - TALLOC_CTX *_mem_save_actions_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reset_period)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rebootmsg)); - if (_ptr_rebootmsg) { - NDR_PULL_ALLOC(ndr, r->rebootmsg); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->rebootmsg, _ptr_rebootmsg)); - } else { - r->rebootmsg = NULL; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_command)); - if (_ptr_command) { - NDR_PULL_ALLOC(ndr, r->command); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->command, _ptr_command)); - } else { - r->command = NULL; - } - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_actions)); - if (r->num_actions > 1024) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_actions)); - if (_ptr_actions) { - NDR_PULL_ALLOC(ndr, r->actions); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->actions, _ptr_actions)); - } else { - r->actions = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->rebootmsg) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->rebootmsg)); - _mem_save_rebootmsg_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->rebootmsg, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->rebootmsg)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rebootmsg_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->command) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->command)); - _mem_save_command_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->command, 0); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->command)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_command_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string; - } - if (r->actions) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->actions)); - _mem_save_actions_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->actions, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->actions)); - NDR_PULL_ALLOC_N(ndr, r->actions, ndr_get_array_size(ndr, &r->actions)); - _mem_save_actions_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->actions, 0); - for (cntr_actions_1 = 0; cntr_actions_1 < r->num_actions; cntr_actions_1++) { - NDR_CHECK(ndr_pull_SC_ACTION(ndr, NDR_SCALARS, &r->actions[cntr_actions_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_actions_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_actions_0, 0); - if (ndr->offset > ndr->relative_highest_offset) { - ndr->relative_highest_offset = ndr->offset; - } - ndr->offset = _relative_save_offset; - } - if (r->actions) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->actions, r->num_actions)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_SERVICE_FAILURE_ACTIONS(struct ndr_print *ndr, const char *name, const struct SERVICE_FAILURE_ACTIONS *r) -{ - uint32_t cntr_actions_1; - ndr_print_struct(ndr, name, "SERVICE_FAILURE_ACTIONS"); - ndr->depth++; - ndr_print_uint32(ndr, "reset_period", r->reset_period); - ndr_print_ptr(ndr, "rebootmsg", r->rebootmsg); - ndr->depth++; - if (r->rebootmsg) { - ndr_print_string(ndr, "rebootmsg", r->rebootmsg); - } - ndr->depth--; - ndr_print_ptr(ndr, "command", r->command); - ndr->depth++; - if (r->command) { - ndr_print_string(ndr, "command", r->command); - } - ndr->depth--; - ndr_print_uint32(ndr, "num_actions", r->num_actions); - ndr_print_ptr(ndr, "actions", r->actions); - ndr->depth++; - if (r->actions) { - ndr->print(ndr, "%s: ARRAY(%d)", "actions", (int)r->num_actions); - ndr->depth++; - for (cntr_actions_1=0;cntr_actions_1num_actions;cntr_actions_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_actions_1) != -1) { - ndr_print_SC_ACTION(ndr, "actions", &r->actions[cntr_actions_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ size_t ndr_size_SERVICE_FAILURE_ACTIONS(const struct SERVICE_FAILURE_ACTIONS *r, struct smb_iconv_convenience *ic, int flags) -{ - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_SERVICE_FAILURE_ACTIONS, ic); -} - -static enum ndr_err_code ndr_push_svcctl_StatusLevel(struct ndr_push *ndr, int ndr_flags, enum svcctl_StatusLevel r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_StatusLevel(struct ndr_pull *ndr, int ndr_flags, enum svcctl_StatusLevel *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_StatusLevel(struct ndr_print *ndr, const char *name, enum svcctl_StatusLevel r) -{ - const char *val = NULL; - - switch (r) { - case SVC_STATUS_PROCESS_INFO: val = "SVC_STATUS_PROCESS_INFO"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_svcctl_CloseServiceHandle(struct ndr_push *ndr, int flags, const struct svcctl_CloseServiceHandle *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_CloseServiceHandle(struct ndr_pull *ndr, int flags, struct svcctl_CloseServiceHandle *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_CloseServiceHandle(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CloseServiceHandle *r) -{ - ndr_print_struct(ndr, name, "svcctl_CloseServiceHandle"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_CloseServiceHandle"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_CloseServiceHandle"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ControlService(struct ndr_push *ndr, int flags, const struct svcctl_ControlService *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_SERVICE_CONTROL(ndr, NDR_SCALARS, r->in.control)); - } - if (flags & NDR_OUT) { - if (r->out.service_status == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_SERVICE_STATUS(ndr, NDR_SCALARS, r->out.service_status)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ControlService(struct ndr_pull *ndr, int flags, struct svcctl_ControlService *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_service_status_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_SERVICE_CONTROL(ndr, NDR_SCALARS, &r->in.control)); - NDR_PULL_ALLOC(ndr, r->out.service_status); - ZERO_STRUCTP(r->out.service_status); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.service_status); - } - _mem_save_service_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.service_status, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_SERVICE_STATUS(ndr, NDR_SCALARS, r->out.service_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_status_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ControlService(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ControlService *r) -{ - ndr_print_struct(ndr, name, "svcctl_ControlService"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_ControlService"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_SERVICE_CONTROL(ndr, "control", r->in.control); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_ControlService"); - ndr->depth++; - ndr_print_ptr(ndr, "service_status", r->out.service_status); - ndr->depth++; - ndr_print_SERVICE_STATUS(ndr, "service_status", r->out.service_status); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_DeleteService(struct ndr_push *ndr, int flags, const struct svcctl_DeleteService *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_DeleteService(struct ndr_pull *ndr, int flags, struct svcctl_DeleteService *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_DeleteService(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_DeleteService *r) -{ - ndr_print_struct(ndr, name, "svcctl_DeleteService"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_DeleteService"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_DeleteService"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_LockServiceDatabase(struct ndr_push *ndr, int flags, const struct svcctl_LockServiceDatabase *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.lock == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.lock)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_LockServiceDatabase(struct ndr_pull *ndr, int flags, struct svcctl_LockServiceDatabase *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_lock_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.lock); - ZERO_STRUCTP(r->out.lock); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.lock); - } - _mem_save_lock_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.lock, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.lock)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_LockServiceDatabase(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_LockServiceDatabase *r) -{ - ndr_print_struct(ndr, name, "svcctl_LockServiceDatabase"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_LockServiceDatabase"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_LockServiceDatabase"); - ndr->depth++; - ndr_print_ptr(ndr, "lock", r->out.lock); - ndr->depth++; - ndr_print_policy_handle(ndr, "lock", r->out.lock); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceObjectSecurity(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceObjectSecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.security_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceObjectSecurity(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceObjectSecurity *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.security_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.offered); - memset(r->out.buffer, 0, (r->in.offered) * sizeof(*r->out.buffer)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceObjectSecurity(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceObjectSecurity *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceObjectSecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceObjectSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "security_flags", r->in.security_flags); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceObjectSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_SetServiceObjectSecurity(struct ndr_push *ndr, int flags, const struct svcctl_SetServiceObjectSecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.security_flags)); - if (r->in.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_SetServiceObjectSecurity(struct ndr_pull *ndr, int flags, struct svcctl_SetServiceObjectSecurity *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.security_flags)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer))); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_SetServiceObjectSecurity(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SetServiceObjectSecurity *r) -{ - ndr_print_struct(ndr, name, "svcctl_SetServiceObjectSecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_SetServiceObjectSecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "security_flags", r->in.security_flags); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_SetServiceObjectSecurity"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceStatus(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceStatus *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.service_status == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_SERVICE_STATUS(ndr, NDR_SCALARS, r->out.service_status)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceStatus(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceStatus *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_service_status_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.service_status); - ZERO_STRUCTP(r->out.service_status); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.service_status); - } - _mem_save_service_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.service_status, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_SERVICE_STATUS(ndr, NDR_SCALARS, r->out.service_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_status_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceStatus(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceStatus *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceStatus"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceStatus"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceStatus"); - ndr->depth++; - ndr_print_ptr(ndr, "service_status", r->out.service_status); - ndr->depth++; - ndr_print_SERVICE_STATUS(ndr, "service_status", r->out.service_status); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_SetServiceStatus(struct ndr_push *ndr, int flags, const struct svcctl_SetServiceStatus *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_SetServiceStatus(struct ndr_pull *ndr, int flags, struct svcctl_SetServiceStatus *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_SetServiceStatus(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SetServiceStatus *r) -{ - ndr_print_struct(ndr, name, "svcctl_SetServiceStatus"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_SetServiceStatus"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_SetServiceStatus"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_UnlockServiceDatabase(struct ndr_push *ndr, int flags, const struct svcctl_UnlockServiceDatabase *r) -{ - if (flags & NDR_IN) { - if (r->in.lock == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.lock)); - } - if (flags & NDR_OUT) { - if (r->out.lock == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.lock)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_UnlockServiceDatabase(struct ndr_pull *ndr, int flags, struct svcctl_UnlockServiceDatabase *r) -{ - TALLOC_CTX *_mem_save_lock_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.lock); - } - _mem_save_lock_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.lock, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.lock)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.lock); - *r->out.lock = *r->in.lock; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.lock); - } - _mem_save_lock_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.lock, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.lock)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_UnlockServiceDatabase(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_UnlockServiceDatabase *r) -{ - ndr_print_struct(ndr, name, "svcctl_UnlockServiceDatabase"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_UnlockServiceDatabase"); - ndr->depth++; - ndr_print_ptr(ndr, "lock", r->in.lock); - ndr->depth++; - ndr_print_policy_handle(ndr, "lock", r->in.lock); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_UnlockServiceDatabase"); - ndr->depth++; - ndr_print_ptr(ndr, "lock", r->out.lock); - ndr->depth++; - ndr_print_policy_handle(ndr, "lock", r->out.lock); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_NotifyBootConfigStatus(struct ndr_push *ndr, int flags, const struct svcctl_NotifyBootConfigStatus *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_NotifyBootConfigStatus(struct ndr_pull *ndr, int flags, struct svcctl_NotifyBootConfigStatus *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_NotifyBootConfigStatus(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_NotifyBootConfigStatus *r) -{ - ndr_print_struct(ndr, name, "svcctl_NotifyBootConfigStatus"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_NotifyBootConfigStatus"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_NotifyBootConfigStatus"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_SCSetServiceBitsW(struct ndr_push *ndr, int flags, const struct svcctl_SCSetServiceBitsW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bits)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bitson)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.immediate)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_SCSetServiceBitsW(struct ndr_pull *ndr, int flags, struct svcctl_SCSetServiceBitsW *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bits)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bitson)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.immediate)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_SCSetServiceBitsW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SCSetServiceBitsW *r) -{ - ndr_print_struct(ndr, name, "svcctl_SCSetServiceBitsW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_SCSetServiceBitsW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "bits", r->in.bits); - ndr_print_uint32(ndr, "bitson", r->in.bitson); - ndr_print_uint32(ndr, "immediate", r->in.immediate); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_SCSetServiceBitsW"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfigW(struct ndr_push *ndr, int flags, const struct svcctl_ChangeServiceConfigW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type)); - NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.binary_path)); - if (r->in.binary_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.binary_path, ndr_charset_length(r->in.binary_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.load_order_group)); - if (r->in.load_order_group) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.load_order_group, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.load_order_group, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.load_order_group, ndr_charset_length(r->in.load_order_group, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dependencies)); - if (r->in.dependencies) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dependencies, ndr_charset_length(r->in.dependencies, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_start_name)); - if (r->in.service_start_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_start_name, ndr_charset_length(r->in.service_start_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.display_name)); - if (r->in.display_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.display_name, ndr_charset_length(r->in.display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.tag_id == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.tag_id)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigW(struct ndr_pull *ndr, int flags, struct svcctl_ChangeServiceConfigW *r) -{ - uint32_t _ptr_binary_path; - uint32_t _ptr_load_order_group; - uint32_t _ptr_dependencies; - uint32_t _ptr_service_start_name; - uint32_t _ptr_password; - uint32_t _ptr_display_name; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_binary_path_0; - TALLOC_CTX *_mem_save_load_order_group_0; - TALLOC_CTX *_mem_save_tag_id_0; - TALLOC_CTX *_mem_save_dependencies_0; - TALLOC_CTX *_mem_save_service_start_name_0; - TALLOC_CTX *_mem_save_password_0; - TALLOC_CTX *_mem_save_display_name_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type)); - NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_path)); - if (_ptr_binary_path) { - NDR_PULL_ALLOC(ndr, r->in.binary_path); - } else { - r->in.binary_path = NULL; - } - if (r->in.binary_path) { - _mem_save_binary_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.binary_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path)); - if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_path_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_load_order_group)); - if (_ptr_load_order_group) { - NDR_PULL_ALLOC(ndr, r->in.load_order_group); - } else { - r->in.load_order_group = NULL; - } - if (r->in.load_order_group) { - _mem_save_load_order_group_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.load_order_group, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.load_order_group)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.load_order_group)); - if (ndr_get_array_length(ndr, &r->in.load_order_group) > ndr_get_array_size(ndr, &r->in.load_order_group)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.load_order_group), ndr_get_array_length(ndr, &r->in.load_order_group)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.load_order_group, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_load_order_group_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies)); - if (_ptr_dependencies) { - NDR_PULL_ALLOC(ndr, r->in.dependencies); - } else { - r->in.dependencies = NULL; - } - if (r->in.dependencies) { - _mem_save_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dependencies)); - if (ndr_get_array_length(ndr, &r->in.dependencies) > ndr_get_array_size(ndr, &r->in.dependencies)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dependencies), ndr_get_array_length(ndr, &r->in.dependencies)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name)); - if (_ptr_service_start_name) { - NDR_PULL_ALLOC(ndr, r->in.service_start_name); - } else { - r->in.service_start_name = NULL; - } - if (r->in.service_start_name) { - _mem_save_service_start_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name)); - if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password)); - if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, r->in.display_name); - } else { - r->in.display_name = NULL; - } - if (r->in.display_name) { - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.display_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.display_name)); - if (ndr_get_array_length(ndr, &r->in.display_name) > ndr_get_array_size(ndr, &r->in.display_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.display_name), ndr_get_array_length(ndr, &r->in.display_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.display_name, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.tag_id); - ZERO_STRUCTP(r->out.tag_id); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.tag_id); - } - _mem_save_tag_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.tag_id, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.tag_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tag_id_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ChangeServiceConfigW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfigW *r) -{ - ndr_print_struct(ndr, name, "svcctl_ChangeServiceConfigW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_ChangeServiceConfigW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type); - ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control); - ndr_print_ptr(ndr, "binary_path", r->in.binary_path); - ndr->depth++; - if (r->in.binary_path) { - ndr_print_string(ndr, "binary_path", r->in.binary_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "load_order_group", r->in.load_order_group); - ndr->depth++; - if (r->in.load_order_group) { - ndr_print_string(ndr, "load_order_group", r->in.load_order_group); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependencies", r->in.dependencies); - ndr->depth++; - if (r->in.dependencies) { - ndr_print_string(ndr, "dependencies", r->in.dependencies); - } - ndr->depth--; - ndr_print_ptr(ndr, "service_start_name", r->in.service_start_name); - ndr->depth++; - if (r->in.service_start_name) { - ndr_print_string(ndr, "service_start_name", r->in.service_start_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_string(ndr, "password", r->in.password); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name", r->in.display_name); - ndr->depth++; - if (r->in.display_name) { - ndr_print_string(ndr, "display_name", r->in.display_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_ChangeServiceConfigW"); - ndr->depth++; - ndr_print_ptr(ndr, "tag_id", r->out.tag_id); - ndr->depth++; - ndr_print_uint32(ndr, "tag_id", *r->out.tag_id); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_CreateServiceW(struct ndr_push *ndr, int flags, const struct svcctl_CreateServiceW *r) -{ - if (flags & NDR_IN) { - if (r->in.scmanager_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.ServiceName, ndr_charset_length(r->in.ServiceName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.DisplayName)); - if (r->in.DisplayName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DisplayName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DisplayName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.DisplayName, ndr_charset_length(r->in.DisplayName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.desired_access)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type)); - NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.binary_path, ndr_charset_length(r->in.binary_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.LoadOrderGroupKey)); - if (r->in.LoadOrderGroupKey) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.LoadOrderGroupKey, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.LoadOrderGroupKey, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.LoadOrderGroupKey, ndr_charset_length(r->in.LoadOrderGroupKey, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.TagId)); - if (r->in.TagId) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.TagId)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dependencies)); - if (r->in.dependencies) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.dependencies_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.dependencies, r->in.dependencies_size)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.dependencies_size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_start_name)); - if (r->in.service_start_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_start_name, ndr_charset_length(r->in.service_start_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.password_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.password, r->in.password_size)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.password_size)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.TagId)); - if (r->out.TagId) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.TagId)); - } - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_CreateServiceW(struct ndr_pull *ndr, int flags, struct svcctl_CreateServiceW *r) -{ - uint32_t _ptr_DisplayName; - uint32_t _ptr_LoadOrderGroupKey; - uint32_t _ptr_TagId; - uint32_t _ptr_dependencies; - uint32_t _ptr_service_start_name; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_scmanager_handle_0; - TALLOC_CTX *_mem_save_DisplayName_0; - TALLOC_CTX *_mem_save_LoadOrderGroupKey_0; - TALLOC_CTX *_mem_save_TagId_0; - TALLOC_CTX *_mem_save_dependencies_0; - TALLOC_CTX *_mem_save_service_start_name_0; - TALLOC_CTX *_mem_save_password_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.scmanager_handle); - } - _mem_save_scmanager_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName)); - if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DisplayName)); - if (_ptr_DisplayName) { - NDR_PULL_ALLOC(ndr, r->in.DisplayName); - } else { - r->in.DisplayName = NULL; - } - if (r->in.DisplayName) { - _mem_save_DisplayName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.DisplayName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DisplayName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DisplayName)); - if (ndr_get_array_length(ndr, &r->in.DisplayName) > ndr_get_array_size(ndr, &r->in.DisplayName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DisplayName), ndr_get_array_length(ndr, &r->in.DisplayName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DisplayName, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DisplayName_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.desired_access)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type)); - NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path)); - if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_LoadOrderGroupKey)); - if (_ptr_LoadOrderGroupKey) { - NDR_PULL_ALLOC(ndr, r->in.LoadOrderGroupKey); - } else { - r->in.LoadOrderGroupKey = NULL; - } - if (r->in.LoadOrderGroupKey) { - _mem_save_LoadOrderGroupKey_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.LoadOrderGroupKey, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.LoadOrderGroupKey)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.LoadOrderGroupKey)); - if (ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey) > ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey), ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.LoadOrderGroupKey, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LoadOrderGroupKey_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_TagId)); - if (_ptr_TagId) { - NDR_PULL_ALLOC(ndr, r->in.TagId); - } else { - r->in.TagId = NULL; - } - if (r->in.TagId) { - _mem_save_TagId_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.TagId, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.TagId)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_TagId_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies)); - if (_ptr_dependencies) { - NDR_PULL_ALLOC(ndr, r->in.dependencies); - } else { - r->in.dependencies = NULL; - } - if (r->in.dependencies) { - _mem_save_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies)); - NDR_PULL_ALLOC_N(ndr, r->in.dependencies, ndr_get_array_size(ndr, &r->in.dependencies)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.dependencies, ndr_get_array_size(ndr, &r->in.dependencies))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.dependencies_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name)); - if (_ptr_service_start_name) { - NDR_PULL_ALLOC(ndr, r->in.service_start_name); - } else { - r->in.service_start_name = NULL; - } - if (r->in.service_start_name) { - _mem_save_service_start_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name)); - if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_PULL_ALLOC_N(ndr, r->in.password, ndr_get_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.password, ndr_get_array_size(ndr, &r->in.password))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.password_size)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - if (r->in.dependencies) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.dependencies, r->in.dependencies_size)); - } - if (r->in.password) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.password, r->in.password_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_TagId)); - if (_ptr_TagId) { - NDR_PULL_ALLOC(ndr, r->out.TagId); - } else { - r->out.TagId = NULL; - } - if (r->out.TagId) { - _mem_save_TagId_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.TagId, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.TagId)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_TagId_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_CreateServiceW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CreateServiceW *r) -{ - ndr_print_struct(ndr, name, "svcctl_CreateServiceW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_CreateServiceW"); - ndr->depth++; - ndr_print_ptr(ndr, "scmanager_handle", r->in.scmanager_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "scmanager_handle", r->in.scmanager_handle); - ndr->depth--; - ndr_print_string(ndr, "ServiceName", r->in.ServiceName); - ndr_print_ptr(ndr, "DisplayName", r->in.DisplayName); - ndr->depth++; - if (r->in.DisplayName) { - ndr_print_string(ndr, "DisplayName", r->in.DisplayName); - } - ndr->depth--; - ndr_print_uint32(ndr, "desired_access", r->in.desired_access); - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type); - ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control); - ndr_print_string(ndr, "binary_path", r->in.binary_path); - ndr_print_ptr(ndr, "LoadOrderGroupKey", r->in.LoadOrderGroupKey); - ndr->depth++; - if (r->in.LoadOrderGroupKey) { - ndr_print_string(ndr, "LoadOrderGroupKey", r->in.LoadOrderGroupKey); - } - ndr->depth--; - ndr_print_ptr(ndr, "TagId", r->in.TagId); - ndr->depth++; - if (r->in.TagId) { - ndr_print_uint32(ndr, "TagId", *r->in.TagId); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependencies", r->in.dependencies); - ndr->depth++; - if (r->in.dependencies) { - ndr_print_array_uint8(ndr, "dependencies", r->in.dependencies, r->in.dependencies_size); - } - ndr->depth--; - ndr_print_uint32(ndr, "dependencies_size", r->in.dependencies_size); - ndr_print_ptr(ndr, "service_start_name", r->in.service_start_name); - ndr->depth++; - if (r->in.service_start_name) { - ndr_print_string(ndr, "service_start_name", r->in.service_start_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_array_uint8(ndr, "password", r->in.password, r->in.password_size); - } - ndr->depth--; - ndr_print_uint32(ndr, "password_size", r->in.password_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_CreateServiceW"); - ndr->depth++; - ndr_print_ptr(ndr, "TagId", r->out.TagId); - ndr->depth++; - if (r->out.TagId) { - ndr_print_uint32(ndr, "TagId", *r->out.TagId); - } - ndr->depth--; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_EnumDependentServicesW(struct ndr_push *ndr, int flags, const struct svcctl_EnumDependentServicesW *r) -{ - if (flags & NDR_IN) { - if (r->in.service == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.service)); - NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.service_status == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.service_status, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.services_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.services_returned)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_EnumDependentServicesW(struct ndr_pull *ndr, int flags, struct svcctl_EnumDependentServicesW *r) -{ - TALLOC_CTX *_mem_save_service_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_services_returned_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.service); - } - _mem_save_service_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.service)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->out.service_status, r->in.offered); - memset(r->out.service_status, 0, (r->in.offered) * sizeof(*r->out.service_status)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.services_returned); - ZERO_STRUCTP(r->out.services_returned); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.service_status)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.service_status, ndr_get_array_size(ndr, &r->out.service_status)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service_status, ndr_get_array_size(ndr, &r->out.service_status))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.services_returned); - } - _mem_save_services_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.services_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.services_returned)); - if (*r->out.services_returned > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_services_returned_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.service_status) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.service_status, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_EnumDependentServicesW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumDependentServicesW *r) -{ - ndr_print_struct(ndr, name, "svcctl_EnumDependentServicesW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_EnumDependentServicesW"); - ndr->depth++; - ndr_print_ptr(ndr, "service", r->in.service); - ndr->depth++; - ndr_print_policy_handle(ndr, "service", r->in.service); - ndr->depth--; - ndr_print_svcctl_ServiceState(ndr, "state", r->in.state); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_EnumDependentServicesW"); - ndr->depth++; - ndr_print_ptr(ndr, "service_status", r->out.service_status); - ndr->depth++; - ndr_print_array_uint8(ndr, "service_status", r->out.service_status, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "services_returned", r->out.services_returned); - ndr->depth++; - ndr_print_uint32(ndr, "services_returned", *r->out.services_returned); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_EnumServicesStatusW(struct ndr_push *ndr, int flags, const struct svcctl_EnumServicesStatusW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.service == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.service, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.services_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.services_returned)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusW(struct ndr_pull *ndr, int flags, struct svcctl_EnumServicesStatusW *r) -{ - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_services_returned_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC_N(ndr, r->out.service, r->in.offered); - memset(r->out.service, 0, (r->in.offered) * sizeof(*r->out.service)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.services_returned); - ZERO_STRUCTP(r->out.services_returned); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.service)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.service, ndr_get_array_size(ndr, &r->out.service)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service, ndr_get_array_size(ndr, &r->out.service))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.services_returned); - } - _mem_save_services_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.services_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.services_returned)); - if (*r->out.services_returned > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_services_returned_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.service) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.service, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_EnumServicesStatusW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumServicesStatusW *r) -{ - ndr_print_struct(ndr, name, "svcctl_EnumServicesStatusW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_EnumServicesStatusW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_ServiceState(ndr, "state", r->in.state); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_EnumServicesStatusW"); - ndr->depth++; - ndr_print_ptr(ndr, "service", r->out.service); - ndr->depth++; - ndr_print_array_uint8(ndr, "service", r->out.service, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "services_returned", r->out.services_returned); - ndr->depth++; - ndr_print_uint32(ndr, "services_returned", *r->out.services_returned); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_OpenSCManagerW(struct ndr_push *ndr, int flags, const struct svcctl_OpenSCManagerW *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.MachineName)); - if (r->in.MachineName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.MachineName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.MachineName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.MachineName, ndr_charset_length(r->in.MachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.DatabaseName)); - if (r->in.DatabaseName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DatabaseName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DatabaseName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.DatabaseName, ndr_charset_length(r->in.DatabaseName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_svcctl_MgrAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerW(struct ndr_pull *ndr, int flags, struct svcctl_OpenSCManagerW *r) -{ - uint32_t _ptr_MachineName; - uint32_t _ptr_DatabaseName; - TALLOC_CTX *_mem_save_MachineName_0; - TALLOC_CTX *_mem_save_DatabaseName_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_MachineName)); - if (_ptr_MachineName) { - NDR_PULL_ALLOC(ndr, r->in.MachineName); - } else { - r->in.MachineName = NULL; - } - if (r->in.MachineName) { - _mem_save_MachineName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.MachineName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.MachineName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.MachineName)); - if (ndr_get_array_length(ndr, &r->in.MachineName) > ndr_get_array_size(ndr, &r->in.MachineName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.MachineName), ndr_get_array_length(ndr, &r->in.MachineName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.MachineName, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_MachineName_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DatabaseName)); - if (_ptr_DatabaseName) { - NDR_PULL_ALLOC(ndr, r->in.DatabaseName); - } else { - r->in.DatabaseName = NULL; - } - if (r->in.DatabaseName) { - _mem_save_DatabaseName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.DatabaseName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DatabaseName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DatabaseName)); - if (ndr_get_array_length(ndr, &r->in.DatabaseName) > ndr_get_array_size(ndr, &r->in.DatabaseName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DatabaseName), ndr_get_array_length(ndr, &r->in.DatabaseName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DatabaseName, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DatabaseName_0, 0); - } - NDR_CHECK(ndr_pull_svcctl_MgrAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_OpenSCManagerW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenSCManagerW *r) -{ - ndr_print_struct(ndr, name, "svcctl_OpenSCManagerW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_OpenSCManagerW"); - ndr->depth++; - ndr_print_ptr(ndr, "MachineName", r->in.MachineName); - ndr->depth++; - if (r->in.MachineName) { - ndr_print_string(ndr, "MachineName", r->in.MachineName); - } - ndr->depth--; - ndr_print_ptr(ndr, "DatabaseName", r->in.DatabaseName); - ndr->depth++; - if (r->in.DatabaseName) { - ndr_print_string(ndr, "DatabaseName", r->in.DatabaseName); - } - ndr->depth--; - ndr_print_svcctl_MgrAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_OpenSCManagerW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_OpenServiceW(struct ndr_push *ndr, int flags, const struct svcctl_OpenServiceW *r) -{ - if (flags & NDR_IN) { - if (r->in.scmanager_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.ServiceName, ndr_charset_length(r->in.ServiceName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_svcctl_ServiceAccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_OpenServiceW(struct ndr_pull *ndr, int flags, struct svcctl_OpenServiceW *r) -{ - TALLOC_CTX *_mem_save_scmanager_handle_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.scmanager_handle); - } - _mem_save_scmanager_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName)); - if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_svcctl_ServiceAccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_OpenServiceW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenServiceW *r) -{ - ndr_print_struct(ndr, name, "svcctl_OpenServiceW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_OpenServiceW"); - ndr->depth++; - ndr_print_ptr(ndr, "scmanager_handle", r->in.scmanager_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "scmanager_handle", r->in.scmanager_handle); - ndr->depth--; - ndr_print_string(ndr, "ServiceName", r->in.ServiceName); - ndr_print_svcctl_ServiceAccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_OpenServiceW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceConfigW(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceConfigW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.query == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_QUERY_SERVICE_CONFIG(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfigW(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfigW *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_query_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC(ndr, r->out.query); - ZERO_STRUCTP(r->out.query); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.query); - } - _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_QUERY_SERVICE_CONFIG(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceConfigW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfigW *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceConfigW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceConfigW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceConfigW"); - ndr->depth++; - ndr_print_ptr(ndr, "query", r->out.query); - ndr->depth++; - ndr_print_QUERY_SERVICE_CONFIG(ndr, "query", r->out.query); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceLockStatusW(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceLockStatusW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.lock_status == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_SERVICE_LOCK_STATUS(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock_status)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceLockStatusW(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceLockStatusW *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_lock_status_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.lock_status); - ZERO_STRUCTP(r->out.lock_status); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.lock_status); - } - _mem_save_lock_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.lock_status, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_SERVICE_LOCK_STATUS(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_status_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceLockStatusW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceLockStatusW *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceLockStatusW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceLockStatusW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceLockStatusW"); - ndr->depth++; - ndr_print_ptr(ndr, "lock_status", r->out.lock_status); - ndr->depth++; - ndr_print_SERVICE_LOCK_STATUS(ndr, "lock_status", r->out.lock_status); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_StartServiceW(struct ndr_push *ndr, int flags, const struct svcctl_StartServiceW *r) -{ - uint32_t cntr_Arguments_1; - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.NumArgs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Arguments)); - if (r->in.Arguments) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.NumArgs)); - for (cntr_Arguments_1 = 0; cntr_Arguments_1 < r->in.NumArgs; cntr_Arguments_1++) { - NDR_CHECK(ndr_push_svcctl_ArgumentString(ndr, NDR_SCALARS, &r->in.Arguments[cntr_Arguments_1])); - } - for (cntr_Arguments_1 = 0; cntr_Arguments_1 < r->in.NumArgs; cntr_Arguments_1++) { - NDR_CHECK(ndr_push_svcctl_ArgumentString(ndr, NDR_BUFFERS, &r->in.Arguments[cntr_Arguments_1])); - } - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_StartServiceW(struct ndr_pull *ndr, int flags, struct svcctl_StartServiceW *r) -{ - uint32_t _ptr_Arguments; - uint32_t cntr_Arguments_1; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_Arguments_0; - TALLOC_CTX *_mem_save_Arguments_1; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.NumArgs)); - if (r->in.NumArgs > SC_MAX_ARGUMENTS) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Arguments)); - if (_ptr_Arguments) { - NDR_PULL_ALLOC(ndr, r->in.Arguments); - } else { - r->in.Arguments = NULL; - } - if (r->in.Arguments) { - _mem_save_Arguments_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Arguments, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Arguments)); - NDR_PULL_ALLOC_N(ndr, r->in.Arguments, ndr_get_array_size(ndr, &r->in.Arguments)); - _mem_save_Arguments_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Arguments, 0); - for (cntr_Arguments_1 = 0; cntr_Arguments_1 < r->in.NumArgs; cntr_Arguments_1++) { - NDR_CHECK(ndr_pull_svcctl_ArgumentString(ndr, NDR_SCALARS, &r->in.Arguments[cntr_Arguments_1])); - } - for (cntr_Arguments_1 = 0; cntr_Arguments_1 < r->in.NumArgs; cntr_Arguments_1++) { - NDR_CHECK(ndr_pull_svcctl_ArgumentString(ndr, NDR_BUFFERS, &r->in.Arguments[cntr_Arguments_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Arguments_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Arguments_0, 0); - } - if (r->in.Arguments) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.Arguments, r->in.NumArgs)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_StartServiceW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_StartServiceW *r) -{ - uint32_t cntr_Arguments_1; - ndr_print_struct(ndr, name, "svcctl_StartServiceW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_StartServiceW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "NumArgs", r->in.NumArgs); - ndr_print_ptr(ndr, "Arguments", r->in.Arguments); - ndr->depth++; - if (r->in.Arguments) { - ndr->print(ndr, "%s: ARRAY(%d)", "Arguments", (int)r->in.NumArgs); - ndr->depth++; - for (cntr_Arguments_1=0;cntr_Arguments_1in.NumArgs;cntr_Arguments_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_Arguments_1) != -1) { - ndr_print_svcctl_ArgumentString(ndr, "Arguments", &r->in.Arguments[cntr_Arguments_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_StartServiceW"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_GetServiceDisplayNameW(struct ndr_push *ndr, int flags, const struct svcctl_GetServiceDisplayNameW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name)); - if (r->in.service_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_name, ndr_charset_length(r->in.service_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.display_name_length)); - if (r->in.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.display_name_length)); - } - } - if (flags & NDR_OUT) { - if (r->out.display_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.display_name)); - if (*r->out.display_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.display_name, ndr_charset_length(*r->out.display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.display_name_length)); - if (r->out.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.display_name_length)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameW(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceDisplayNameW *r) -{ - uint32_t _ptr_service_name; - uint32_t _ptr_display_name; - uint32_t _ptr_display_name_length; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_service_name_0; - TALLOC_CTX *_mem_save_display_name_0; - TALLOC_CTX *_mem_save_display_name_1; - TALLOC_CTX *_mem_save_display_name_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name)); - if (_ptr_service_name) { - NDR_PULL_ALLOC(ndr, r->in.service_name); - } else { - r->in.service_name = NULL; - } - if (r->in.service_name) { - _mem_save_service_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name)); - if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->in.display_name_length); - } else { - r->in.display_name_length = NULL; - } - if (r->in.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.display_name); - ZERO_STRUCTP(r->out.display_name); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.display_name); - } - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.display_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, *r->out.display_name); - } else { - *r->out.display_name = NULL; - } - if (*r->out.display_name) { - _mem_save_display_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.display_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.display_name)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.display_name)); - if (ndr_get_array_length(ndr, r->out.display_name) > ndr_get_array_size(ndr, r->out.display_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.display_name), ndr_get_array_length(ndr, r->out.display_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.display_name, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->out.display_name_length); - } else { - r->out.display_name_length = NULL; - } - if (r->out.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_GetServiceDisplayNameW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceDisplayNameW *r) -{ - ndr_print_struct(ndr, name, "svcctl_GetServiceDisplayNameW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_GetServiceDisplayNameW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "service_name", r->in.service_name); - ndr->depth++; - if (r->in.service_name) { - ndr_print_string(ndr, "service_name", r->in.service_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->in.display_name_length); - ndr->depth++; - if (r->in.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->in.display_name_length); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_GetServiceDisplayNameW"); - ndr->depth++; - ndr_print_ptr(ndr, "display_name", r->out.display_name); - ndr->depth++; - ndr_print_ptr(ndr, "display_name", *r->out.display_name); - ndr->depth++; - if (*r->out.display_name) { - ndr_print_string(ndr, "display_name", *r->out.display_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->out.display_name_length); - ndr->depth++; - if (r->out.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->out.display_name_length); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_GetServiceKeyNameW(struct ndr_push *ndr, int flags, const struct svcctl_GetServiceKeyNameW *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name)); - if (r->in.service_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_name, ndr_charset_length(r->in.service_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.display_name_length)); - if (r->in.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.display_name_length)); - } - } - if (flags & NDR_OUT) { - if (r->out.key_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.key_name)); - if (*r->out.key_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.key_name, ndr_charset_length(*r->out.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.display_name_length)); - if (r->out.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.display_name_length)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameW(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceKeyNameW *r) -{ - uint32_t _ptr_service_name; - uint32_t _ptr_key_name; - uint32_t _ptr_display_name_length; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_service_name_0; - TALLOC_CTX *_mem_save_key_name_0; - TALLOC_CTX *_mem_save_key_name_1; - TALLOC_CTX *_mem_save_display_name_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name)); - if (_ptr_service_name) { - NDR_PULL_ALLOC(ndr, r->in.service_name); - } else { - r->in.service_name = NULL; - } - if (r->in.service_name) { - _mem_save_service_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name)); - if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->in.display_name_length); - } else { - r->in.display_name_length = NULL; - } - if (r->in.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.key_name); - ZERO_STRUCTP(r->out.key_name); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.key_name); - } - _mem_save_key_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.key_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_key_name)); - if (_ptr_key_name) { - NDR_PULL_ALLOC(ndr, *r->out.key_name); - } else { - *r->out.key_name = NULL; - } - if (*r->out.key_name) { - _mem_save_key_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.key_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.key_name)); - if (ndr_get_array_length(ndr, r->out.key_name) > ndr_get_array_size(ndr, r->out.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.key_name), ndr_get_array_length(ndr, r->out.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.key_name, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->out.display_name_length); - } else { - r->out.display_name_length = NULL; - } - if (r->out.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_GetServiceKeyNameW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceKeyNameW *r) -{ - ndr_print_struct(ndr, name, "svcctl_GetServiceKeyNameW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_GetServiceKeyNameW"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "service_name", r->in.service_name); - ndr->depth++; - if (r->in.service_name) { - ndr_print_string(ndr, "service_name", r->in.service_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->in.display_name_length); - ndr->depth++; - if (r->in.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->in.display_name_length); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_GetServiceKeyNameW"); - ndr->depth++; - ndr_print_ptr(ndr, "key_name", r->out.key_name); - ndr->depth++; - ndr_print_ptr(ndr, "key_name", *r->out.key_name); - ndr->depth++; - if (*r->out.key_name) { - ndr_print_string(ndr, "key_name", *r->out.key_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->out.display_name_length); - ndr->depth++; - if (r->out.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->out.display_name_length); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_SCSetServiceBitsA(struct ndr_push *ndr, int flags, const struct svcctl_SCSetServiceBitsA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bits)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.bitson)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.immediate)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_SCSetServiceBitsA(struct ndr_pull *ndr, int flags, struct svcctl_SCSetServiceBitsA *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bits)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bitson)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.immediate)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_SCSetServiceBitsA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SCSetServiceBitsA *r) -{ - ndr_print_struct(ndr, name, "svcctl_SCSetServiceBitsA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_SCSetServiceBitsA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "bits", r->in.bits); - ndr_print_uint32(ndr, "bitson", r->in.bitson); - ndr_print_uint32(ndr, "immediate", r->in.immediate); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_SCSetServiceBitsA"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfigA(struct ndr_push *ndr, int flags, const struct svcctl_ChangeServiceConfigA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type)); - NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.binary_path)); - if (r->in.binary_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.binary_path, ndr_charset_length(r->in.binary_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.load_order_group)); - if (r->in.load_order_group) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.load_order_group, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.load_order_group, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.load_order_group, ndr_charset_length(r->in.load_order_group, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dependencies)); - if (r->in.dependencies) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dependencies, ndr_charset_length(r->in.dependencies, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_start_name)); - if (r->in.service_start_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_start_name, ndr_charset_length(r->in.service_start_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.display_name)); - if (r->in.display_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.display_name, ndr_charset_length(r->in.display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.tag_id == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.tag_id)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfigA(struct ndr_pull *ndr, int flags, struct svcctl_ChangeServiceConfigA *r) -{ - uint32_t _ptr_binary_path; - uint32_t _ptr_load_order_group; - uint32_t _ptr_dependencies; - uint32_t _ptr_service_start_name; - uint32_t _ptr_password; - uint32_t _ptr_display_name; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_binary_path_0; - TALLOC_CTX *_mem_save_load_order_group_0; - TALLOC_CTX *_mem_save_tag_id_0; - TALLOC_CTX *_mem_save_dependencies_0; - TALLOC_CTX *_mem_save_service_start_name_0; - TALLOC_CTX *_mem_save_password_0; - TALLOC_CTX *_mem_save_display_name_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type)); - NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_path)); - if (_ptr_binary_path) { - NDR_PULL_ALLOC(ndr, r->in.binary_path); - } else { - r->in.binary_path = NULL; - } - if (r->in.binary_path) { - _mem_save_binary_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.binary_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path)); - if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_path_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_load_order_group)); - if (_ptr_load_order_group) { - NDR_PULL_ALLOC(ndr, r->in.load_order_group); - } else { - r->in.load_order_group = NULL; - } - if (r->in.load_order_group) { - _mem_save_load_order_group_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.load_order_group, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.load_order_group)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.load_order_group)); - if (ndr_get_array_length(ndr, &r->in.load_order_group) > ndr_get_array_size(ndr, &r->in.load_order_group)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.load_order_group), ndr_get_array_length(ndr, &r->in.load_order_group)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.load_order_group, ndr_get_array_length(ndr, &r->in.load_order_group), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_load_order_group_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies)); - if (_ptr_dependencies) { - NDR_PULL_ALLOC(ndr, r->in.dependencies); - } else { - r->in.dependencies = NULL; - } - if (r->in.dependencies) { - _mem_save_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dependencies)); - if (ndr_get_array_length(ndr, &r->in.dependencies) > ndr_get_array_size(ndr, &r->in.dependencies)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dependencies), ndr_get_array_length(ndr, &r->in.dependencies)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name)); - if (_ptr_service_start_name) { - NDR_PULL_ALLOC(ndr, r->in.service_start_name); - } else { - r->in.service_start_name = NULL; - } - if (r->in.service_start_name) { - _mem_save_service_start_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name)); - if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password)); - if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, r->in.display_name); - } else { - r->in.display_name = NULL; - } - if (r->in.display_name) { - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.display_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.display_name)); - if (ndr_get_array_length(ndr, &r->in.display_name) > ndr_get_array_size(ndr, &r->in.display_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.display_name), ndr_get_array_length(ndr, &r->in.display_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.display_name, ndr_get_array_length(ndr, &r->in.display_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.tag_id); - ZERO_STRUCTP(r->out.tag_id); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.tag_id); - } - _mem_save_tag_id_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.tag_id, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.tag_id)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tag_id_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ChangeServiceConfigA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfigA *r) -{ - ndr_print_struct(ndr, name, "svcctl_ChangeServiceConfigA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_ChangeServiceConfigA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type); - ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control); - ndr_print_ptr(ndr, "binary_path", r->in.binary_path); - ndr->depth++; - if (r->in.binary_path) { - ndr_print_string(ndr, "binary_path", r->in.binary_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "load_order_group", r->in.load_order_group); - ndr->depth++; - if (r->in.load_order_group) { - ndr_print_string(ndr, "load_order_group", r->in.load_order_group); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependencies", r->in.dependencies); - ndr->depth++; - if (r->in.dependencies) { - ndr_print_string(ndr, "dependencies", r->in.dependencies); - } - ndr->depth--; - ndr_print_ptr(ndr, "service_start_name", r->in.service_start_name); - ndr->depth++; - if (r->in.service_start_name) { - ndr_print_string(ndr, "service_start_name", r->in.service_start_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_string(ndr, "password", r->in.password); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name", r->in.display_name); - ndr->depth++; - if (r->in.display_name) { - ndr_print_string(ndr, "display_name", r->in.display_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_ChangeServiceConfigA"); - ndr->depth++; - ndr_print_ptr(ndr, "tag_id", r->out.tag_id); - ndr->depth++; - ndr_print_uint32(ndr, "tag_id", *r->out.tag_id); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_CreateServiceA(struct ndr_push *ndr, int flags, const struct svcctl_CreateServiceA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ServiceName)); - if (r->in.ServiceName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.ServiceName, ndr_charset_length(r->in.ServiceName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.DisplayName)); - if (r->in.DisplayName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DisplayName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DisplayName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.DisplayName, ndr_charset_length(r->in.DisplayName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.desired_access)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_StartType(ndr, NDR_SCALARS, r->in.start_type)); - NDR_CHECK(ndr_push_svcctl_ErrorControl(ndr, NDR_SCALARS, r->in.error_control)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.binary_path)); - if (r->in.binary_path) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.binary_path, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.binary_path, ndr_charset_length(r->in.binary_path, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.LoadOrderGroupKey)); - if (r->in.LoadOrderGroupKey) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.LoadOrderGroupKey, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.LoadOrderGroupKey, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.LoadOrderGroupKey, ndr_charset_length(r->in.LoadOrderGroupKey, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dependencies)); - if (r->in.dependencies) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dependencies, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dependencies, ndr_charset_length(r->in.dependencies, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_start_name)); - if (r->in.service_start_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_start_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_start_name, ndr_charset_length(r->in.service_start_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.TagId)); - if (r->out.TagId) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.TagId)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_CreateServiceA(struct ndr_pull *ndr, int flags, struct svcctl_CreateServiceA *r) -{ - uint32_t _ptr_ServiceName; - uint32_t _ptr_DisplayName; - uint32_t _ptr_binary_path; - uint32_t _ptr_LoadOrderGroupKey; - uint32_t _ptr_TagId; - uint32_t _ptr_dependencies; - uint32_t _ptr_service_start_name; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_ServiceName_0; - TALLOC_CTX *_mem_save_DisplayName_0; - TALLOC_CTX *_mem_save_binary_path_0; - TALLOC_CTX *_mem_save_LoadOrderGroupKey_0; - TALLOC_CTX *_mem_save_TagId_0; - TALLOC_CTX *_mem_save_dependencies_0; - TALLOC_CTX *_mem_save_service_start_name_0; - TALLOC_CTX *_mem_save_password_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ServiceName)); - if (_ptr_ServiceName) { - NDR_PULL_ALLOC(ndr, r->in.ServiceName); - } else { - r->in.ServiceName = NULL; - } - if (r->in.ServiceName) { - _mem_save_ServiceName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.ServiceName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName)); - if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ServiceName_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DisplayName)); - if (_ptr_DisplayName) { - NDR_PULL_ALLOC(ndr, r->in.DisplayName); - } else { - r->in.DisplayName = NULL; - } - if (r->in.DisplayName) { - _mem_save_DisplayName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.DisplayName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DisplayName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DisplayName)); - if (ndr_get_array_length(ndr, &r->in.DisplayName) > ndr_get_array_size(ndr, &r->in.DisplayName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DisplayName), ndr_get_array_length(ndr, &r->in.DisplayName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DisplayName, ndr_get_array_length(ndr, &r->in.DisplayName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DisplayName_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.desired_access)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_StartType(ndr, NDR_SCALARS, &r->in.start_type)); - NDR_CHECK(ndr_pull_svcctl_ErrorControl(ndr, NDR_SCALARS, &r->in.error_control)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_binary_path)); - if (_ptr_binary_path) { - NDR_PULL_ALLOC(ndr, r->in.binary_path); - } else { - r->in.binary_path = NULL; - } - if (r->in.binary_path) { - _mem_save_binary_path_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.binary_path, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.binary_path)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.binary_path)); - if (ndr_get_array_length(ndr, &r->in.binary_path) > ndr_get_array_size(ndr, &r->in.binary_path)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.binary_path), ndr_get_array_length(ndr, &r->in.binary_path)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.binary_path, ndr_get_array_length(ndr, &r->in.binary_path), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_binary_path_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_LoadOrderGroupKey)); - if (_ptr_LoadOrderGroupKey) { - NDR_PULL_ALLOC(ndr, r->in.LoadOrderGroupKey); - } else { - r->in.LoadOrderGroupKey = NULL; - } - if (r->in.LoadOrderGroupKey) { - _mem_save_LoadOrderGroupKey_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.LoadOrderGroupKey, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.LoadOrderGroupKey)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.LoadOrderGroupKey)); - if (ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey) > ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.LoadOrderGroupKey), ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.LoadOrderGroupKey, ndr_get_array_length(ndr, &r->in.LoadOrderGroupKey), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_LoadOrderGroupKey_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependencies)); - if (_ptr_dependencies) { - NDR_PULL_ALLOC(ndr, r->in.dependencies); - } else { - r->in.dependencies = NULL; - } - if (r->in.dependencies) { - _mem_save_dependencies_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.dependencies, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dependencies)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dependencies)); - if (ndr_get_array_length(ndr, &r->in.dependencies) > ndr_get_array_size(ndr, &r->in.dependencies)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dependencies), ndr_get_array_length(ndr, &r->in.dependencies)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dependencies, ndr_get_array_length(ndr, &r->in.dependencies), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependencies_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_start_name)); - if (_ptr_service_start_name) { - NDR_PULL_ALLOC(ndr, r->in.service_start_name); - } else { - r->in.service_start_name = NULL; - } - if (r->in.service_start_name) { - _mem_save_service_start_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_start_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_start_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_start_name)); - if (ndr_get_array_length(ndr, &r->in.service_start_name) > ndr_get_array_size(ndr, &r->in.service_start_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_start_name), ndr_get_array_length(ndr, &r->in.service_start_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_start_name, ndr_get_array_length(ndr, &r->in.service_start_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_start_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password)); - if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_TagId)); - if (_ptr_TagId) { - NDR_PULL_ALLOC(ndr, r->out.TagId); - } else { - r->out.TagId = NULL; - } - if (r->out.TagId) { - _mem_save_TagId_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.TagId, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.TagId)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_TagId_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_CreateServiceA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CreateServiceA *r) -{ - ndr_print_struct(ndr, name, "svcctl_CreateServiceA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_CreateServiceA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "ServiceName", r->in.ServiceName); - ndr->depth++; - if (r->in.ServiceName) { - ndr_print_string(ndr, "ServiceName", r->in.ServiceName); - } - ndr->depth--; - ndr_print_ptr(ndr, "DisplayName", r->in.DisplayName); - ndr->depth++; - if (r->in.DisplayName) { - ndr_print_string(ndr, "DisplayName", r->in.DisplayName); - } - ndr->depth--; - ndr_print_uint32(ndr, "desired_access", r->in.desired_access); - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_StartType(ndr, "start_type", r->in.start_type); - ndr_print_svcctl_ErrorControl(ndr, "error_control", r->in.error_control); - ndr_print_ptr(ndr, "binary_path", r->in.binary_path); - ndr->depth++; - if (r->in.binary_path) { - ndr_print_string(ndr, "binary_path", r->in.binary_path); - } - ndr->depth--; - ndr_print_ptr(ndr, "LoadOrderGroupKey", r->in.LoadOrderGroupKey); - ndr->depth++; - if (r->in.LoadOrderGroupKey) { - ndr_print_string(ndr, "LoadOrderGroupKey", r->in.LoadOrderGroupKey); - } - ndr->depth--; - ndr_print_ptr(ndr, "dependencies", r->in.dependencies); - ndr->depth++; - if (r->in.dependencies) { - ndr_print_string(ndr, "dependencies", r->in.dependencies); - } - ndr->depth--; - ndr_print_ptr(ndr, "service_start_name", r->in.service_start_name); - ndr->depth++; - if (r->in.service_start_name) { - ndr_print_string(ndr, "service_start_name", r->in.service_start_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_string(ndr, "password", r->in.password); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_CreateServiceA"); - ndr->depth++; - ndr_print_ptr(ndr, "TagId", r->out.TagId); - ndr->depth++; - if (r->out.TagId) { - ndr_print_uint32(ndr, "TagId", *r->out.TagId); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_EnumDependentServicesA(struct ndr_push *ndr, int flags, const struct svcctl_EnumDependentServicesA *r) -{ - if (flags & NDR_IN) { - if (r->in.service == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.service)); - NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.service_status)); - if (r->out.service_status) { - NDR_CHECK(ndr_push_ENUM_SERVICE_STATUSA(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.service_status)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.services_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.services_returned)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_EnumDependentServicesA(struct ndr_pull *ndr, int flags, struct svcctl_EnumDependentServicesA *r) -{ - uint32_t _ptr_service_status; - TALLOC_CTX *_mem_save_service_0; - TALLOC_CTX *_mem_save_service_status_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_services_returned_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.service); - } - _mem_save_service_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.service)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.services_returned); - ZERO_STRUCTP(r->out.services_returned); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_status)); - if (_ptr_service_status) { - NDR_PULL_ALLOC(ndr, r->out.service_status); - } else { - r->out.service_status = NULL; - } - if (r->out.service_status) { - _mem_save_service_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.service_status, 0); - NDR_CHECK(ndr_pull_ENUM_SERVICE_STATUSA(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.service_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_status_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.services_returned); - } - _mem_save_services_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.services_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.services_returned)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_services_returned_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_EnumDependentServicesA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumDependentServicesA *r) -{ - ndr_print_struct(ndr, name, "svcctl_EnumDependentServicesA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_EnumDependentServicesA"); - ndr->depth++; - ndr_print_ptr(ndr, "service", r->in.service); - ndr->depth++; - ndr_print_policy_handle(ndr, "service", r->in.service); - ndr->depth--; - ndr_print_svcctl_ServiceState(ndr, "state", r->in.state); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_EnumDependentServicesA"); - ndr->depth++; - ndr_print_ptr(ndr, "service_status", r->out.service_status); - ndr->depth++; - if (r->out.service_status) { - ndr_print_ENUM_SERVICE_STATUSA(ndr, "service_status", r->out.service_status); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "services_returned", r->out.services_returned); - ndr->depth++; - ndr_print_uint32(ndr, "services_returned", *r->out.services_returned); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_EnumServicesStatusA(struct ndr_push *ndr, int flags, const struct svcctl_EnumServicesStatusA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.service, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.services_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.services_returned)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_EnumServicesStatusA(struct ndr_pull *ndr, int flags, struct svcctl_EnumServicesStatusA *r) -{ - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_services_returned_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.services_returned); - ZERO_STRUCTP(r->out.services_returned); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.service)); - NDR_PULL_ALLOC_N(ndr, r->out.service, ndr_get_array_size(ndr, &r->out.service)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.service, ndr_get_array_size(ndr, &r->out.service))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.services_returned); - } - _mem_save_services_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.services_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.services_returned)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_services_returned_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.service) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.service, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_EnumServicesStatusA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumServicesStatusA *r) -{ - ndr_print_struct(ndr, name, "svcctl_EnumServicesStatusA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_EnumServicesStatusA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_ServiceState(ndr, "state", r->in.state); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_EnumServicesStatusA"); - ndr->depth++; - ndr_print_array_uint8(ndr, "service", r->out.service, r->in.offered); - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "services_returned", r->out.services_returned); - ndr->depth++; - ndr_print_uint32(ndr, "services_returned", *r->out.services_returned); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_OpenSCManagerA(struct ndr_push *ndr, int flags, const struct svcctl_OpenSCManagerA *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.MachineName)); - if (r->in.MachineName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.MachineName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.MachineName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.MachineName, ndr_charset_length(r->in.MachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.DatabaseName)); - if (r->in.DatabaseName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DatabaseName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.DatabaseName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.DatabaseName, ndr_charset_length(r->in.DatabaseName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_OpenSCManagerA(struct ndr_pull *ndr, int flags, struct svcctl_OpenSCManagerA *r) -{ - uint32_t _ptr_MachineName; - uint32_t _ptr_DatabaseName; - TALLOC_CTX *_mem_save_MachineName_0; - TALLOC_CTX *_mem_save_DatabaseName_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_MachineName)); - if (_ptr_MachineName) { - NDR_PULL_ALLOC(ndr, r->in.MachineName); - } else { - r->in.MachineName = NULL; - } - if (r->in.MachineName) { - _mem_save_MachineName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.MachineName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.MachineName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.MachineName)); - if (ndr_get_array_length(ndr, &r->in.MachineName) > ndr_get_array_size(ndr, &r->in.MachineName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.MachineName), ndr_get_array_length(ndr, &r->in.MachineName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.MachineName, ndr_get_array_length(ndr, &r->in.MachineName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_MachineName_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_DatabaseName)); - if (_ptr_DatabaseName) { - NDR_PULL_ALLOC(ndr, r->in.DatabaseName); - } else { - r->in.DatabaseName = NULL; - } - if (r->in.DatabaseName) { - _mem_save_DatabaseName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.DatabaseName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.DatabaseName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.DatabaseName)); - if (ndr_get_array_length(ndr, &r->in.DatabaseName) > ndr_get_array_size(ndr, &r->in.DatabaseName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.DatabaseName), ndr_get_array_length(ndr, &r->in.DatabaseName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.DatabaseName, ndr_get_array_length(ndr, &r->in.DatabaseName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DatabaseName_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_OpenSCManagerA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenSCManagerA *r) -{ - ndr_print_struct(ndr, name, "svcctl_OpenSCManagerA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_OpenSCManagerA"); - ndr->depth++; - ndr_print_ptr(ndr, "MachineName", r->in.MachineName); - ndr->depth++; - if (r->in.MachineName) { - ndr_print_string(ndr, "MachineName", r->in.MachineName); - } - ndr->depth--; - ndr_print_ptr(ndr, "DatabaseName", r->in.DatabaseName); - ndr->depth++; - if (r->in.DatabaseName) { - ndr_print_string(ndr, "DatabaseName", r->in.DatabaseName); - } - ndr->depth--; - ndr_print_uint32(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_OpenSCManagerA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_OpenServiceA(struct ndr_push *ndr, int flags, const struct svcctl_OpenServiceA *r) -{ - if (flags & NDR_IN) { - if (r->in.scmanager_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.ServiceName)); - if (r->in.ServiceName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.ServiceName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.ServiceName, ndr_charset_length(r->in.ServiceName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_OpenServiceA(struct ndr_pull *ndr, int flags, struct svcctl_OpenServiceA *r) -{ - uint32_t _ptr_ServiceName; - TALLOC_CTX *_mem_save_scmanager_handle_0; - TALLOC_CTX *_mem_save_ServiceName_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.scmanager_handle); - } - _mem_save_scmanager_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ServiceName)); - if (_ptr_ServiceName) { - NDR_PULL_ALLOC(ndr, r->in.ServiceName); - } else { - r->in.ServiceName = NULL; - } - if (r->in.ServiceName) { - _mem_save_ServiceName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.ServiceName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.ServiceName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.ServiceName)); - if (ndr_get_array_length(ndr, &r->in.ServiceName) > ndr_get_array_size(ndr, &r->in.ServiceName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.ServiceName), ndr_get_array_length(ndr, &r->in.ServiceName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.ServiceName, ndr_get_array_length(ndr, &r->in.ServiceName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ServiceName_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_OpenServiceA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenServiceA *r) -{ - ndr_print_struct(ndr, name, "svcctl_OpenServiceA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_OpenServiceA"); - ndr->depth++; - ndr_print_ptr(ndr, "scmanager_handle", r->in.scmanager_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "scmanager_handle", r->in.scmanager_handle); - ndr->depth--; - ndr_print_ptr(ndr, "ServiceName", r->in.ServiceName); - ndr->depth++; - if (r->in.ServiceName) { - ndr_print_string(ndr, "ServiceName", r->in.ServiceName); - } - ndr->depth--; - ndr_print_uint32(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_OpenServiceA"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceConfigA(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceConfigA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.query, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfigA(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfigA *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.query, r->in.offered); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.query, r->in.offered)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceConfigA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfigA *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceConfigA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceConfigA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceConfigA"); - ndr->depth++; - ndr_print_array_uint8(ndr, "query", r->out.query, r->in.offered); - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceLockStatusA(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceLockStatusA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.lock_status == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_SERVICE_LOCK_STATUS(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock_status)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceLockStatusA(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceLockStatusA *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_lock_status_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.lock_status); - ZERO_STRUCTP(r->out.lock_status); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.lock_status); - } - _mem_save_lock_status_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.lock_status, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_SERVICE_LOCK_STATUS(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.lock_status)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lock_status_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceLockStatusA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceLockStatusA *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceLockStatusA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceLockStatusA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceLockStatusA"); - ndr->depth++; - ndr_print_ptr(ndr, "lock_status", r->out.lock_status); - ndr->depth++; - ndr_print_SERVICE_LOCK_STATUS(ndr, "lock_status", r->out.lock_status); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_StartServiceA(struct ndr_push *ndr, int flags, const struct svcctl_StartServiceA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.NumArgs)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Arguments)); - if (r->in.Arguments) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Arguments, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Arguments, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Arguments, ndr_charset_length(r->in.Arguments, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_StartServiceA(struct ndr_pull *ndr, int flags, struct svcctl_StartServiceA *r) -{ - uint32_t _ptr_Arguments; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_Arguments_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.NumArgs)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Arguments)); - if (_ptr_Arguments) { - NDR_PULL_ALLOC(ndr, r->in.Arguments); - } else { - r->in.Arguments = NULL; - } - if (r->in.Arguments) { - _mem_save_Arguments_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Arguments, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Arguments)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Arguments)); - if (ndr_get_array_length(ndr, &r->in.Arguments) > ndr_get_array_size(ndr, &r->in.Arguments)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Arguments), ndr_get_array_length(ndr, &r->in.Arguments)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Arguments), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Arguments, ndr_get_array_length(ndr, &r->in.Arguments), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Arguments_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_StartServiceA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_StartServiceA *r) -{ - ndr_print_struct(ndr, name, "svcctl_StartServiceA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_StartServiceA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "NumArgs", r->in.NumArgs); - ndr_print_ptr(ndr, "Arguments", r->in.Arguments); - ndr->depth++; - if (r->in.Arguments) { - ndr_print_string(ndr, "Arguments", r->in.Arguments); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_StartServiceA"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_GetServiceDisplayNameA(struct ndr_push *ndr, int flags, const struct svcctl_GetServiceDisplayNameA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name)); - if (r->in.service_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_name, ndr_charset_length(r->in.service_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.display_name_length)); - if (r->in.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.display_name_length)); - } - } - if (flags & NDR_OUT) { - if (r->out.display_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.display_name)); - if (*r->out.display_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.display_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.display_name, ndr_charset_length(*r->out.display_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.display_name_length)); - if (r->out.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.display_name_length)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_GetServiceDisplayNameA(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceDisplayNameA *r) -{ - uint32_t _ptr_service_name; - uint32_t _ptr_display_name; - uint32_t _ptr_display_name_length; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_service_name_0; - TALLOC_CTX *_mem_save_display_name_0; - TALLOC_CTX *_mem_save_display_name_1; - TALLOC_CTX *_mem_save_display_name_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name)); - if (_ptr_service_name) { - NDR_PULL_ALLOC(ndr, r->in.service_name); - } else { - r->in.service_name = NULL; - } - if (r->in.service_name) { - _mem_save_service_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name)); - if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->in.display_name_length); - } else { - r->in.display_name_length = NULL; - } - if (r->in.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.display_name); - ZERO_STRUCTP(r->out.display_name); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.display_name); - } - _mem_save_display_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.display_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name)); - if (_ptr_display_name) { - NDR_PULL_ALLOC(ndr, *r->out.display_name); - } else { - *r->out.display_name = NULL; - } - if (*r->out.display_name) { - _mem_save_display_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.display_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.display_name)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.display_name)); - if (ndr_get_array_length(ndr, r->out.display_name) > ndr_get_array_size(ndr, r->out.display_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.display_name), ndr_get_array_length(ndr, r->out.display_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.display_name, ndr_get_array_length(ndr, r->out.display_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->out.display_name_length); - } else { - r->out.display_name_length = NULL; - } - if (r->out.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_GetServiceDisplayNameA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceDisplayNameA *r) -{ - ndr_print_struct(ndr, name, "svcctl_GetServiceDisplayNameA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_GetServiceDisplayNameA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "service_name", r->in.service_name); - ndr->depth++; - if (r->in.service_name) { - ndr_print_string(ndr, "service_name", r->in.service_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->in.display_name_length); - ndr->depth++; - if (r->in.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->in.display_name_length); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_GetServiceDisplayNameA"); - ndr->depth++; - ndr_print_ptr(ndr, "display_name", r->out.display_name); - ndr->depth++; - ndr_print_ptr(ndr, "display_name", *r->out.display_name); - ndr->depth++; - if (*r->out.display_name) { - ndr_print_string(ndr, "display_name", *r->out.display_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->out.display_name_length); - ndr->depth++; - if (r->out.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->out.display_name_length); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_GetServiceKeyNameA(struct ndr_push *ndr, int flags, const struct svcctl_GetServiceKeyNameA *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.service_name)); - if (r->in.service_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.service_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.service_name, ndr_charset_length(r->in.service_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.display_name_length)); - if (r->in.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.display_name_length)); - } - } - if (flags & NDR_OUT) { - if (r->out.key_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.key_name)); - if (*r->out.key_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.key_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.key_name, ndr_charset_length(*r->out.key_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.display_name_length)); - if (r->out.display_name_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.display_name_length)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_GetServiceKeyNameA(struct ndr_pull *ndr, int flags, struct svcctl_GetServiceKeyNameA *r) -{ - uint32_t _ptr_service_name; - uint32_t _ptr_key_name; - uint32_t _ptr_display_name_length; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_service_name_0; - TALLOC_CTX *_mem_save_key_name_0; - TALLOC_CTX *_mem_save_key_name_1; - TALLOC_CTX *_mem_save_display_name_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_service_name)); - if (_ptr_service_name) { - NDR_PULL_ALLOC(ndr, r->in.service_name); - } else { - r->in.service_name = NULL; - } - if (r->in.service_name) { - _mem_save_service_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.service_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.service_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.service_name)); - if (ndr_get_array_length(ndr, &r->in.service_name) > ndr_get_array_size(ndr, &r->in.service_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.service_name), ndr_get_array_length(ndr, &r->in.service_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.service_name, ndr_get_array_length(ndr, &r->in.service_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->in.display_name_length); - } else { - r->in.display_name_length = NULL; - } - if (r->in.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.key_name); - ZERO_STRUCTP(r->out.key_name); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.key_name); - } - _mem_save_key_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.key_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_key_name)); - if (_ptr_key_name) { - NDR_PULL_ALLOC(ndr, *r->out.key_name); - } else { - *r->out.key_name = NULL; - } - if (*r->out.key_name) { - _mem_save_key_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.key_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.key_name)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.key_name)); - if (ndr_get_array_length(ndr, r->out.key_name) > ndr_get_array_size(ndr, r->out.key_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.key_name), ndr_get_array_length(ndr, r->out.key_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.key_name, ndr_get_array_length(ndr, r->out.key_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name_length)); - if (_ptr_display_name_length) { - NDR_PULL_ALLOC(ndr, r->out.display_name_length); - } else { - r->out.display_name_length = NULL; - } - if (r->out.display_name_length) { - _mem_save_display_name_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.display_name_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.display_name_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_length_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_GetServiceKeyNameA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceKeyNameA *r) -{ - ndr_print_struct(ndr, name, "svcctl_GetServiceKeyNameA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_GetServiceKeyNameA"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "service_name", r->in.service_name); - ndr->depth++; - if (r->in.service_name) { - ndr_print_string(ndr, "service_name", r->in.service_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->in.display_name_length); - ndr->depth++; - if (r->in.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->in.display_name_length); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_GetServiceKeyNameA"); - ndr->depth++; - ndr_print_ptr(ndr, "key_name", r->out.key_name); - ndr->depth++; - ndr_print_ptr(ndr, "key_name", *r->out.key_name); - ndr->depth++; - if (*r->out.key_name) { - ndr_print_string(ndr, "key_name", *r->out.key_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "display_name_length", r->out.display_name_length); - ndr->depth++; - if (r->out.display_name_length) { - ndr_print_uint32(ndr, "display_name_length", *r->out.display_name_length); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_GetCurrentGroupeStateW(struct ndr_push *ndr, int flags, const struct svcctl_GetCurrentGroupeStateW *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_GetCurrentGroupeStateW(struct ndr_pull *ndr, int flags, struct svcctl_GetCurrentGroupeStateW *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_GetCurrentGroupeStateW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetCurrentGroupeStateW *r) -{ - ndr_print_struct(ndr, name, "svcctl_GetCurrentGroupeStateW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_GetCurrentGroupeStateW"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_GetCurrentGroupeStateW"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_EnumServiceGroupW(struct ndr_push *ndr, int flags, const struct svcctl_EnumServiceGroupW *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_EnumServiceGroupW(struct ndr_pull *ndr, int flags, struct svcctl_EnumServiceGroupW *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_EnumServiceGroupW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumServiceGroupW *r) -{ - ndr_print_struct(ndr, name, "svcctl_EnumServiceGroupW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_EnumServiceGroupW"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_EnumServiceGroupW"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfig2A(struct ndr_push *ndr, int flags, const struct svcctl_ChangeServiceConfig2A *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info)); - if (r->in.info) { - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->in.info)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfig2A(struct ndr_pull *ndr, int flags, struct svcctl_ChangeServiceConfig2A *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->in.info); - } else { - r->in.info = NULL; - } - if (r->in.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ChangeServiceConfig2A(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfig2A *r) -{ - ndr_print_struct(ndr, name, "svcctl_ChangeServiceConfig2A"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_ChangeServiceConfig2A"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "info_level", r->in.info_level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - if (r->in.info) { - ndr_print_uint8(ndr, "info", *r->in.info); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_ChangeServiceConfig2A"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_ChangeServiceConfig2W(struct ndr_push *ndr, int flags, const struct svcctl_ChangeServiceConfig2W *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info)); - if (r->in.info) { - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->in.info)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_ChangeServiceConfig2W(struct ndr_pull *ndr, int flags, struct svcctl_ChangeServiceConfig2W *r) -{ - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, r->in.info); - } else { - r->in.info = NULL; - } - if (r->in.info) { - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_ChangeServiceConfig2W(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfig2W *r) -{ - ndr_print_struct(ndr, name, "svcctl_ChangeServiceConfig2W"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_ChangeServiceConfig2W"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "info_level", r->in.info_level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - if (r->in.info) { - ndr_print_uint8(ndr, "info", *r->in.info); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_ChangeServiceConfig2W"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceConfig2A(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceConfig2A *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_svcctl_ConfigLevel(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfig2A(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfig2A *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_svcctl_ConfigLevel(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.offered); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceConfig2A(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfig2A *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceConfig2A"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceConfig2A"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_svcctl_ConfigLevel(ndr, "info_level", r->in.info_level); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceConfig2A"); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered); - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceConfig2W(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceConfig2W *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_svcctl_ConfigLevel(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceConfig2W(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceConfig2W *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_svcctl_ConfigLevel(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.offered); - memset(r->out.buffer, 0, (r->in.offered) * sizeof(*r->out.buffer)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceConfig2W(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfig2W *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceConfig2W"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceConfig2W"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_svcctl_ConfigLevel(ndr, "info_level", r->in.info_level); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceConfig2W"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_QueryServiceStatusEx(struct ndr_push *ndr, int flags, const struct svcctl_QueryServiceStatusEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_svcctl_StatusLevel(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_QueryServiceStatusEx(struct ndr_pull *ndr, int flags, struct svcctl_QueryServiceStatusEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_svcctl_StatusLevel(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.offered); - memset(r->out.buffer, 0, (r->in.offered) * sizeof(*r->out.buffer)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 8192) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_QueryServiceStatusEx(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceStatusEx *r) -{ - ndr_print_struct(ndr, name, "svcctl_QueryServiceStatusEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_QueryServiceStatusEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_svcctl_StatusLevel(ndr, "info_level", r->in.info_level); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_QueryServiceStatusEx"); - ndr->depth++; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_EnumServicesStatusExA(struct ndr_push *ndr, int flags, const struct EnumServicesStatusExA *r) -{ - if (flags & NDR_IN) { - if (r->in.scmanager == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.services, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.service_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.service_returned)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - if (r->out.group_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.group_name)); - if (*r->out.group_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.group_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.group_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.group_name, ndr_charset_length(*r->out.group_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_EnumServicesStatusExA(struct ndr_pull *ndr, int flags, struct EnumServicesStatusExA *r) -{ - uint32_t _ptr_resume_handle; - uint32_t _ptr_group_name; - TALLOC_CTX *_mem_save_scmanager_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_service_returned_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_group_name_0; - TALLOC_CTX *_mem_save_group_name_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.scmanager); - } - _mem_save_scmanager_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.service_returned); - ZERO_STRUCTP(r->out.service_returned); - NDR_PULL_ALLOC(ndr, r->out.group_name); - ZERO_STRUCTP(r->out.group_name); - } - if (flags & NDR_OUT) { - NDR_PULL_ALLOC_N(ndr, r->out.services, r->in.offered); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.services, r->in.offered)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.service_returned); - } - _mem_save_service_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.service_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.service_returned)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_returned_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.group_name); - } - _mem_save_group_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.group_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_name)); - if (_ptr_group_name) { - NDR_PULL_ALLOC(ndr, *r->out.group_name); - } else { - *r->out.group_name = NULL; - } - if (*r->out.group_name) { - _mem_save_group_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.group_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.group_name)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.group_name)); - if (ndr_get_array_length(ndr, r->out.group_name) > ndr_get_array_size(ndr, r->out.group_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.group_name), ndr_get_array_length(ndr, r->out.group_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.group_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.group_name, ndr_get_array_length(ndr, r->out.group_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EnumServicesStatusExA(struct ndr_print *ndr, const char *name, int flags, const struct EnumServicesStatusExA *r) -{ - ndr_print_struct(ndr, name, "EnumServicesStatusExA"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "EnumServicesStatusExA"); - ndr->depth++; - ndr_print_ptr(ndr, "scmanager", r->in.scmanager); - ndr->depth++; - ndr_print_policy_handle(ndr, "scmanager", r->in.scmanager); - ndr->depth--; - ndr_print_uint32(ndr, "info_level", r->in.info_level); - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_ServiceState(ndr, "state", r->in.state); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "EnumServicesStatusExA"); - ndr->depth++; - ndr_print_array_uint8(ndr, "services", r->out.services, r->in.offered); - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "service_returned", r->out.service_returned); - ndr->depth++; - ndr_print_uint32(ndr, "service_returned", *r->out.service_returned); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_ptr(ndr, "group_name", r->out.group_name); - ndr->depth++; - ndr_print_ptr(ndr, "group_name", *r->out.group_name); - ndr->depth++; - if (*r->out.group_name) { - ndr_print_string(ndr, "group_name", *r->out.group_name); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_EnumServicesStatusExW(struct ndr_push *ndr, int flags, const struct EnumServicesStatusExW *r) -{ - if (flags & NDR_IN) { - if (r->in.scmanager == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.scmanager)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.info_level)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type)); - NDR_CHECK(ndr_push_svcctl_ServiceState(ndr, NDR_SCALARS, r->in.state)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.group_name)); - if (r->in.group_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.group_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.group_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.group_name, ndr_charset_length(r->in.group_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.services == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.services, r->in.offered)); - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - if (r->out.service_returned == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.service_returned)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_EnumServicesStatusExW(struct ndr_pull *ndr, int flags, struct EnumServicesStatusExW *r) -{ - uint32_t _ptr_resume_handle; - uint32_t _ptr_group_name; - TALLOC_CTX *_mem_save_scmanager_0; - TALLOC_CTX *_mem_save_needed_0; - TALLOC_CTX *_mem_save_service_returned_0; - TALLOC_CTX *_mem_save_resume_handle_0; - TALLOC_CTX *_mem_save_group_name_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.scmanager); - } - _mem_save_scmanager_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.scmanager, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.scmanager)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_scmanager_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.info_level)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_svcctl_ServiceState(ndr, NDR_SCALARS, &r->in.state)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - if (r->in.offered > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - if (*r->in.resume_handle > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_name)); - if (_ptr_group_name) { - NDR_PULL_ALLOC(ndr, r->in.group_name); - } else { - r->in.group_name = NULL; - } - if (r->in.group_name) { - _mem_save_group_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.group_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.group_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.group_name)); - if (ndr_get_array_length(ndr, &r->in.group_name) > ndr_get_array_size(ndr, &r->in.group_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.group_name), ndr_get_array_length(ndr, &r->in.group_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.group_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.group_name, ndr_get_array_length(ndr, &r->in.group_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_name_0, 0); - } - NDR_PULL_ALLOC_N(ndr, r->out.services, r->in.offered); - memset(r->out.services, 0, (r->in.offered) * sizeof(*r->out.services)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - NDR_PULL_ALLOC(ndr, r->out.service_returned); - ZERO_STRUCTP(r->out.service_returned); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.services)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.services, ndr_get_array_size(ndr, &r->out.services)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.services, ndr_get_array_size(ndr, &r->out.services))); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - if (*r->out.needed > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.service_returned); - } - _mem_save_service_returned_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.service_returned, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.service_returned)); - if (*r->out.service_returned > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_service_returned_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - if (*r->out.resume_handle > 0x40000) { - return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.services) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.services, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_EnumServicesStatusExW(struct ndr_print *ndr, const char *name, int flags, const struct EnumServicesStatusExW *r) -{ - ndr_print_struct(ndr, name, "EnumServicesStatusExW"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "EnumServicesStatusExW"); - ndr->depth++; - ndr_print_ptr(ndr, "scmanager", r->in.scmanager); - ndr->depth++; - ndr_print_policy_handle(ndr, "scmanager", r->in.scmanager); - ndr->depth--; - ndr_print_uint32(ndr, "info_level", r->in.info_level); - ndr_print_uint32(ndr, "type", r->in.type); - ndr_print_svcctl_ServiceState(ndr, "state", r->in.state); - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr_print_ptr(ndr, "group_name", r->in.group_name); - ndr->depth++; - if (r->in.group_name) { - ndr_print_string(ndr, "group_name", r->in.group_name); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "EnumServicesStatusExW"); - ndr->depth++; - ndr_print_ptr(ndr, "services", r->out.services); - ndr->depth++; - ndr_print_array_uint8(ndr, "services", r->out.services, r->in.offered); - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_ptr(ndr, "service_returned", r->out.service_returned); - ndr->depth++; - ndr_print_uint32(ndr, "service_returned", *r->out.service_returned); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_svcctl_SCSendTSMessage(struct ndr_push *ndr, int flags, const struct svcctl_SCSendTSMessage *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_svcctl_SCSendTSMessage(struct ndr_pull *ndr, int flags, struct svcctl_SCSendTSMessage *r) -{ - if (flags & NDR_IN) { - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_svcctl_SCSendTSMessage(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SCSendTSMessage *r) -{ - ndr_print_struct(ndr, name, "svcctl_SCSendTSMessage"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "svcctl_SCSendTSMessage"); - ndr->depth++; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "svcctl_SCSendTSMessage"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call svcctl_calls[] = { - { - "svcctl_CloseServiceHandle", - sizeof(struct svcctl_CloseServiceHandle), - (ndr_push_flags_fn_t) ndr_push_svcctl_CloseServiceHandle, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_CloseServiceHandle, - (ndr_print_function_t) ndr_print_svcctl_CloseServiceHandle, - false, - }, - { - "svcctl_ControlService", - sizeof(struct svcctl_ControlService), - (ndr_push_flags_fn_t) ndr_push_svcctl_ControlService, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_ControlService, - (ndr_print_function_t) ndr_print_svcctl_ControlService, - false, - }, - { - "svcctl_DeleteService", - sizeof(struct svcctl_DeleteService), - (ndr_push_flags_fn_t) ndr_push_svcctl_DeleteService, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_DeleteService, - (ndr_print_function_t) ndr_print_svcctl_DeleteService, - false, - }, - { - "svcctl_LockServiceDatabase", - sizeof(struct svcctl_LockServiceDatabase), - (ndr_push_flags_fn_t) ndr_push_svcctl_LockServiceDatabase, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_LockServiceDatabase, - (ndr_print_function_t) ndr_print_svcctl_LockServiceDatabase, - false, - }, - { - "svcctl_QueryServiceObjectSecurity", - sizeof(struct svcctl_QueryServiceObjectSecurity), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceObjectSecurity, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceObjectSecurity, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceObjectSecurity, - false, - }, - { - "svcctl_SetServiceObjectSecurity", - sizeof(struct svcctl_SetServiceObjectSecurity), - (ndr_push_flags_fn_t) ndr_push_svcctl_SetServiceObjectSecurity, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_SetServiceObjectSecurity, - (ndr_print_function_t) ndr_print_svcctl_SetServiceObjectSecurity, - false, - }, - { - "svcctl_QueryServiceStatus", - sizeof(struct svcctl_QueryServiceStatus), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceStatus, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceStatus, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceStatus, - false, - }, - { - "svcctl_SetServiceStatus", - sizeof(struct svcctl_SetServiceStatus), - (ndr_push_flags_fn_t) ndr_push_svcctl_SetServiceStatus, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_SetServiceStatus, - (ndr_print_function_t) ndr_print_svcctl_SetServiceStatus, - false, - }, - { - "svcctl_UnlockServiceDatabase", - sizeof(struct svcctl_UnlockServiceDatabase), - (ndr_push_flags_fn_t) ndr_push_svcctl_UnlockServiceDatabase, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_UnlockServiceDatabase, - (ndr_print_function_t) ndr_print_svcctl_UnlockServiceDatabase, - false, - }, - { - "svcctl_NotifyBootConfigStatus", - sizeof(struct svcctl_NotifyBootConfigStatus), - (ndr_push_flags_fn_t) ndr_push_svcctl_NotifyBootConfigStatus, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_NotifyBootConfigStatus, - (ndr_print_function_t) ndr_print_svcctl_NotifyBootConfigStatus, - false, - }, - { - "svcctl_SCSetServiceBitsW", - sizeof(struct svcctl_SCSetServiceBitsW), - (ndr_push_flags_fn_t) ndr_push_svcctl_SCSetServiceBitsW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_SCSetServiceBitsW, - (ndr_print_function_t) ndr_print_svcctl_SCSetServiceBitsW, - false, - }, - { - "svcctl_ChangeServiceConfigW", - sizeof(struct svcctl_ChangeServiceConfigW), - (ndr_push_flags_fn_t) ndr_push_svcctl_ChangeServiceConfigW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_ChangeServiceConfigW, - (ndr_print_function_t) ndr_print_svcctl_ChangeServiceConfigW, - false, - }, - { - "svcctl_CreateServiceW", - sizeof(struct svcctl_CreateServiceW), - (ndr_push_flags_fn_t) ndr_push_svcctl_CreateServiceW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_CreateServiceW, - (ndr_print_function_t) ndr_print_svcctl_CreateServiceW, - false, - }, - { - "svcctl_EnumDependentServicesW", - sizeof(struct svcctl_EnumDependentServicesW), - (ndr_push_flags_fn_t) ndr_push_svcctl_EnumDependentServicesW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_EnumDependentServicesW, - (ndr_print_function_t) ndr_print_svcctl_EnumDependentServicesW, - false, - }, - { - "svcctl_EnumServicesStatusW", - sizeof(struct svcctl_EnumServicesStatusW), - (ndr_push_flags_fn_t) ndr_push_svcctl_EnumServicesStatusW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_EnumServicesStatusW, - (ndr_print_function_t) ndr_print_svcctl_EnumServicesStatusW, - false, - }, - { - "svcctl_OpenSCManagerW", - sizeof(struct svcctl_OpenSCManagerW), - (ndr_push_flags_fn_t) ndr_push_svcctl_OpenSCManagerW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_OpenSCManagerW, - (ndr_print_function_t) ndr_print_svcctl_OpenSCManagerW, - false, - }, - { - "svcctl_OpenServiceW", - sizeof(struct svcctl_OpenServiceW), - (ndr_push_flags_fn_t) ndr_push_svcctl_OpenServiceW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_OpenServiceW, - (ndr_print_function_t) ndr_print_svcctl_OpenServiceW, - false, - }, - { - "svcctl_QueryServiceConfigW", - sizeof(struct svcctl_QueryServiceConfigW), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceConfigW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceConfigW, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceConfigW, - false, - }, - { - "svcctl_QueryServiceLockStatusW", - sizeof(struct svcctl_QueryServiceLockStatusW), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceLockStatusW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceLockStatusW, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceLockStatusW, - false, - }, - { - "svcctl_StartServiceW", - sizeof(struct svcctl_StartServiceW), - (ndr_push_flags_fn_t) ndr_push_svcctl_StartServiceW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_StartServiceW, - (ndr_print_function_t) ndr_print_svcctl_StartServiceW, - false, - }, - { - "svcctl_GetServiceDisplayNameW", - sizeof(struct svcctl_GetServiceDisplayNameW), - (ndr_push_flags_fn_t) ndr_push_svcctl_GetServiceDisplayNameW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_GetServiceDisplayNameW, - (ndr_print_function_t) ndr_print_svcctl_GetServiceDisplayNameW, - false, - }, - { - "svcctl_GetServiceKeyNameW", - sizeof(struct svcctl_GetServiceKeyNameW), - (ndr_push_flags_fn_t) ndr_push_svcctl_GetServiceKeyNameW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_GetServiceKeyNameW, - (ndr_print_function_t) ndr_print_svcctl_GetServiceKeyNameW, - false, - }, - { - "svcctl_SCSetServiceBitsA", - sizeof(struct svcctl_SCSetServiceBitsA), - (ndr_push_flags_fn_t) ndr_push_svcctl_SCSetServiceBitsA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_SCSetServiceBitsA, - (ndr_print_function_t) ndr_print_svcctl_SCSetServiceBitsA, - false, - }, - { - "svcctl_ChangeServiceConfigA", - sizeof(struct svcctl_ChangeServiceConfigA), - (ndr_push_flags_fn_t) ndr_push_svcctl_ChangeServiceConfigA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_ChangeServiceConfigA, - (ndr_print_function_t) ndr_print_svcctl_ChangeServiceConfigA, - false, - }, - { - "svcctl_CreateServiceA", - sizeof(struct svcctl_CreateServiceA), - (ndr_push_flags_fn_t) ndr_push_svcctl_CreateServiceA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_CreateServiceA, - (ndr_print_function_t) ndr_print_svcctl_CreateServiceA, - false, - }, - { - "svcctl_EnumDependentServicesA", - sizeof(struct svcctl_EnumDependentServicesA), - (ndr_push_flags_fn_t) ndr_push_svcctl_EnumDependentServicesA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_EnumDependentServicesA, - (ndr_print_function_t) ndr_print_svcctl_EnumDependentServicesA, - false, - }, - { - "svcctl_EnumServicesStatusA", - sizeof(struct svcctl_EnumServicesStatusA), - (ndr_push_flags_fn_t) ndr_push_svcctl_EnumServicesStatusA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_EnumServicesStatusA, - (ndr_print_function_t) ndr_print_svcctl_EnumServicesStatusA, - false, - }, - { - "svcctl_OpenSCManagerA", - sizeof(struct svcctl_OpenSCManagerA), - (ndr_push_flags_fn_t) ndr_push_svcctl_OpenSCManagerA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_OpenSCManagerA, - (ndr_print_function_t) ndr_print_svcctl_OpenSCManagerA, - false, - }, - { - "svcctl_OpenServiceA", - sizeof(struct svcctl_OpenServiceA), - (ndr_push_flags_fn_t) ndr_push_svcctl_OpenServiceA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_OpenServiceA, - (ndr_print_function_t) ndr_print_svcctl_OpenServiceA, - false, - }, - { - "svcctl_QueryServiceConfigA", - sizeof(struct svcctl_QueryServiceConfigA), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceConfigA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceConfigA, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceConfigA, - false, - }, - { - "svcctl_QueryServiceLockStatusA", - sizeof(struct svcctl_QueryServiceLockStatusA), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceLockStatusA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceLockStatusA, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceLockStatusA, - false, - }, - { - "svcctl_StartServiceA", - sizeof(struct svcctl_StartServiceA), - (ndr_push_flags_fn_t) ndr_push_svcctl_StartServiceA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_StartServiceA, - (ndr_print_function_t) ndr_print_svcctl_StartServiceA, - false, - }, - { - "svcctl_GetServiceDisplayNameA", - sizeof(struct svcctl_GetServiceDisplayNameA), - (ndr_push_flags_fn_t) ndr_push_svcctl_GetServiceDisplayNameA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_GetServiceDisplayNameA, - (ndr_print_function_t) ndr_print_svcctl_GetServiceDisplayNameA, - false, - }, - { - "svcctl_GetServiceKeyNameA", - sizeof(struct svcctl_GetServiceKeyNameA), - (ndr_push_flags_fn_t) ndr_push_svcctl_GetServiceKeyNameA, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_GetServiceKeyNameA, - (ndr_print_function_t) ndr_print_svcctl_GetServiceKeyNameA, - false, - }, - { - "svcctl_GetCurrentGroupeStateW", - sizeof(struct svcctl_GetCurrentGroupeStateW), - (ndr_push_flags_fn_t) ndr_push_svcctl_GetCurrentGroupeStateW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_GetCurrentGroupeStateW, - (ndr_print_function_t) ndr_print_svcctl_GetCurrentGroupeStateW, - false, - }, - { - "svcctl_EnumServiceGroupW", - sizeof(struct svcctl_EnumServiceGroupW), - (ndr_push_flags_fn_t) ndr_push_svcctl_EnumServiceGroupW, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_EnumServiceGroupW, - (ndr_print_function_t) ndr_print_svcctl_EnumServiceGroupW, - false, - }, - { - "svcctl_ChangeServiceConfig2A", - sizeof(struct svcctl_ChangeServiceConfig2A), - (ndr_push_flags_fn_t) ndr_push_svcctl_ChangeServiceConfig2A, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_ChangeServiceConfig2A, - (ndr_print_function_t) ndr_print_svcctl_ChangeServiceConfig2A, - false, - }, - { - "svcctl_ChangeServiceConfig2W", - sizeof(struct svcctl_ChangeServiceConfig2W), - (ndr_push_flags_fn_t) ndr_push_svcctl_ChangeServiceConfig2W, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_ChangeServiceConfig2W, - (ndr_print_function_t) ndr_print_svcctl_ChangeServiceConfig2W, - false, - }, - { - "svcctl_QueryServiceConfig2A", - sizeof(struct svcctl_QueryServiceConfig2A), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceConfig2A, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceConfig2A, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceConfig2A, - false, - }, - { - "svcctl_QueryServiceConfig2W", - sizeof(struct svcctl_QueryServiceConfig2W), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceConfig2W, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceConfig2W, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceConfig2W, - false, - }, - { - "svcctl_QueryServiceStatusEx", - sizeof(struct svcctl_QueryServiceStatusEx), - (ndr_push_flags_fn_t) ndr_push_svcctl_QueryServiceStatusEx, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_QueryServiceStatusEx, - (ndr_print_function_t) ndr_print_svcctl_QueryServiceStatusEx, - false, - }, - { - "EnumServicesStatusExA", - sizeof(struct EnumServicesStatusExA), - (ndr_push_flags_fn_t) ndr_push_EnumServicesStatusExA, - (ndr_pull_flags_fn_t) ndr_pull_EnumServicesStatusExA, - (ndr_print_function_t) ndr_print_EnumServicesStatusExA, - false, - }, - { - "EnumServicesStatusExW", - sizeof(struct EnumServicesStatusExW), - (ndr_push_flags_fn_t) ndr_push_EnumServicesStatusExW, - (ndr_pull_flags_fn_t) ndr_pull_EnumServicesStatusExW, - (ndr_print_function_t) ndr_print_EnumServicesStatusExW, - false, - }, - { - "svcctl_SCSendTSMessage", - sizeof(struct svcctl_SCSendTSMessage), - (ndr_push_flags_fn_t) ndr_push_svcctl_SCSendTSMessage, - (ndr_pull_flags_fn_t) ndr_pull_svcctl_SCSendTSMessage, - (ndr_print_function_t) ndr_print_svcctl_SCSendTSMessage, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const svcctl_endpoint_strings[] = { - "ncacn_np:[\\pipe\\svcctl]", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array svcctl_endpoints = { - .count = 2, - .names = svcctl_endpoint_strings -}; - -static const char * const svcctl_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array svcctl_authservices = { - .count = 1, - .names = svcctl_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_svcctl = { - .name = "svcctl", - .syntax_id = { - {0x367abb81,0x9844,0x35f1,{0xad,0x32},{0x98,0xf0,0x38,0x00,0x10,0x03}}, - NDR_SVCCTL_VERSION - }, - .helpstring = NDR_SVCCTL_HELPSTRING, - .num_calls = 44, - .calls = svcctl_calls, - .endpoints = &svcctl_endpoints, - .authservices = &svcctl_authservices -}; - diff --git a/librpc/gen_ndr/ndr_svcctl.h b/librpc/gen_ndr/ndr_svcctl.h deleted file mode 100644 index 6e765d8b8c7..00000000000 --- a/librpc/gen_ndr/ndr_svcctl.h +++ /dev/null @@ -1,189 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/svcctl.h" - -#ifndef _HEADER_NDR_svcctl -#define _HEADER_NDR_svcctl - -#include "../librpc/ndr/ndr_svcctl.h" -#define NDR_SVCCTL_UUID "367abb81-9844-35f1-ad32-98f038001003" -#define NDR_SVCCTL_VERSION 2.0 -#define NDR_SVCCTL_NAME "svcctl" -#define NDR_SVCCTL_HELPSTRING "Service Control" -extern const struct ndr_interface_table ndr_table_svcctl; -#define NDR_SVCCTL_CLOSESERVICEHANDLE (0x00) - -#define NDR_SVCCTL_CONTROLSERVICE (0x01) - -#define NDR_SVCCTL_DELETESERVICE (0x02) - -#define NDR_SVCCTL_LOCKSERVICEDATABASE (0x03) - -#define NDR_SVCCTL_QUERYSERVICEOBJECTSECURITY (0x04) - -#define NDR_SVCCTL_SETSERVICEOBJECTSECURITY (0x05) - -#define NDR_SVCCTL_QUERYSERVICESTATUS (0x06) - -#define NDR_SVCCTL_SETSERVICESTATUS (0x07) - -#define NDR_SVCCTL_UNLOCKSERVICEDATABASE (0x08) - -#define NDR_SVCCTL_NOTIFYBOOTCONFIGSTATUS (0x09) - -#define NDR_SVCCTL_SCSETSERVICEBITSW (0x0a) - -#define NDR_SVCCTL_CHANGESERVICECONFIGW (0x0b) - -#define NDR_SVCCTL_CREATESERVICEW (0x0c) - -#define NDR_SVCCTL_ENUMDEPENDENTSERVICESW (0x0d) - -#define NDR_SVCCTL_ENUMSERVICESSTATUSW (0x0e) - -#define NDR_SVCCTL_OPENSCMANAGERW (0x0f) - -#define NDR_SVCCTL_OPENSERVICEW (0x10) - -#define NDR_SVCCTL_QUERYSERVICECONFIGW (0x11) - -#define NDR_SVCCTL_QUERYSERVICELOCKSTATUSW (0x12) - -#define NDR_SVCCTL_STARTSERVICEW (0x13) - -#define NDR_SVCCTL_GETSERVICEDISPLAYNAMEW (0x14) - -#define NDR_SVCCTL_GETSERVICEKEYNAMEW (0x15) - -#define NDR_SVCCTL_SCSETSERVICEBITSA (0x16) - -#define NDR_SVCCTL_CHANGESERVICECONFIGA (0x17) - -#define NDR_SVCCTL_CREATESERVICEA (0x18) - -#define NDR_SVCCTL_ENUMDEPENDENTSERVICESA (0x19) - -#define NDR_SVCCTL_ENUMSERVICESSTATUSA (0x1a) - -#define NDR_SVCCTL_OPENSCMANAGERA (0x1b) - -#define NDR_SVCCTL_OPENSERVICEA (0x1c) - -#define NDR_SVCCTL_QUERYSERVICECONFIGA (0x1d) - -#define NDR_SVCCTL_QUERYSERVICELOCKSTATUSA (0x1e) - -#define NDR_SVCCTL_STARTSERVICEA (0x1f) - -#define NDR_SVCCTL_GETSERVICEDISPLAYNAMEA (0x20) - -#define NDR_SVCCTL_GETSERVICEKEYNAMEA (0x21) - -#define NDR_SVCCTL_GETCURRENTGROUPESTATEW (0x22) - -#define NDR_SVCCTL_ENUMSERVICEGROUPW (0x23) - -#define NDR_SVCCTL_CHANGESERVICECONFIG2A (0x24) - -#define NDR_SVCCTL_CHANGESERVICECONFIG2W (0x25) - -#define NDR_SVCCTL_QUERYSERVICECONFIG2A (0x26) - -#define NDR_SVCCTL_QUERYSERVICECONFIG2W (0x27) - -#define NDR_SVCCTL_QUERYSERVICESTATUSEX (0x28) - -#define NDR_ENUMSERVICESSTATUSEXA (0x29) - -#define NDR_ENUMSERVICESSTATUSEXW (0x2a) - -#define NDR_SVCCTL_SCSENDTSMESSAGE (0x2b) - -#define NDR_SVCCTL_CALL_COUNT (44) -void ndr_print_SERVICE_LOCK_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_LOCK_STATUS *r); -void ndr_print_svcctl_ServiceStatus(struct ndr_print *ndr, const char *name, enum svcctl_ServiceStatus r); -void ndr_print_svcctl_ControlsAccepted(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_SERVICE_STATUS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS *r); -enum ndr_err_code ndr_push_SERVICE_STATUS_PROCESS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_STATUS_PROCESS *r); -enum ndr_err_code ndr_pull_SERVICE_STATUS_PROCESS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_STATUS_PROCESS *r); -void ndr_print_SERVICE_STATUS_PROCESS(struct ndr_print *ndr, const char *name, const struct SERVICE_STATUS_PROCESS *r); -enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSW(struct ndr_push *ndr, int ndr_flags, const struct ENUM_SERVICE_STATUSW *r); -enum ndr_err_code ndr_pull_ENUM_SERVICE_STATUSW(struct ndr_pull *ndr, int ndr_flags, struct ENUM_SERVICE_STATUSW *r); -void ndr_print_ENUM_SERVICE_STATUSW(struct ndr_print *ndr, const char *name, const struct ENUM_SERVICE_STATUSW *r); -size_t ndr_size_ENUM_SERVICE_STATUSW(const struct ENUM_SERVICE_STATUSW *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_ENUM_SERVICE_STATUSA(struct ndr_push *ndr, int ndr_flags, const struct ENUM_SERVICE_STATUSA *r); -enum ndr_err_code ndr_pull_ENUM_SERVICE_STATUSA(struct ndr_pull *ndr, int ndr_flags, struct ENUM_SERVICE_STATUSA *r); -void ndr_print_ENUM_SERVICE_STATUSA(struct ndr_print *ndr, const char *name, const struct ENUM_SERVICE_STATUSA *r); -size_t ndr_size_ENUM_SERVICE_STATUSA(const struct ENUM_SERVICE_STATUSA *r, struct smb_iconv_convenience *ic, int flags); -enum ndr_err_code ndr_push_svcctl_ServerType(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_svcctl_ServerType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_svcctl_ServerType(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_SERVICE_CONTROL(struct ndr_print *ndr, const char *name, enum SERVICE_CONTROL r); -void ndr_print_svcctl_ErrorControl(struct ndr_print *ndr, const char *name, enum svcctl_ErrorControl r); -void ndr_print_svcctl_StartType(struct ndr_print *ndr, const char *name, enum svcctl_StartType r); -void ndr_print_svcctl_ServiceState(struct ndr_print *ndr, const char *name, enum svcctl_ServiceState r); -void ndr_print_svcctl_MgrAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_svcctl_ServiceAccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_QUERY_SERVICE_CONFIG(struct ndr_push *ndr, int ndr_flags, const struct QUERY_SERVICE_CONFIG *r); -enum ndr_err_code ndr_pull_QUERY_SERVICE_CONFIG(struct ndr_pull *ndr, int ndr_flags, struct QUERY_SERVICE_CONFIG *r); -void ndr_print_QUERY_SERVICE_CONFIG(struct ndr_print *ndr, const char *name, const struct QUERY_SERVICE_CONFIG *r); -size_t ndr_size_QUERY_SERVICE_CONFIG(const struct QUERY_SERVICE_CONFIG *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_svcctl_ArgumentString(struct ndr_print *ndr, const char *name, const struct svcctl_ArgumentString *r); -void ndr_print_svcctl_ConfigLevel(struct ndr_print *ndr, const char *name, enum svcctl_ConfigLevel r); -enum ndr_err_code ndr_push_SERVICE_DESCRIPTION(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_DESCRIPTION *r); -enum ndr_err_code ndr_pull_SERVICE_DESCRIPTION(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_DESCRIPTION *r); -void ndr_print_SERVICE_DESCRIPTION(struct ndr_print *ndr, const char *name, const struct SERVICE_DESCRIPTION *r); -size_t ndr_size_SERVICE_DESCRIPTION(const struct SERVICE_DESCRIPTION *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_SC_ACTION_TYPE(struct ndr_print *ndr, const char *name, enum SC_ACTION_TYPE r); -void ndr_print_SC_ACTION(struct ndr_print *ndr, const char *name, const struct SC_ACTION *r); -enum ndr_err_code ndr_push_SERVICE_FAILURE_ACTIONS(struct ndr_push *ndr, int ndr_flags, const struct SERVICE_FAILURE_ACTIONS *r); -enum ndr_err_code ndr_pull_SERVICE_FAILURE_ACTIONS(struct ndr_pull *ndr, int ndr_flags, struct SERVICE_FAILURE_ACTIONS *r); -void ndr_print_SERVICE_FAILURE_ACTIONS(struct ndr_print *ndr, const char *name, const struct SERVICE_FAILURE_ACTIONS *r); -size_t ndr_size_SERVICE_FAILURE_ACTIONS(const struct SERVICE_FAILURE_ACTIONS *r, struct smb_iconv_convenience *ic, int flags); -void ndr_print_svcctl_StatusLevel(struct ndr_print *ndr, const char *name, enum svcctl_StatusLevel r); -void ndr_print_svcctl_CloseServiceHandle(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CloseServiceHandle *r); -void ndr_print_svcctl_ControlService(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ControlService *r); -void ndr_print_svcctl_DeleteService(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_DeleteService *r); -void ndr_print_svcctl_LockServiceDatabase(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_LockServiceDatabase *r); -void ndr_print_svcctl_QueryServiceObjectSecurity(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceObjectSecurity *r); -void ndr_print_svcctl_SetServiceObjectSecurity(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SetServiceObjectSecurity *r); -void ndr_print_svcctl_QueryServiceStatus(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceStatus *r); -void ndr_print_svcctl_SetServiceStatus(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SetServiceStatus *r); -void ndr_print_svcctl_UnlockServiceDatabase(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_UnlockServiceDatabase *r); -void ndr_print_svcctl_NotifyBootConfigStatus(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_NotifyBootConfigStatus *r); -void ndr_print_svcctl_SCSetServiceBitsW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SCSetServiceBitsW *r); -void ndr_print_svcctl_ChangeServiceConfigW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfigW *r); -void ndr_print_svcctl_CreateServiceW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CreateServiceW *r); -void ndr_print_svcctl_EnumDependentServicesW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumDependentServicesW *r); -void ndr_print_svcctl_EnumServicesStatusW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumServicesStatusW *r); -void ndr_print_svcctl_OpenSCManagerW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenSCManagerW *r); -void ndr_print_svcctl_OpenServiceW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenServiceW *r); -void ndr_print_svcctl_QueryServiceConfigW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfigW *r); -void ndr_print_svcctl_QueryServiceLockStatusW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceLockStatusW *r); -void ndr_print_svcctl_StartServiceW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_StartServiceW *r); -void ndr_print_svcctl_GetServiceDisplayNameW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceDisplayNameW *r); -void ndr_print_svcctl_GetServiceKeyNameW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceKeyNameW *r); -void ndr_print_svcctl_SCSetServiceBitsA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SCSetServiceBitsA *r); -void ndr_print_svcctl_ChangeServiceConfigA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfigA *r); -void ndr_print_svcctl_CreateServiceA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_CreateServiceA *r); -void ndr_print_svcctl_EnumDependentServicesA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumDependentServicesA *r); -void ndr_print_svcctl_EnumServicesStatusA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumServicesStatusA *r); -void ndr_print_svcctl_OpenSCManagerA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenSCManagerA *r); -void ndr_print_svcctl_OpenServiceA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_OpenServiceA *r); -void ndr_print_svcctl_QueryServiceConfigA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfigA *r); -void ndr_print_svcctl_QueryServiceLockStatusA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceLockStatusA *r); -void ndr_print_svcctl_StartServiceA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_StartServiceA *r); -void ndr_print_svcctl_GetServiceDisplayNameA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceDisplayNameA *r); -void ndr_print_svcctl_GetServiceKeyNameA(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetServiceKeyNameA *r); -void ndr_print_svcctl_GetCurrentGroupeStateW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_GetCurrentGroupeStateW *r); -void ndr_print_svcctl_EnumServiceGroupW(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_EnumServiceGroupW *r); -void ndr_print_svcctl_ChangeServiceConfig2A(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfig2A *r); -void ndr_print_svcctl_ChangeServiceConfig2W(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_ChangeServiceConfig2W *r); -void ndr_print_svcctl_QueryServiceConfig2A(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfig2A *r); -void ndr_print_svcctl_QueryServiceConfig2W(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceConfig2W *r); -void ndr_print_svcctl_QueryServiceStatusEx(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_QueryServiceStatusEx *r); -void ndr_print_EnumServicesStatusExA(struct ndr_print *ndr, const char *name, int flags, const struct EnumServicesStatusExA *r); -void ndr_print_EnumServicesStatusExW(struct ndr_print *ndr, const char *name, int flags, const struct EnumServicesStatusExW *r); -void ndr_print_svcctl_SCSendTSMessage(struct ndr_print *ndr, const char *name, int flags, const struct svcctl_SCSendTSMessage *r); -#endif /* _HEADER_NDR_svcctl */ diff --git a/librpc/gen_ndr/ndr_winreg.c b/librpc/gen_ndr/ndr_winreg.c deleted file mode 100644 index 0a262cddd51..00000000000 --- a/librpc/gen_ndr/ndr_winreg.c +++ /dev/null @@ -1,5035 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_winreg.h" - -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_security.h" -#include "librpc/gen_ndr/ndr_misc.h" -static enum ndr_err_code ndr_push_winreg_AccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_AccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_AccessMask(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_QUERY_VALUE", KEY_QUERY_VALUE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_SET_VALUE", KEY_SET_VALUE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_CREATE_SUB_KEY", KEY_CREATE_SUB_KEY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_ENUMERATE_SUB_KEYS", KEY_ENUMERATE_SUB_KEYS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_NOTIFY", KEY_NOTIFY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_CREATE_LINK", KEY_CREATE_LINK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_WOW64_64KEY", KEY_WOW64_64KEY, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_WOW64_32KEY", KEY_WOW64_32KEY, r); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_String(struct ndr_push *ndr, int ndr_flags, const struct winreg_String *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_String(struct ndr_pull *ndr, int ndr_flags, struct winreg_String *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_String(struct ndr_print *ndr, const char *name, const struct winreg_String *r) -{ - ndr_print_struct(ndr, name, "winreg_String"); - ndr->depth++; - ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->name_len); - ndr_print_uint16(ndr, "name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->name_size); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_KeySecurityData(struct ndr_push *ndr, int ndr_flags, const struct KeySecurityData *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->len)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_KeySecurityData(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityData *r) -{ - uint32_t _ptr_data; - TALLOC_CTX *_mem_save_data_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->data); - } else { - r->data = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->data)); - if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data)); - } - NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - if (r->data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size)); - } - if (r->data) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->len)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_KeySecurityData(struct ndr_print *ndr, const char *name, const struct KeySecurityData *r) -{ - ndr_print_struct(ndr, name, "KeySecurityData"); - ndr->depth++; - ndr_print_ptr(ndr, "data", r->data); - ndr->depth++; - if (r->data) { - ndr_print_array_uint8(ndr, "data", r->data, r->len); - } - ndr->depth--; - ndr_print_uint32(ndr, "size", r->size); - ndr_print_uint32(ndr, "len", r->len); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_SecBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_SecBuf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS, &r->sd)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->inherit)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_BUFFERS, &r->sd)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_SecBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_SecBuf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS, &r->sd)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->inherit)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_BUFFERS, &r->sd)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_SecBuf(struct ndr_print *ndr, const char *name, const struct winreg_SecBuf *r) -{ - ndr_print_struct(ndr, name, "winreg_SecBuf"); - ndr->depth++; - ndr_print_uint32(ndr, "length", r->length); - ndr_print_KeySecurityData(ndr, "sd", &r->sd); - ndr_print_uint8(ndr, "inherit", r->inherit); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_KeyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_KeyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_KeyOptions(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_OPTION_VOLATILE", REG_OPTION_VOLATILE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_OPTION_CREATE_LINK", REG_OPTION_CREATE_LINK, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_OPTION_BACKUP_RESTORE", REG_OPTION_BACKUP_RESTORE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_OPTION_OPEN_LINK", REG_OPTION_OPEN_LINK, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_CreateAction(struct ndr_push *ndr, int ndr_flags, enum winreg_CreateAction r) -{ - NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_CreateAction(struct ndr_pull *ndr, int ndr_flags, enum winreg_CreateAction *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_CreateAction(struct ndr_print *ndr, const char *name, enum winreg_CreateAction r) -{ - const char *val = NULL; - - switch (r) { - case REG_ACTION_NONE: val = "REG_ACTION_NONE"; break; - case REG_CREATED_NEW_KEY: val = "REG_CREATED_NEW_KEY"; break; - case REG_OPENED_EXISTING_KEY: val = "REG_OPENED_EXISTING_KEY"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_winreg_StringBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_StringBuf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term_null(r->name) * 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term_null(r->name) * 2 / 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, strlen_m_term_null(r->name) * 2 / 2, sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_StringBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_StringBuf *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->name) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->name, r->size / 2)); - } - if (r->name) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->name, r->length / 2)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_StringBuf(struct ndr_print *ndr, const char *name, const struct winreg_StringBuf *r) -{ - ndr_print_struct(ndr, name, "winreg_StringBuf"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term_null(r->name) * 2:r->length); - ndr_print_uint16(ndr, "size", r->size); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_ValNameBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_ValNameBuf *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2 / 2)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, strlen_m_term(r->name) * 2 / 2, sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_ValNameBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_ValNameBuf *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->name) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->name, r->size / 2)); - } - if (r->name) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->name, r->length / 2)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_ValNameBuf(struct ndr_print *ndr, const char *name, const struct winreg_ValNameBuf *r) -{ - ndr_print_struct(ndr, name, "winreg_ValNameBuf"); - ndr->depth++; - ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->length); - ndr_print_uint16(ndr, "size", r->size); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_NotifyChangeType(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_NotifyChangeType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_NotifyChangeType(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_NAME", REG_NOTIFY_CHANGE_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_ATTRIBUTES", REG_NOTIFY_CHANGE_ATTRIBUTES, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_LAST_SET", REG_NOTIFY_CHANGE_LAST_SET, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_SECURITY", REG_NOTIFY_CHANGE_SECURITY, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_KeySecurityAttribute(struct ndr_push *ndr, int ndr_flags, const struct KeySecurityAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data_size)); - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS, &r->sec_data)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->inherit)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_BUFFERS, &r->sec_data)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_KeySecurityAttribute(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityAttribute *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_size)); - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS, &r->sec_data)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->inherit)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_BUFFERS, &r->sec_data)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_KeySecurityAttribute(struct ndr_print *ndr, const char *name, const struct KeySecurityAttribute *r) -{ - ndr_print_struct(ndr, name, "KeySecurityAttribute"); - ndr->depth++; - ndr_print_uint32(ndr, "data_size", r->data_size); - ndr_print_KeySecurityData(ndr, "sec_data", &r->sec_data); - ndr_print_uint8(ndr, "inherit", r->inherit); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_QueryMultipleValue(struct ndr_push *ndr, int ndr_flags, const struct QueryMultipleValue *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->offset)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->name)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_QueryMultipleValue(struct ndr_pull *ndr, int ndr_flags, struct QueryMultipleValue *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->offset)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_QueryMultipleValue(struct ndr_print *ndr, const char *name, const struct QueryMultipleValue *r) -{ - ndr_print_struct(ndr, name, "QueryMultipleValue"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_winreg_String(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_winreg_Type(ndr, "type", r->type); - ndr_print_uint32(ndr, "offset", r->offset); - ndr_print_uint32(ndr, "length", r->length); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKCR(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCR *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKCR(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCR *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKCR(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCR *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKCR"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKCR"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKCR"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKCU(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCU *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKCU(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCU *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKCU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCU *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKCU"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKCU"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKCU"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_OpenHKLM(struct ndr_push *ndr, int flags, const struct winreg_OpenHKLM *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_OpenHKLM(struct ndr_pull *ndr, int flags, struct winreg_OpenHKLM *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKLM(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKLM *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKLM"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKLM"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKLM"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKPD(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPD *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKPD(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPD *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKPD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPD *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKPD"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKPD"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKPD"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKU(struct ndr_push *ndr, int flags, const struct winreg_OpenHKU *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKU(struct ndr_pull *ndr, int flags, struct winreg_OpenHKU *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKU *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKU"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKU"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKU"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_CloseKey(struct ndr_push *ndr, int flags, const struct winreg_CloseKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_CloseKey(struct ndr_pull *ndr, int flags, struct winreg_CloseKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.handle); - *r->out.handle = *r->in.handle; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_CloseKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CloseKey *r) -{ - ndr_print_struct(ndr, name, "winreg_CloseKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_CloseKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_CloseKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_CreateKey(struct ndr_push *ndr, int flags, const struct winreg_CreateKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyclass)); - NDR_CHECK(ndr_push_winreg_KeyOptions(ndr, NDR_SCALARS, r->in.options)); - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.secdesc)); - if (r->in.secdesc) { - NDR_CHECK(ndr_push_winreg_SecBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.action_taken)); - if (r->in.action_taken) { - NDR_CHECK(ndr_push_winreg_CreateAction(ndr, NDR_SCALARS, *r->in.action_taken)); - } - } - if (flags & NDR_OUT) { - if (r->out.new_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.new_handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.action_taken)); - if (r->out.action_taken) { - NDR_CHECK(ndr_push_winreg_CreateAction(ndr, NDR_SCALARS, *r->out.action_taken)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_CreateKey(struct ndr_pull *ndr, int flags, struct winreg_CreateKey *r) -{ - uint32_t _ptr_secdesc; - uint32_t _ptr_action_taken; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_secdesc_0; - TALLOC_CTX *_mem_save_new_handle_0; - TALLOC_CTX *_mem_save_action_taken_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyclass)); - NDR_CHECK(ndr_pull_winreg_KeyOptions(ndr, NDR_SCALARS, &r->in.options)); - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc)); - if (_ptr_secdesc) { - NDR_PULL_ALLOC(ndr, r->in.secdesc); - } else { - r->in.secdesc = NULL; - } - if (r->in.secdesc) { - _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc, 0); - NDR_CHECK(ndr_pull_winreg_SecBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_action_taken)); - if (_ptr_action_taken) { - NDR_PULL_ALLOC(ndr, r->in.action_taken); - } else { - r->in.action_taken = NULL; - } - if (r->in.action_taken) { - _mem_save_action_taken_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.action_taken, 0); - NDR_CHECK(ndr_pull_winreg_CreateAction(ndr, NDR_SCALARS, r->in.action_taken)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_action_taken_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.new_handle); - ZERO_STRUCTP(r->out.new_handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.new_handle); - } - _mem_save_new_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.new_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.new_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_action_taken)); - if (_ptr_action_taken) { - NDR_PULL_ALLOC(ndr, r->out.action_taken); - } else { - r->out.action_taken = NULL; - } - if (r->out.action_taken) { - _mem_save_action_taken_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.action_taken, 0); - NDR_CHECK(ndr_pull_winreg_CreateAction(ndr, NDR_SCALARS, r->out.action_taken)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_action_taken_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_CreateKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CreateKey *r) -{ - ndr_print_struct(ndr, name, "winreg_CreateKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_CreateKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_winreg_String(ndr, "name", &r->in.name); - ndr_print_winreg_String(ndr, "keyclass", &r->in.keyclass); - ndr_print_winreg_KeyOptions(ndr, "options", r->in.options); - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_ptr(ndr, "secdesc", r->in.secdesc); - ndr->depth++; - if (r->in.secdesc) { - ndr_print_winreg_SecBuf(ndr, "secdesc", r->in.secdesc); - } - ndr->depth--; - ndr_print_ptr(ndr, "action_taken", r->in.action_taken); - ndr->depth++; - if (r->in.action_taken) { - ndr_print_winreg_CreateAction(ndr, "action_taken", *r->in.action_taken); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_CreateKey"); - ndr->depth++; - ndr_print_ptr(ndr, "new_handle", r->out.new_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "new_handle", r->out.new_handle); - ndr->depth--; - ndr_print_ptr(ndr, "action_taken", r->out.action_taken); - ndr->depth++; - if (r->out.action_taken) { - ndr_print_winreg_CreateAction(ndr, "action_taken", *r->out.action_taken); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_DeleteKey(struct ndr_push *ndr, int flags, const struct winreg_DeleteKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.key)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_DeleteKey(struct ndr_pull *ndr, int flags, struct winreg_DeleteKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.key)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_DeleteKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteKey *r) -{ - ndr_print_struct(ndr, name, "winreg_DeleteKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_DeleteKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_winreg_String(ndr, "key", &r->in.key); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_DeleteKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_DeleteValue(struct ndr_push *ndr, int flags, const struct winreg_DeleteValue *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.value)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_DeleteValue(struct ndr_pull *ndr, int flags, struct winreg_DeleteValue *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.value)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_DeleteValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteValue *r) -{ - ndr_print_struct(ndr, name, "winreg_DeleteValue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_DeleteValue"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_winreg_String(ndr, "value", &r->in.value); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_DeleteValue"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_EnumKey(struct ndr_push *ndr, int flags, const struct winreg_EnumKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.keyclass)); - if (r->in.keyclass) { - NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyclass)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.last_changed_time)); - if (r->in.last_changed_time) { - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->in.last_changed_time)); - } - } - if (flags & NDR_OUT) { - if (r->out.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.keyclass)); - if (r->out.keyclass) { - NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.keyclass)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.last_changed_time)); - if (r->out.last_changed_time) { - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->out.last_changed_time)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_EnumKey(struct ndr_pull *ndr, int flags, struct winreg_EnumKey *r) -{ - uint32_t _ptr_keyclass; - uint32_t _ptr_last_changed_time; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_keyclass_0; - TALLOC_CTX *_mem_save_last_changed_time_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyclass)); - if (_ptr_keyclass) { - NDR_PULL_ALLOC(ndr, r->in.keyclass); - } else { - r->in.keyclass = NULL; - } - if (r->in.keyclass) { - _mem_save_keyclass_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.keyclass, 0); - NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyclass)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyclass_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_last_changed_time)); - if (_ptr_last_changed_time) { - NDR_PULL_ALLOC(ndr, r->in.last_changed_time); - } else { - r->in.last_changed_time = NULL; - } - if (r->in.last_changed_time) { - _mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.last_changed_time, 0); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->in.last_changed_time)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.name); - *r->out.name = *r->in.name; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyclass)); - if (_ptr_keyclass) { - NDR_PULL_ALLOC(ndr, r->out.keyclass); - } else { - r->out.keyclass = NULL; - } - if (r->out.keyclass) { - _mem_save_keyclass_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.keyclass, 0); - NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.keyclass)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyclass_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_last_changed_time)); - if (_ptr_last_changed_time) { - NDR_PULL_ALLOC(ndr, r->out.last_changed_time); - } else { - r->out.last_changed_time = NULL; - } - if (r->out.last_changed_time) { - _mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.last_changed_time, 0); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->out.last_changed_time)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_EnumKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumKey *r) -{ - ndr_print_struct(ndr, name, "winreg_EnumKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_EnumKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "enum_index", r->in.enum_index); - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_winreg_StringBuf(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_ptr(ndr, "keyclass", r->in.keyclass); - ndr->depth++; - if (r->in.keyclass) { - ndr_print_winreg_StringBuf(ndr, "keyclass", r->in.keyclass); - } - ndr->depth--; - ndr_print_ptr(ndr, "last_changed_time", r->in.last_changed_time); - ndr->depth++; - if (r->in.last_changed_time) { - ndr_print_NTTIME(ndr, "last_changed_time", *r->in.last_changed_time); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_EnumKey"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->out.name); - ndr->depth++; - ndr_print_winreg_StringBuf(ndr, "name", r->out.name); - ndr->depth--; - ndr_print_ptr(ndr, "keyclass", r->out.keyclass); - ndr->depth++; - if (r->out.keyclass) { - ndr_print_winreg_StringBuf(ndr, "keyclass", r->out.keyclass); - } - ndr->depth--; - ndr_print_ptr(ndr, "last_changed_time", r->out.last_changed_time); - ndr->depth++; - if (r->out.last_changed_time) { - ndr_print_NTTIME(ndr, "last_changed_time", *r->out.last_changed_time); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_EnumValue(struct ndr_push *ndr, int flags, const struct winreg_EnumValue *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index)); - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.type)); - if (r->in.type) { - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.type)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.value)); - if (r->in.value) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.value, *r->in.length)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.size)); - if (r->in.size) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.size)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.length)); - if (r->in.length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.length)); - } - } - if (flags & NDR_OUT) { - if (r->out.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.type)); - if (r->out.type) { - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.value)); - if (r->out.value) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.length)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.value, *r->out.length)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.size)); - if (r->out.size) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.size)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.length)); - if (r->out.length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.length)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int flags, struct winreg_EnumValue *r) -{ - uint32_t _ptr_type; - uint32_t _ptr_value; - uint32_t _ptr_size; - uint32_t _ptr_length; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_name_0; - TALLOC_CTX *_mem_save_type_0; - TALLOC_CTX *_mem_save_value_0; - TALLOC_CTX *_mem_save_size_0; - TALLOC_CTX *_mem_save_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type)); - if (_ptr_type) { - NDR_PULL_ALLOC(ndr, r->in.type); - } else { - r->in.type = NULL; - } - if (r->in.type) { - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.type, 0); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value)); - if (_ptr_value) { - NDR_PULL_ALLOC(ndr, r->in.value); - } else { - r->in.value = NULL; - } - if (r->in.value) { - _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.value, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value)); - if (ndr_get_array_length(ndr, &r->in.value) > ndr_get_array_size(ndr, &r->in.value)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value), ndr_get_array_length(ndr, &r->in.value)); - } - NDR_PULL_ALLOC_N(ndr, r->in.value, ndr_get_array_size(ndr, &r->in.value)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.value, ndr_get_array_length(ndr, &r->in.value))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size)); - if (_ptr_size) { - NDR_PULL_ALLOC(ndr, r->in.size); - } else { - r->in.size = NULL; - } - if (r->in.size) { - _mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.size, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_length)); - if (_ptr_length) { - NDR_PULL_ALLOC(ndr, r->in.length); - } else { - r->in.length = NULL; - } - if (r->in.length) { - _mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.name); - *r->out.name = *r->in.name; - if (r->in.value) { - if (r->in.size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()"); - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.value, *r->in.size)); - } - if (r->in.value) { - if (r->in.length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()"); - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.value, *r->in.length)); - } - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.name); - } - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type)); - if (_ptr_type) { - NDR_PULL_ALLOC(ndr, r->out.type); - } else { - r->out.type = NULL; - } - if (r->out.type) { - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.type, 0); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value)); - if (_ptr_value) { - NDR_PULL_ALLOC(ndr, r->out.value); - } else { - r->out.value = NULL; - } - if (r->out.value) { - _mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.value, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.value)); - if (ndr_get_array_length(ndr, &r->out.value) > ndr_get_array_size(ndr, &r->out.value)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.value), ndr_get_array_length(ndr, &r->out.value)); - } - NDR_PULL_ALLOC_N(ndr, r->out.value, ndr_get_array_size(ndr, &r->out.value)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.value, ndr_get_array_length(ndr, &r->out.value))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size)); - if (_ptr_size) { - NDR_PULL_ALLOC(ndr, r->out.size); - } else { - r->out.size = NULL; - } - if (r->out.size) { - _mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.size, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_length)); - if (_ptr_length) { - NDR_PULL_ALLOC(ndr, r->out.length); - } else { - r->out.length = NULL; - } - if (r->out.length) { - _mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.value) { - if (r->out.size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()"); - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value, *r->out.size)); - } - if (r->out.value) { - if (r->out.length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()"); - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.value, *r->out.length)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_EnumValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumValue *r) -{ - ndr_print_struct(ndr, name, "winreg_EnumValue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_EnumValue"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint32(ndr, "enum_index", r->in.enum_index); - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_winreg_ValNameBuf(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_ptr(ndr, "type", r->in.type); - ndr->depth++; - if (r->in.type) { - ndr_print_winreg_Type(ndr, "type", *r->in.type); - } - ndr->depth--; - ndr_print_ptr(ndr, "value", r->in.value); - ndr->depth++; - if (r->in.value) { - if (r->in.length == NULL) return; - ndr_print_array_uint8(ndr, "value", r->in.value, *r->in.length); - } - ndr->depth--; - ndr_print_ptr(ndr, "size", r->in.size); - ndr->depth++; - if (r->in.size) { - ndr_print_uint32(ndr, "size", *r->in.size); - } - ndr->depth--; - ndr_print_ptr(ndr, "length", r->in.length); - ndr->depth++; - if (r->in.length) { - ndr_print_uint32(ndr, "length", *r->in.length); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_EnumValue"); - ndr->depth++; - ndr_print_ptr(ndr, "name", r->out.name); - ndr->depth++; - ndr_print_winreg_ValNameBuf(ndr, "name", r->out.name); - ndr->depth--; - ndr_print_ptr(ndr, "type", r->out.type); - ndr->depth++; - if (r->out.type) { - ndr_print_winreg_Type(ndr, "type", *r->out.type); - } - ndr->depth--; - ndr_print_ptr(ndr, "value", r->out.value); - ndr->depth++; - if (r->out.value) { - if (r->out.length == NULL) return; - ndr_print_array_uint8(ndr, "value", r->out.value, *r->out.length); - } - ndr->depth--; - ndr_print_ptr(ndr, "size", r->out.size); - ndr->depth++; - if (r->out.size) { - ndr_print_uint32(ndr, "size", *r->out.size); - } - ndr->depth--; - ndr_print_ptr(ndr, "length", r->out.length); - ndr->depth++; - if (r->out.length) { - ndr_print_uint32(ndr, "length", *r->out.length); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_FlushKey(struct ndr_push *ndr, int flags, const struct winreg_FlushKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_FlushKey(struct ndr_pull *ndr, int flags, struct winreg_FlushKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_FlushKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_FlushKey *r) -{ - ndr_print_struct(ndr, name, "winreg_FlushKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_FlushKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_FlushKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_GetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_GetKeySecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info)); - if (r->in.sd == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd)); - } - if (flags & NDR_OUT) { - if (r->out.sd == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sd)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_GetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_GetKeySecurity *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sd_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sd); - } - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.sd); - *r->out.sd = *r->in.sd; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.sd); - } - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.sd, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_GetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetKeySecurity *r) -{ - ndr_print_struct(ndr, name, "winreg_GetKeySecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_GetKeySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info); - ndr_print_ptr(ndr, "sd", r->in.sd); - ndr->depth++; - ndr_print_KeySecurityData(ndr, "sd", r->in.sd); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_GetKeySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "sd", r->out.sd); - ndr->depth++; - ndr_print_KeySecurityData(ndr, "sd", r->out.sd); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_LoadKey(struct ndr_push *ndr, int flags, const struct winreg_LoadKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.keyname)); - if (r->in.keyname) { - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyname)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.filename)); - if (r->in.filename) { - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_LoadKey(struct ndr_pull *ndr, int flags, struct winreg_LoadKey *r) -{ - uint32_t _ptr_keyname; - uint32_t _ptr_filename; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_keyname_0; - TALLOC_CTX *_mem_save_filename_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyname)); - if (_ptr_keyname) { - NDR_PULL_ALLOC(ndr, r->in.keyname); - } else { - r->in.keyname = NULL; - } - if (r->in.keyname) { - _mem_save_keyname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.keyname, 0); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyname_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filename)); - if (_ptr_filename) { - NDR_PULL_ALLOC(ndr, r->in.filename); - } else { - r->in.filename = NULL; - } - if (r->in.filename) { - _mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, 0); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_LoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_LoadKey *r) -{ - ndr_print_struct(ndr, name, "winreg_LoadKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_LoadKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "keyname", r->in.keyname); - ndr->depth++; - if (r->in.keyname) { - ndr_print_winreg_String(ndr, "keyname", r->in.keyname); - } - ndr->depth--; - ndr_print_ptr(ndr, "filename", r->in.filename); - ndr->depth++; - if (r->in.filename) { - ndr_print_winreg_String(ndr, "filename", r->in.filename); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_LoadKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_NotifyChangeKeyValue(struct ndr_push *ndr, int flags, const struct winreg_NotifyChangeKeyValue *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.watch_subtree)); - NDR_CHECK(ndr_push_winreg_NotifyChangeType(ndr, NDR_SCALARS, r->in.notify_filter)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string1)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string2)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_NotifyChangeKeyValue(struct ndr_pull *ndr, int flags, struct winreg_NotifyChangeKeyValue *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.watch_subtree)); - NDR_CHECK(ndr_pull_winreg_NotifyChangeType(ndr, NDR_SCALARS, &r->in.notify_filter)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown)); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string1)); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string2)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_NotifyChangeKeyValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_NotifyChangeKeyValue *r) -{ - ndr_print_struct(ndr, name, "winreg_NotifyChangeKeyValue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_NotifyChangeKeyValue"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_uint8(ndr, "watch_subtree", r->in.watch_subtree); - ndr_print_winreg_NotifyChangeType(ndr, "notify_filter", r->in.notify_filter); - ndr_print_uint32(ndr, "unknown", r->in.unknown); - ndr_print_winreg_String(ndr, "string1", &r->in.string1); - ndr_print_winreg_String(ndr, "string2", &r->in.string2); - ndr_print_uint32(ndr, "unknown2", r->in.unknown2); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_NotifyChangeKeyValue"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_OpenKey(struct ndr_push *ndr, int flags, const struct winreg_OpenKey *r) -{ - if (flags & NDR_IN) { - if (r->in.parent_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.parent_handle)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyname)); - NDR_CHECK(ndr_push_winreg_KeyOptions(ndr, NDR_SCALARS, r->in.options)); - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_OpenKey(struct ndr_pull *ndr, int flags, struct winreg_OpenKey *r) -{ - TALLOC_CTX *_mem_save_parent_handle_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.parent_handle); - } - _mem_save_parent_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parent_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.parent_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyname)); - NDR_CHECK(ndr_pull_winreg_KeyOptions(ndr, NDR_SCALARS, &r->in.options)); - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenKey *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenKey"); - ndr->depth++; - ndr_print_ptr(ndr, "parent_handle", r->in.parent_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "parent_handle", r->in.parent_handle); - ndr->depth--; - ndr_print_winreg_String(ndr, "keyname", &r->in.keyname); - ndr_print_winreg_KeyOptions(ndr, "options", r->in.options); - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryInfoKey(struct ndr_push *ndr, int flags, const struct winreg_QueryInfoKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.classname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.classname)); - } - if (flags & NDR_OUT) { - if (r->out.classname == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.classname)); - if (r->out.num_subkeys == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_subkeys)); - if (r->out.max_subkeylen == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_subkeylen)); - if (r->out.max_classlen == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_classlen)); - if (r->out.num_values == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_values)); - if (r->out.max_valnamelen == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_valnamelen)); - if (r->out.max_valbufsize == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_valbufsize)); - if (r->out.secdescsize == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.secdescsize)); - if (r->out.last_changed_time == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->out.last_changed_time)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryInfoKey(struct ndr_pull *ndr, int flags, struct winreg_QueryInfoKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_classname_0; - TALLOC_CTX *_mem_save_num_subkeys_0; - TALLOC_CTX *_mem_save_max_subkeylen_0; - TALLOC_CTX *_mem_save_max_classlen_0; - TALLOC_CTX *_mem_save_num_values_0; - TALLOC_CTX *_mem_save_max_valnamelen_0; - TALLOC_CTX *_mem_save_max_valbufsize_0; - TALLOC_CTX *_mem_save_secdescsize_0; - TALLOC_CTX *_mem_save_last_changed_time_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.classname); - } - _mem_save_classname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.classname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.classname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_classname_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.classname); - *r->out.classname = *r->in.classname; - NDR_PULL_ALLOC(ndr, r->out.num_subkeys); - ZERO_STRUCTP(r->out.num_subkeys); - NDR_PULL_ALLOC(ndr, r->out.max_subkeylen); - ZERO_STRUCTP(r->out.max_subkeylen); - NDR_PULL_ALLOC(ndr, r->out.max_classlen); - ZERO_STRUCTP(r->out.max_classlen); - NDR_PULL_ALLOC(ndr, r->out.num_values); - ZERO_STRUCTP(r->out.num_values); - NDR_PULL_ALLOC(ndr, r->out.max_valnamelen); - ZERO_STRUCTP(r->out.max_valnamelen); - NDR_PULL_ALLOC(ndr, r->out.max_valbufsize); - ZERO_STRUCTP(r->out.max_valbufsize); - NDR_PULL_ALLOC(ndr, r->out.secdescsize); - ZERO_STRUCTP(r->out.secdescsize); - NDR_PULL_ALLOC(ndr, r->out.last_changed_time); - ZERO_STRUCTP(r->out.last_changed_time); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.classname); - } - _mem_save_classname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.classname, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.classname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_classname_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_subkeys); - } - _mem_save_num_subkeys_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_subkeys, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_subkeys)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_subkeys_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.max_subkeylen); - } - _mem_save_max_subkeylen_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.max_subkeylen, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_subkeylen)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_subkeylen_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.max_classlen); - } - _mem_save_max_classlen_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.max_classlen, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_classlen)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_classlen_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_values); - } - _mem_save_num_values_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_values, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_values)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_values_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.max_valnamelen); - } - _mem_save_max_valnamelen_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.max_valnamelen, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_valnamelen)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_valnamelen_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.max_valbufsize); - } - _mem_save_max_valbufsize_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.max_valbufsize, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_valbufsize)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_valbufsize_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.secdescsize); - } - _mem_save_secdescsize_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.secdescsize, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.secdescsize)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdescsize_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.last_changed_time); - } - _mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.last_changed_time, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->out.last_changed_time)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_QueryInfoKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryInfoKey *r) -{ - ndr_print_struct(ndr, name, "winreg_QueryInfoKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_QueryInfoKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "classname", r->in.classname); - ndr->depth++; - ndr_print_winreg_String(ndr, "classname", r->in.classname); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_QueryInfoKey"); - ndr->depth++; - ndr_print_ptr(ndr, "classname", r->out.classname); - ndr->depth++; - ndr_print_winreg_String(ndr, "classname", r->out.classname); - ndr->depth--; - ndr_print_ptr(ndr, "num_subkeys", r->out.num_subkeys); - ndr->depth++; - ndr_print_uint32(ndr, "num_subkeys", *r->out.num_subkeys); - ndr->depth--; - ndr_print_ptr(ndr, "max_subkeylen", r->out.max_subkeylen); - ndr->depth++; - ndr_print_uint32(ndr, "max_subkeylen", *r->out.max_subkeylen); - ndr->depth--; - ndr_print_ptr(ndr, "max_classlen", r->out.max_classlen); - ndr->depth++; - ndr_print_uint32(ndr, "max_classlen", *r->out.max_classlen); - ndr->depth--; - ndr_print_ptr(ndr, "num_values", r->out.num_values); - ndr->depth++; - ndr_print_uint32(ndr, "num_values", *r->out.num_values); - ndr->depth--; - ndr_print_ptr(ndr, "max_valnamelen", r->out.max_valnamelen); - ndr->depth++; - ndr_print_uint32(ndr, "max_valnamelen", *r->out.max_valnamelen); - ndr->depth--; - ndr_print_ptr(ndr, "max_valbufsize", r->out.max_valbufsize); - ndr->depth++; - ndr_print_uint32(ndr, "max_valbufsize", *r->out.max_valbufsize); - ndr->depth--; - ndr_print_ptr(ndr, "secdescsize", r->out.secdescsize); - ndr->depth++; - ndr_print_uint32(ndr, "secdescsize", *r->out.secdescsize); - ndr->depth--; - ndr_print_ptr(ndr, "last_changed_time", r->out.last_changed_time); - ndr->depth++; - ndr_print_NTTIME(ndr, "last_changed_time", *r->out.last_changed_time); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryValue(struct ndr_push *ndr, int flags, const struct winreg_QueryValue *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.value_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.value_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.type)); - if (r->in.type) { - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.type)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data)); - if (r->in.data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size?*r->in.data_size:0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_length?*r->in.data_length:0)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.data_length?*r->in.data_length:0)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_size)); - if (r->in.data_size) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_size)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_length)); - if (r->in.data_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_length)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.type)); - if (r->out.type) { - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data)); - if (r->out.data) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->out.data_size?*r->out.data_size:0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->out.data_length?*r->out.data_length:0)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->out.data_length?*r->out.data_length:0)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data_size)); - if (r->out.data_size) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_size)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data_length)); - if (r->out.data_length) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_length)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int flags, struct winreg_QueryValue *r) -{ - uint32_t _ptr_type; - uint32_t _ptr_data; - uint32_t _ptr_data_size; - uint32_t _ptr_data_length; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_value_name_0; - TALLOC_CTX *_mem_save_type_0; - TALLOC_CTX *_mem_save_data_0; - TALLOC_CTX *_mem_save_data_size_0; - TALLOC_CTX *_mem_save_data_length_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.value_name); - } - _mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.value_name, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.value_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type)); - if (_ptr_type) { - NDR_PULL_ALLOC(ndr, r->in.type); - } else { - r->in.type = NULL; - } - if (r->in.type) { - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.type, 0); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->in.data); - } else { - r->in.data = NULL; - } - if (r->in.data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data)); - if (ndr_get_array_length(ndr, &r->in.data) > ndr_get_array_size(ndr, &r->in.data)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.data), ndr_get_array_length(ndr, &r->in.data)); - } - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_length(ndr, &r->in.data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size)); - if (_ptr_data_size) { - NDR_PULL_ALLOC(ndr, r->in.data_size); - } else { - r->in.data_size = NULL; - } - if (r->in.data_size) { - _mem_save_data_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data_size, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.data_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_size_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_length)); - if (_ptr_data_length) { - NDR_PULL_ALLOC(ndr, r->in.data_length); - } else { - r->in.data_length = NULL; - } - if (r->in.data_length) { - _mem_save_data_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.data_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.data_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_length_0, 0); - } - if (r->in.data) { - if (r->in.data_size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()"); - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.data_size?*r->in.data_size:0)); - } - if (r->in.data) { - if (r->in.data_length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()"); - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.data, r->in.data_length?*r->in.data_length:0)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type)); - if (_ptr_type) { - NDR_PULL_ALLOC(ndr, r->out.type); - } else { - r->out.type = NULL; - } - if (r->out.type) { - _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.type, 0); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data)); - if (_ptr_data) { - NDR_PULL_ALLOC(ndr, r->out.data); - } else { - r->out.data = NULL; - } - if (r->out.data) { - _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.data, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.data)); - if (ndr_get_array_length(ndr, &r->out.data) > ndr_get_array_size(ndr, &r->out.data)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.data), ndr_get_array_length(ndr, &r->out.data)); - } - NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_length(ndr, &r->out.data))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size)); - if (_ptr_data_size) { - NDR_PULL_ALLOC(ndr, r->out.data_size); - } else { - r->out.data_size = NULL; - } - if (r->out.data_size) { - _mem_save_data_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.data_size, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_size_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_length)); - if (_ptr_data_length) { - NDR_PULL_ALLOC(ndr, r->out.data_length); - } else { - r->out.data_length = NULL; - } - if (r->out.data_length) { - _mem_save_data_length_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.data_length, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_length)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_length_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.data) { - if (r->out.data_size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()"); - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->out.data_size?*r->out.data_size:0)); - } - if (r->out.data) { - if (r->out.data_length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()"); - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.data, r->out.data_length?*r->out.data_length:0)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_QueryValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryValue *r) -{ - ndr_print_struct(ndr, name, "winreg_QueryValue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_QueryValue"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "value_name", r->in.value_name); - ndr->depth++; - ndr_print_winreg_String(ndr, "value_name", r->in.value_name); - ndr->depth--; - ndr_print_ptr(ndr, "type", r->in.type); - ndr->depth++; - if (r->in.type) { - ndr_print_winreg_Type(ndr, "type", *r->in.type); - } - ndr->depth--; - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - if (r->in.data) { - if (r->in.data_length == NULL) return; - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.data_length?*r->in.data_length:0); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_size", r->in.data_size); - ndr->depth++; - if (r->in.data_size) { - ndr_print_uint32(ndr, "data_size", *r->in.data_size); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_length", r->in.data_length); - ndr->depth++; - if (r->in.data_length) { - ndr_print_uint32(ndr, "data_length", *r->in.data_length); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_QueryValue"); - ndr->depth++; - ndr_print_ptr(ndr, "type", r->out.type); - ndr->depth++; - if (r->out.type) { - ndr_print_winreg_Type(ndr, "type", *r->out.type); - } - ndr->depth--; - ndr_print_ptr(ndr, "data", r->out.data); - ndr->depth++; - if (r->out.data) { - if (r->out.data_length == NULL) return; - ndr_print_array_uint8(ndr, "data", r->out.data, r->out.data_length?*r->out.data_length:0); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_size", r->out.data_size); - ndr->depth++; - if (r->out.data_size) { - ndr_print_uint32(ndr, "data_size", *r->out.data_size); - } - ndr->depth--; - ndr_print_ptr(ndr, "data_length", r->out.data_length); - ndr->depth++; - if (r->out.data_length) { - ndr_print_uint32(ndr, "data_length", *r->out.data_length); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_ReplaceKey(struct ndr_push *ndr, int flags, const struct winreg_ReplaceKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.subkey == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.subkey)); - if (r->in.new_file == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_file)); - if (r->in.old_file == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_file)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_ReplaceKey(struct ndr_pull *ndr, int flags, struct winreg_ReplaceKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_subkey_0; - TALLOC_CTX *_mem_save_new_file_0; - TALLOC_CTX *_mem_save_old_file_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.subkey); - } - _mem_save_subkey_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.subkey, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.subkey)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subkey_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.new_file); - } - _mem_save_new_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.new_file, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_file_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.old_file); - } - _mem_save_old_file_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.old_file, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_file)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_file_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_ReplaceKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_ReplaceKey *r) -{ - ndr_print_struct(ndr, name, "winreg_ReplaceKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_ReplaceKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "subkey", r->in.subkey); - ndr->depth++; - ndr_print_winreg_String(ndr, "subkey", r->in.subkey); - ndr->depth--; - ndr_print_ptr(ndr, "new_file", r->in.new_file); - ndr->depth++; - ndr_print_winreg_String(ndr, "new_file", r->in.new_file); - ndr->depth--; - ndr_print_ptr(ndr, "old_file", r->in.old_file); - ndr->depth++; - ndr_print_winreg_String(ndr, "old_file", r->in.old_file); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_ReplaceKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_RestoreKey(struct ndr_push *ndr, int flags, const struct winreg_RestoreKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.filename == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_RestoreKey(struct ndr_pull *ndr, int flags, struct winreg_RestoreKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_filename_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.filename); - } - _mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_RestoreKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_RestoreKey *r) -{ - ndr_print_struct(ndr, name, "winreg_RestoreKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_RestoreKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "filename", r->in.filename); - ndr->depth++; - ndr_print_winreg_String(ndr, "filename", r->in.filename); - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_RestoreKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_SaveKey(struct ndr_push *ndr, int flags, const struct winreg_SaveKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.filename == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sec_attrib)); - if (r->in.sec_attrib) { - NDR_CHECK(ndr_push_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_SaveKey(struct ndr_pull *ndr, int flags, struct winreg_SaveKey *r) -{ - uint32_t _ptr_sec_attrib; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_filename_0; - TALLOC_CTX *_mem_save_sec_attrib_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.filename); - } - _mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_attrib)); - if (_ptr_sec_attrib) { - NDR_PULL_ALLOC(ndr, r->in.sec_attrib); - } else { - r->in.sec_attrib = NULL; - } - if (r->in.sec_attrib) { - _mem_save_sec_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_attrib, 0); - NDR_CHECK(ndr_pull_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_attrib_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_SaveKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKey *r) -{ - ndr_print_struct(ndr, name, "winreg_SaveKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_SaveKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "filename", r->in.filename); - ndr->depth++; - ndr_print_winreg_String(ndr, "filename", r->in.filename); - ndr->depth--; - ndr_print_ptr(ndr, "sec_attrib", r->in.sec_attrib); - ndr->depth++; - if (r->in.sec_attrib) { - ndr_print_KeySecurityAttribute(ndr, "sec_attrib", r->in.sec_attrib); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_SaveKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_SetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_SetKeySecurity *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info)); - if (r->in.sd == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_SetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_SetKeySecurity *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_sd_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.sd); - } - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_SetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetKeySecurity *r) -{ - ndr_print_struct(ndr, name, "winreg_SetKeySecurity"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_SetKeySecurity"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info); - ndr_print_ptr(ndr, "sd", r->in.sd); - ndr->depth++; - ndr_print_KeySecurityData(ndr, "sd", r->in.sd); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_SetKeySecurity"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_SetValue(struct ndr_push *ndr, int flags, const struct winreg_SetValue *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type)); - if (r->in.data == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.size)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_SetValue(struct ndr_pull *ndr, int flags, struct winreg_SetValue *r) -{ - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name)); - NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type)); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data))); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.size)); - if (r->in.data) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_SetValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetValue *r) -{ - ndr_print_struct(ndr, name, "winreg_SetValue"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_SetValue"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_winreg_String(ndr, "name", &r->in.name); - ndr_print_winreg_Type(ndr, "type", r->in.type); - ndr_print_ptr(ndr, "data", r->in.data); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->in.data, r->in.size); - ndr->depth--; - ndr_print_uint32(ndr, "size", r->in.size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_SetValue"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_UnLoadKey(struct ndr_push *ndr, int flags, const struct winreg_UnLoadKey *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.subkey == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.subkey)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_UnLoadKey(struct ndr_pull *ndr, int flags, struct winreg_UnLoadKey *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_subkey_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.subkey); - } - _mem_save_subkey_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.subkey, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.subkey)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subkey_0, LIBNDR_FLAG_REF_ALLOC); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_UnLoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_UnLoadKey *r) -{ - ndr_print_struct(ndr, name, "winreg_UnLoadKey"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_UnLoadKey"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "subkey", r->in.subkey); - ndr->depth++; - ndr_print_winreg_String(ndr, "subkey", r->in.subkey); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_UnLoadKey"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_InitiateSystemShutdown(struct ndr_push *ndr, int flags, const struct winreg_InitiateSystemShutdown *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname)); - if (r->in.hostname) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message)); - if (r->in.message) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_InitiateSystemShutdown(struct ndr_pull *ndr, int flags, struct winreg_InitiateSystemShutdown *r) -{ - uint32_t _ptr_hostname; - uint32_t _ptr_message; - TALLOC_CTX *_mem_save_hostname_0; - TALLOC_CTX *_mem_save_message_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname)); - if (_ptr_hostname) { - NDR_PULL_ALLOC(ndr, r->in.hostname); - } else { - r->in.hostname = NULL; - } - if (r->in.hostname) { - _mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message)); - if (_ptr_message) { - NDR_PULL_ALLOC(ndr, r->in.message); - } else { - r->in.message = NULL; - } - if (r->in.message) { - _mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_InitiateSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdown *r) -{ - ndr_print_struct(ndr, name, "winreg_InitiateSystemShutdown"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_InitiateSystemShutdown"); - ndr->depth++; - ndr_print_ptr(ndr, "hostname", r->in.hostname); - ndr->depth++; - if (r->in.hostname) { - ndr_print_uint16(ndr, "hostname", *r->in.hostname); - } - ndr->depth--; - ndr_print_ptr(ndr, "message", r->in.message); - ndr->depth++; - if (r->in.message) { - ndr_print_lsa_StringLarge(ndr, "message", r->in.message); - } - ndr->depth--; - ndr_print_uint32(ndr, "timeout", r->in.timeout); - ndr_print_uint8(ndr, "force_apps", r->in.force_apps); - ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_InitiateSystemShutdown"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_AbortSystemShutdown(struct ndr_push *ndr, int flags, const struct winreg_AbortSystemShutdown *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server)); - if (r->in.server) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.server)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_AbortSystemShutdown(struct ndr_pull *ndr, int flags, struct winreg_AbortSystemShutdown *r) -{ - uint32_t _ptr_server; - TALLOC_CTX *_mem_save_server_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server)); - if (_ptr_server) { - NDR_PULL_ALLOC(ndr, r->in.server); - } else { - r->in.server = NULL; - } - if (r->in.server) { - _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.server)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_AbortSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_AbortSystemShutdown *r) -{ - ndr_print_struct(ndr, name, "winreg_AbortSystemShutdown"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_AbortSystemShutdown"); - ndr->depth++; - ndr_print_ptr(ndr, "server", r->in.server); - ndr->depth++; - if (r->in.server) { - ndr_print_uint16(ndr, "server", *r->in.server); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_AbortSystemShutdown"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_GetVersion(struct ndr_push *ndr, int flags, const struct winreg_GetVersion *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - } - if (flags & NDR_OUT) { - if (r->out.version == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.version)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_GetVersion(struct ndr_pull *ndr, int flags, struct winreg_GetVersion *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_version_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.version); - ZERO_STRUCTP(r->out.version); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.version); - } - _mem_save_version_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.version, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.version)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_version_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_GetVersion(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetVersion *r) -{ - ndr_print_struct(ndr, name, "winreg_GetVersion"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_GetVersion"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_GetVersion"); - ndr->depth++; - ndr_print_ptr(ndr, "version", r->out.version); - ndr->depth++; - ndr_print_uint32(ndr, "version", *r->out.version); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKCC(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCC *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKCC(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCC *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKCC(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCC *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKCC"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKCC"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKCC"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKDD(struct ndr_push *ndr, int flags, const struct winreg_OpenHKDD *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKDD(struct ndr_pull *ndr, int flags, struct winreg_OpenHKDD *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKDD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKDD *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKDD"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKDD"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKDD"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryMultipleValues(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues *r) -{ - uint32_t cntr_values_1; - if (flags & NDR_IN) { - if (r->in.key_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.key_handle)); - if (r->in.values == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.buffer_size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.buffer_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, *r->in.buffer_size)); - } - if (r->in.buffer_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.buffer_size)); - } - if (flags & NDR_OUT) { - if (r->out.values == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1])); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer)); - if (r->out.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.buffer_size)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.buffer_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, *r->out.buffer_size)); - } - if (r->out.buffer_size == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.buffer_size)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues *r) -{ - uint32_t cntr_values_1; - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_key_handle_0; - TALLOC_CTX *_mem_save_values_1; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_buffer_size_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.key_handle); - } - _mem_save_key_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.key_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.key_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.values)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.values)); - if (ndr_get_array_length(ndr, &r->in.values) > ndr_get_array_size(ndr, &r->in.values)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.values), ndr_get_array_length(ndr, &r->in.values)); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.values, ndr_get_array_size(ndr, &r->in.values)); - } - memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->in.values)) * sizeof(*r->in.values)); - _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.values, 0); - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->in.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->in.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_values)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.buffer)); - if (ndr_get_array_length(ndr, &r->in.buffer) > ndr_get_array_size(ndr, &r->in.buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.buffer), ndr_get_array_length(ndr, &r->in.buffer)); - } - NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_length(ndr, &r->in.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.buffer_size); - } - _mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.buffer_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC_N(ndr, r->out.values, r->in.num_values); - memcpy(r->out.values, r->in.values, (r->in.num_values) * sizeof(*r->in.values)); - NDR_PULL_ALLOC(ndr, r->out.buffer_size); - *r->out.buffer_size = *r->in.buffer_size; - if (r->in.values) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.values, r->in.num_values)); - } - if (r->in.values) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.values, r->in.num_values)); - } - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, *r->in.buffer_size)); - } - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.buffer, *r->in.buffer_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.values)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.values)); - if (ndr_get_array_length(ndr, &r->out.values) > ndr_get_array_size(ndr, &r->out.values)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.values), ndr_get_array_length(ndr, &r->out.values)); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.values, ndr_get_array_size(ndr, &r->out.values)); - } - memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->out.values)) * sizeof(*r->in.values)); - _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.values, 0); - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->out.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->out.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->out.buffer); - } else { - r->out.buffer = NULL; - } - if (r->out.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer)); - if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.buffer), ndr_get_array_length(ndr, &r->out.buffer)); - } - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_length(ndr, &r->out.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.buffer_size); - } - _mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer_size, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.buffer_size)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.values) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.values, r->in.num_values)); - } - if (r->out.values) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.values, r->in.num_values)); - } - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, *r->out.buffer_size)); - } - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.buffer, *r->out.buffer_size)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_QueryMultipleValues(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues *r) -{ - uint32_t cntr_values_1; - ndr_print_struct(ndr, name, "winreg_QueryMultipleValues"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_QueryMultipleValues"); - ndr->depth++; - ndr_print_ptr(ndr, "key_handle", r->in.key_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "key_handle", r->in.key_handle); - ndr->depth--; - ndr_print_ptr(ndr, "values", r->in.values); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values); - ndr->depth++; - for (cntr_values_1=0;cntr_values_1in.num_values;cntr_values_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) { - ndr_print_QueryMultipleValue(ndr, "values", &r->in.values[cntr_values_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr_print_uint32(ndr, "num_values", r->in.num_values); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->in.buffer, *r->in.buffer_size); - } - ndr->depth--; - ndr_print_ptr(ndr, "buffer_size", r->in.buffer_size); - ndr->depth++; - ndr_print_uint32(ndr, "buffer_size", *r->in.buffer_size); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_QueryMultipleValues"); - ndr->depth++; - ndr_print_ptr(ndr, "values", r->out.values); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values); - ndr->depth++; - for (cntr_values_1=0;cntr_values_1in.num_values;cntr_values_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) { - ndr_print_QueryMultipleValue(ndr, "values", &r->out.values[cntr_values_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - if (r->out.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, *r->out.buffer_size); - } - ndr->depth--; - ndr_print_ptr(ndr, "buffer_size", r->out.buffer_size); - ndr->depth++; - ndr_print_uint32(ndr, "buffer_size", *r->out.buffer_size); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_InitiateSystemShutdownEx(struct ndr_push *ndr, int flags, const struct winreg_InitiateSystemShutdownEx *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname)); - if (r->in.hostname) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message)); - if (r->in.message) { - NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps)); - NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reason)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_InitiateSystemShutdownEx(struct ndr_pull *ndr, int flags, struct winreg_InitiateSystemShutdownEx *r) -{ - uint32_t _ptr_hostname; - uint32_t _ptr_message; - TALLOC_CTX *_mem_save_hostname_0; - TALLOC_CTX *_mem_save_message_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname)); - if (_ptr_hostname) { - NDR_PULL_ALLOC(ndr, r->in.hostname); - } else { - r->in.hostname = NULL; - } - if (r->in.hostname) { - _mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message)); - if (_ptr_message) { - NDR_PULL_ALLOC(ndr, r->in.message); - } else { - r->in.message = NULL; - } - if (r->in.message) { - _mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0); - NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps)); - NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reason)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_InitiateSystemShutdownEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdownEx *r) -{ - ndr_print_struct(ndr, name, "winreg_InitiateSystemShutdownEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_InitiateSystemShutdownEx"); - ndr->depth++; - ndr_print_ptr(ndr, "hostname", r->in.hostname); - ndr->depth++; - if (r->in.hostname) { - ndr_print_uint16(ndr, "hostname", *r->in.hostname); - } - ndr->depth--; - ndr_print_ptr(ndr, "message", r->in.message); - ndr->depth++; - if (r->in.message) { - ndr_print_lsa_StringLarge(ndr, "message", r->in.message); - } - ndr->depth--; - ndr_print_uint32(ndr, "timeout", r->in.timeout); - ndr_print_uint8(ndr, "force_apps", r->in.force_apps); - ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot); - ndr_print_uint32(ndr, "reason", r->in.reason); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_InitiateSystemShutdownEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_SaveKeyEx(struct ndr_push *ndr, int flags, const struct winreg_SaveKeyEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.filename == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sec_attrib)); - if (r->in.sec_attrib) { - NDR_CHECK(ndr_push_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_SaveKeyEx(struct ndr_pull *ndr, int flags, struct winreg_SaveKeyEx *r) -{ - uint32_t _ptr_sec_attrib; - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_filename_0; - TALLOC_CTX *_mem_save_sec_attrib_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.filename); - } - _mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_attrib)); - if (_ptr_sec_attrib) { - NDR_PULL_ALLOC(ndr, r->in.sec_attrib); - } else { - r->in.sec_attrib = NULL; - } - if (r->in.sec_attrib) { - _mem_save_sec_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_attrib, 0); - NDR_CHECK(ndr_pull_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_attrib_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_SaveKeyEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKeyEx *r) -{ - ndr_print_struct(ndr, name, "winreg_SaveKeyEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_SaveKeyEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "filename", r->in.filename); - ndr->depth++; - ndr_print_winreg_String(ndr, "filename", r->in.filename); - ndr->depth--; - ndr_print_ptr(ndr, "sec_attrib", r->in.sec_attrib); - ndr->depth++; - if (r->in.sec_attrib) { - ndr_print_KeySecurityAttribute(ndr, "sec_attrib", r->in.sec_attrib); - } - ndr->depth--; - ndr_print_uint32(ndr, "flags", r->in.flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_SaveKeyEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKPT(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPT *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKPT(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPT *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKPT(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPT *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKPT"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKPT"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKPT"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_OpenHKPN(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPN *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name)); - if (r->in.system_name) { - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name)); - } - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - } - if (flags & NDR_OUT) { - if (r->out.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_OpenHKPN(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPN *r) -{ - uint32_t _ptr_system_name; - TALLOC_CTX *_mem_save_system_name_0; - TALLOC_CTX *_mem_save_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name)); - if (_ptr_system_name) { - NDR_PULL_ALLOC(ndr, r->in.system_name); - } else { - r->in.system_name = NULL; - } - if (r->in.system_name) { - _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); - } - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_PULL_ALLOC(ndr, r->out.handle); - ZERO_STRUCTP(r->out.handle); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_OpenHKPN(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPN *r) -{ - ndr_print_struct(ndr, name, "winreg_OpenHKPN"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_OpenHKPN"); - ndr->depth++; - ndr_print_ptr(ndr, "system_name", r->in.system_name); - ndr->depth++; - if (r->in.system_name) { - ndr_print_uint16(ndr, "system_name", *r->in.system_name); - } - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_OpenHKPN"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->out.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->out.handle); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_QueryMultipleValues2(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues2 *r) -{ - uint32_t cntr_values_1; - if (flags & NDR_IN) { - if (r->in.key_handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.key_handle)); - if (r->in.values == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1])); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer)); - if (r->in.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered)); - } - if (flags & NDR_OUT) { - if (r->out.values == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values)); - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) { - NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1])); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer)); - if (r->out.buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, r->in.offered)); - } - if (r->out.needed == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.needed)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues2(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues2 *r) -{ - uint32_t cntr_values_1; - uint32_t _ptr_buffer; - TALLOC_CTX *_mem_save_key_handle_0; - TALLOC_CTX *_mem_save_values_1; - TALLOC_CTX *_mem_save_buffer_0; - TALLOC_CTX *_mem_save_needed_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.key_handle); - } - _mem_save_key_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.key_handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.key_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_handle_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.values)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.values)); - if (ndr_get_array_length(ndr, &r->in.values) > ndr_get_array_size(ndr, &r->in.values)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.values), ndr_get_array_length(ndr, &r->in.values)); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.values, ndr_get_array_size(ndr, &r->in.values)); - } - memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->in.values)) * sizeof(*r->in.values)); - _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.values, 0); - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->in.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->in.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_values)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->in.buffer); - } else { - r->in.buffer = NULL; - } - if (r->in.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.buffer)); - if (ndr_get_array_length(ndr, &r->in.buffer) > ndr_get_array_size(ndr, &r->in.buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.buffer), ndr_get_array_length(ndr, &r->in.buffer)); - } - NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_length(ndr, &r->in.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered)); - NDR_PULL_ALLOC_N(ndr, r->out.values, r->in.num_values); - memcpy(r->out.values, r->in.values, (r->in.num_values) * sizeof(*r->in.values)); - NDR_PULL_ALLOC(ndr, r->out.needed); - ZERO_STRUCTP(r->out.needed); - if (r->in.values) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.values, r->in.num_values)); - } - if (r->in.values) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.values, r->in.num_values)); - } - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered)); - } - if (r->in.buffer) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.buffer, r->in.offered)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.values)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.values)); - if (ndr_get_array_length(ndr, &r->out.values) > ndr_get_array_size(ndr, &r->out.values)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.values), ndr_get_array_length(ndr, &r->out.values)); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->out.values, ndr_get_array_size(ndr, &r->out.values)); - } - memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->out.values)) * sizeof(*r->in.values)); - _mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.values, 0); - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->out.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1])); - } - for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->out.values); cntr_values_1++) { - NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer)); - if (_ptr_buffer) { - NDR_PULL_ALLOC(ndr, r->out.buffer); - } else { - r->out.buffer = NULL; - } - if (r->out.buffer) { - _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer)); - if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.buffer), ndr_get_array_length(ndr, &r->out.buffer)); - } - NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_length(ndr, &r->out.buffer))); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.needed); - } - _mem_save_needed_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.needed, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (r->out.values) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.values, r->in.num_values)); - } - if (r->out.values) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.values, r->in.num_values)); - } - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered)); - } - if (r->out.buffer) { - NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.buffer, r->in.offered)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_QueryMultipleValues2(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues2 *r) -{ - uint32_t cntr_values_1; - ndr_print_struct(ndr, name, "winreg_QueryMultipleValues2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_QueryMultipleValues2"); - ndr->depth++; - ndr_print_ptr(ndr, "key_handle", r->in.key_handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "key_handle", r->in.key_handle); - ndr->depth--; - ndr_print_ptr(ndr, "values", r->in.values); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values); - ndr->depth++; - for (cntr_values_1=0;cntr_values_1in.num_values;cntr_values_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) { - ndr_print_QueryMultipleValue(ndr, "values", &r->in.values[cntr_values_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr_print_uint32(ndr, "num_values", r->in.num_values); - ndr_print_ptr(ndr, "buffer", r->in.buffer); - ndr->depth++; - if (r->in.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered); - } - ndr->depth--; - ndr_print_uint32(ndr, "offered", r->in.offered); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_QueryMultipleValues2"); - ndr->depth++; - ndr_print_ptr(ndr, "values", r->out.values); - ndr->depth++; - ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values); - ndr->depth++; - for (cntr_values_1=0;cntr_values_1in.num_values;cntr_values_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) { - ndr_print_QueryMultipleValue(ndr, "values", &r->out.values[cntr_values_1]); - free(idx_1); - } - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "buffer", r->out.buffer); - ndr->depth++; - if (r->out.buffer) { - ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered); - } - ndr->depth--; - ndr_print_ptr(ndr, "needed", r->out.needed); - ndr->depth++; - ndr_print_uint32(ndr, "needed", *r->out.needed); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_winreg_DeleteKeyEx(struct ndr_push *ndr, int flags, const struct winreg_DeleteKeyEx *r) -{ - if (flags & NDR_IN) { - if (r->in.handle == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - if (r->in.key == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.key)); - NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_winreg_DeleteKeyEx(struct ndr_pull *ndr, int flags, struct winreg_DeleteKeyEx *r) -{ - TALLOC_CTX *_mem_save_handle_0; - TALLOC_CTX *_mem_save_key_0; - if (flags & NDR_IN) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.handle); - } - _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.key); - } - _mem_save_key_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.key, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.key)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_winreg_DeleteKeyEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteKeyEx *r) -{ - ndr_print_struct(ndr, name, "winreg_DeleteKeyEx"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "winreg_DeleteKeyEx"); - ndr->depth++; - ndr_print_ptr(ndr, "handle", r->in.handle); - ndr->depth++; - ndr_print_policy_handle(ndr, "handle", r->in.handle); - ndr->depth--; - ndr_print_ptr(ndr, "key", r->in.key); - ndr->depth++; - ndr_print_winreg_String(ndr, "key", r->in.key); - ndr->depth--; - ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask); - ndr_print_uint32(ndr, "reserved", r->in.reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "winreg_DeleteKeyEx"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call winreg_calls[] = { - { - "winreg_OpenHKCR", - sizeof(struct winreg_OpenHKCR), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCR, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCR, - (ndr_print_function_t) ndr_print_winreg_OpenHKCR, - false, - }, - { - "winreg_OpenHKCU", - sizeof(struct winreg_OpenHKCU), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCU, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCU, - (ndr_print_function_t) ndr_print_winreg_OpenHKCU, - false, - }, - { - "winreg_OpenHKLM", - sizeof(struct winreg_OpenHKLM), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKLM, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKLM, - (ndr_print_function_t) ndr_print_winreg_OpenHKLM, - false, - }, - { - "winreg_OpenHKPD", - sizeof(struct winreg_OpenHKPD), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPD, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPD, - (ndr_print_function_t) ndr_print_winreg_OpenHKPD, - false, - }, - { - "winreg_OpenHKU", - sizeof(struct winreg_OpenHKU), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKU, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKU, - (ndr_print_function_t) ndr_print_winreg_OpenHKU, - false, - }, - { - "winreg_CloseKey", - sizeof(struct winreg_CloseKey), - (ndr_push_flags_fn_t) ndr_push_winreg_CloseKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_CloseKey, - (ndr_print_function_t) ndr_print_winreg_CloseKey, - false, - }, - { - "winreg_CreateKey", - sizeof(struct winreg_CreateKey), - (ndr_push_flags_fn_t) ndr_push_winreg_CreateKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_CreateKey, - (ndr_print_function_t) ndr_print_winreg_CreateKey, - false, - }, - { - "winreg_DeleteKey", - sizeof(struct winreg_DeleteKey), - (ndr_push_flags_fn_t) ndr_push_winreg_DeleteKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteKey, - (ndr_print_function_t) ndr_print_winreg_DeleteKey, - false, - }, - { - "winreg_DeleteValue", - sizeof(struct winreg_DeleteValue), - (ndr_push_flags_fn_t) ndr_push_winreg_DeleteValue, - (ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteValue, - (ndr_print_function_t) ndr_print_winreg_DeleteValue, - false, - }, - { - "winreg_EnumKey", - sizeof(struct winreg_EnumKey), - (ndr_push_flags_fn_t) ndr_push_winreg_EnumKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_EnumKey, - (ndr_print_function_t) ndr_print_winreg_EnumKey, - false, - }, - { - "winreg_EnumValue", - sizeof(struct winreg_EnumValue), - (ndr_push_flags_fn_t) ndr_push_winreg_EnumValue, - (ndr_pull_flags_fn_t) ndr_pull_winreg_EnumValue, - (ndr_print_function_t) ndr_print_winreg_EnumValue, - false, - }, - { - "winreg_FlushKey", - sizeof(struct winreg_FlushKey), - (ndr_push_flags_fn_t) ndr_push_winreg_FlushKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_FlushKey, - (ndr_print_function_t) ndr_print_winreg_FlushKey, - false, - }, - { - "winreg_GetKeySecurity", - sizeof(struct winreg_GetKeySecurity), - (ndr_push_flags_fn_t) ndr_push_winreg_GetKeySecurity, - (ndr_pull_flags_fn_t) ndr_pull_winreg_GetKeySecurity, - (ndr_print_function_t) ndr_print_winreg_GetKeySecurity, - false, - }, - { - "winreg_LoadKey", - sizeof(struct winreg_LoadKey), - (ndr_push_flags_fn_t) ndr_push_winreg_LoadKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_LoadKey, - (ndr_print_function_t) ndr_print_winreg_LoadKey, - false, - }, - { - "winreg_NotifyChangeKeyValue", - sizeof(struct winreg_NotifyChangeKeyValue), - (ndr_push_flags_fn_t) ndr_push_winreg_NotifyChangeKeyValue, - (ndr_pull_flags_fn_t) ndr_pull_winreg_NotifyChangeKeyValue, - (ndr_print_function_t) ndr_print_winreg_NotifyChangeKeyValue, - false, - }, - { - "winreg_OpenKey", - sizeof(struct winreg_OpenKey), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenKey, - (ndr_print_function_t) ndr_print_winreg_OpenKey, - false, - }, - { - "winreg_QueryInfoKey", - sizeof(struct winreg_QueryInfoKey), - (ndr_push_flags_fn_t) ndr_push_winreg_QueryInfoKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_QueryInfoKey, - (ndr_print_function_t) ndr_print_winreg_QueryInfoKey, - false, - }, - { - "winreg_QueryValue", - sizeof(struct winreg_QueryValue), - (ndr_push_flags_fn_t) ndr_push_winreg_QueryValue, - (ndr_pull_flags_fn_t) ndr_pull_winreg_QueryValue, - (ndr_print_function_t) ndr_print_winreg_QueryValue, - false, - }, - { - "winreg_ReplaceKey", - sizeof(struct winreg_ReplaceKey), - (ndr_push_flags_fn_t) ndr_push_winreg_ReplaceKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_ReplaceKey, - (ndr_print_function_t) ndr_print_winreg_ReplaceKey, - false, - }, - { - "winreg_RestoreKey", - sizeof(struct winreg_RestoreKey), - (ndr_push_flags_fn_t) ndr_push_winreg_RestoreKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_RestoreKey, - (ndr_print_function_t) ndr_print_winreg_RestoreKey, - false, - }, - { - "winreg_SaveKey", - sizeof(struct winreg_SaveKey), - (ndr_push_flags_fn_t) ndr_push_winreg_SaveKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_SaveKey, - (ndr_print_function_t) ndr_print_winreg_SaveKey, - false, - }, - { - "winreg_SetKeySecurity", - sizeof(struct winreg_SetKeySecurity), - (ndr_push_flags_fn_t) ndr_push_winreg_SetKeySecurity, - (ndr_pull_flags_fn_t) ndr_pull_winreg_SetKeySecurity, - (ndr_print_function_t) ndr_print_winreg_SetKeySecurity, - false, - }, - { - "winreg_SetValue", - sizeof(struct winreg_SetValue), - (ndr_push_flags_fn_t) ndr_push_winreg_SetValue, - (ndr_pull_flags_fn_t) ndr_pull_winreg_SetValue, - (ndr_print_function_t) ndr_print_winreg_SetValue, - false, - }, - { - "winreg_UnLoadKey", - sizeof(struct winreg_UnLoadKey), - (ndr_push_flags_fn_t) ndr_push_winreg_UnLoadKey, - (ndr_pull_flags_fn_t) ndr_pull_winreg_UnLoadKey, - (ndr_print_function_t) ndr_print_winreg_UnLoadKey, - false, - }, - { - "winreg_InitiateSystemShutdown", - sizeof(struct winreg_InitiateSystemShutdown), - (ndr_push_flags_fn_t) ndr_push_winreg_InitiateSystemShutdown, - (ndr_pull_flags_fn_t) ndr_pull_winreg_InitiateSystemShutdown, - (ndr_print_function_t) ndr_print_winreg_InitiateSystemShutdown, - false, - }, - { - "winreg_AbortSystemShutdown", - sizeof(struct winreg_AbortSystemShutdown), - (ndr_push_flags_fn_t) ndr_push_winreg_AbortSystemShutdown, - (ndr_pull_flags_fn_t) ndr_pull_winreg_AbortSystemShutdown, - (ndr_print_function_t) ndr_print_winreg_AbortSystemShutdown, - false, - }, - { - "winreg_GetVersion", - sizeof(struct winreg_GetVersion), - (ndr_push_flags_fn_t) ndr_push_winreg_GetVersion, - (ndr_pull_flags_fn_t) ndr_pull_winreg_GetVersion, - (ndr_print_function_t) ndr_print_winreg_GetVersion, - false, - }, - { - "winreg_OpenHKCC", - sizeof(struct winreg_OpenHKCC), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCC, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCC, - (ndr_print_function_t) ndr_print_winreg_OpenHKCC, - false, - }, - { - "winreg_OpenHKDD", - sizeof(struct winreg_OpenHKDD), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKDD, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKDD, - (ndr_print_function_t) ndr_print_winreg_OpenHKDD, - false, - }, - { - "winreg_QueryMultipleValues", - sizeof(struct winreg_QueryMultipleValues), - (ndr_push_flags_fn_t) ndr_push_winreg_QueryMultipleValues, - (ndr_pull_flags_fn_t) ndr_pull_winreg_QueryMultipleValues, - (ndr_print_function_t) ndr_print_winreg_QueryMultipleValues, - false, - }, - { - "winreg_InitiateSystemShutdownEx", - sizeof(struct winreg_InitiateSystemShutdownEx), - (ndr_push_flags_fn_t) ndr_push_winreg_InitiateSystemShutdownEx, - (ndr_pull_flags_fn_t) ndr_pull_winreg_InitiateSystemShutdownEx, - (ndr_print_function_t) ndr_print_winreg_InitiateSystemShutdownEx, - false, - }, - { - "winreg_SaveKeyEx", - sizeof(struct winreg_SaveKeyEx), - (ndr_push_flags_fn_t) ndr_push_winreg_SaveKeyEx, - (ndr_pull_flags_fn_t) ndr_pull_winreg_SaveKeyEx, - (ndr_print_function_t) ndr_print_winreg_SaveKeyEx, - false, - }, - { - "winreg_OpenHKPT", - sizeof(struct winreg_OpenHKPT), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPT, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPT, - (ndr_print_function_t) ndr_print_winreg_OpenHKPT, - false, - }, - { - "winreg_OpenHKPN", - sizeof(struct winreg_OpenHKPN), - (ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPN, - (ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPN, - (ndr_print_function_t) ndr_print_winreg_OpenHKPN, - false, - }, - { - "winreg_QueryMultipleValues2", - sizeof(struct winreg_QueryMultipleValues2), - (ndr_push_flags_fn_t) ndr_push_winreg_QueryMultipleValues2, - (ndr_pull_flags_fn_t) ndr_pull_winreg_QueryMultipleValues2, - (ndr_print_function_t) ndr_print_winreg_QueryMultipleValues2, - false, - }, - { - "winreg_DeleteKeyEx", - sizeof(struct winreg_DeleteKeyEx), - (ndr_push_flags_fn_t) ndr_push_winreg_DeleteKeyEx, - (ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteKeyEx, - (ndr_print_function_t) ndr_print_winreg_DeleteKeyEx, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const winreg_endpoint_strings[] = { - "ncacn_np:[\\pipe\\winreg]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array winreg_endpoints = { - .count = 3, - .names = winreg_endpoint_strings -}; - -static const char * const winreg_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array winreg_authservices = { - .count = 1, - .names = winreg_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_winreg = { - .name = "winreg", - .syntax_id = { - {0x338cd001,0x2244,0x31f1,{0xaa,0xaa},{0x90,0x00,0x38,0x00,0x10,0x03}}, - NDR_WINREG_VERSION - }, - .helpstring = NDR_WINREG_HELPSTRING, - .num_calls = 36, - .calls = winreg_calls, - .endpoints = &winreg_endpoints, - .authservices = &winreg_authservices -}; - diff --git a/librpc/gen_ndr/ndr_winreg.h b/librpc/gen_ndr/ndr_winreg.h deleted file mode 100644 index c16e2fd04b8..00000000000 --- a/librpc/gen_ndr/ndr_winreg.h +++ /dev/null @@ -1,166 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/winreg.h" - -#ifndef _HEADER_NDR_winreg -#define _HEADER_NDR_winreg - -#define NDR_WINREG_UUID "338cd001-2244-31f1-aaaa-900038001003" -#define NDR_WINREG_VERSION 1.0 -#define NDR_WINREG_NAME "winreg" -#define NDR_WINREG_HELPSTRING "Remote Registry Service" -extern const struct ndr_interface_table ndr_table_winreg; -#define NDR_WINREG_OPENHKCR (0x00) - -#define NDR_WINREG_OPENHKCU (0x01) - -#define NDR_WINREG_OPENHKLM (0x02) - -#define NDR_WINREG_OPENHKPD (0x03) - -#define NDR_WINREG_OPENHKU (0x04) - -#define NDR_WINREG_CLOSEKEY (0x05) - -#define NDR_WINREG_CREATEKEY (0x06) - -#define NDR_WINREG_DELETEKEY (0x07) - -#define NDR_WINREG_DELETEVALUE (0x08) - -#define NDR_WINREG_ENUMKEY (0x09) - -#define NDR_WINREG_ENUMVALUE (0x0a) - -#define NDR_WINREG_FLUSHKEY (0x0b) - -#define NDR_WINREG_GETKEYSECURITY (0x0c) - -#define NDR_WINREG_LOADKEY (0x0d) - -#define NDR_WINREG_NOTIFYCHANGEKEYVALUE (0x0e) - -#define NDR_WINREG_OPENKEY (0x0f) - -#define NDR_WINREG_QUERYINFOKEY (0x10) - -#define NDR_WINREG_QUERYVALUE (0x11) - -#define NDR_WINREG_REPLACEKEY (0x12) - -#define NDR_WINREG_RESTOREKEY (0x13) - -#define NDR_WINREG_SAVEKEY (0x14) - -#define NDR_WINREG_SETKEYSECURITY (0x15) - -#define NDR_WINREG_SETVALUE (0x16) - -#define NDR_WINREG_UNLOADKEY (0x17) - -#define NDR_WINREG_INITIATESYSTEMSHUTDOWN (0x18) - -#define NDR_WINREG_ABORTSYSTEMSHUTDOWN (0x19) - -#define NDR_WINREG_GETVERSION (0x1a) - -#define NDR_WINREG_OPENHKCC (0x1b) - -#define NDR_WINREG_OPENHKDD (0x1c) - -#define NDR_WINREG_QUERYMULTIPLEVALUES (0x1d) - -#define NDR_WINREG_INITIATESYSTEMSHUTDOWNEX (0x1e) - -#define NDR_WINREG_SAVEKEYEX (0x1f) - -#define NDR_WINREG_OPENHKPT (0x20) - -#define NDR_WINREG_OPENHKPN (0x21) - -#define NDR_WINREG_QUERYMULTIPLEVALUES2 (0x22) - -#define NDR_WINREG_DELETEKEYEX (0x23) - -#define NDR_WINREG_CALL_COUNT (36) -void ndr_print_winreg_AccessMask(struct ndr_print *ndr, const char *name, uint32_t r); -enum ndr_err_code ndr_push_winreg_String(struct ndr_push *ndr, int ndr_flags, const struct winreg_String *r); -enum ndr_err_code ndr_pull_winreg_String(struct ndr_pull *ndr, int ndr_flags, struct winreg_String *r); -void ndr_print_winreg_String(struct ndr_print *ndr, const char *name, const struct winreg_String *r); -void ndr_print_KeySecurityData(struct ndr_print *ndr, const char *name, const struct KeySecurityData *r); -void ndr_print_winreg_SecBuf(struct ndr_print *ndr, const char *name, const struct winreg_SecBuf *r); -void ndr_print_winreg_KeyOptions(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_winreg_CreateAction(struct ndr_print *ndr, const char *name, enum winreg_CreateAction r); -void ndr_print_winreg_StringBuf(struct ndr_print *ndr, const char *name, const struct winreg_StringBuf *r); -void ndr_print_winreg_ValNameBuf(struct ndr_print *ndr, const char *name, const struct winreg_ValNameBuf *r); -enum ndr_err_code ndr_push_winreg_NotifyChangeType(struct ndr_push *ndr, int ndr_flags, uint32_t r); -enum ndr_err_code ndr_pull_winreg_NotifyChangeType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); -void ndr_print_winreg_NotifyChangeType(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_KeySecurityAttribute(struct ndr_print *ndr, const char *name, const struct KeySecurityAttribute *r); -void ndr_print_QueryMultipleValue(struct ndr_print *ndr, const char *name, const struct QueryMultipleValue *r); -void ndr_print_winreg_OpenHKCR(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCR *r); -void ndr_print_winreg_OpenHKCU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCU *r); -enum ndr_err_code ndr_push_winreg_OpenHKLM(struct ndr_push *ndr, int flags, const struct winreg_OpenHKLM *r); -enum ndr_err_code ndr_pull_winreg_OpenHKLM(struct ndr_pull *ndr, int flags, struct winreg_OpenHKLM *r); -void ndr_print_winreg_OpenHKLM(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKLM *r); -void ndr_print_winreg_OpenHKPD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPD *r); -void ndr_print_winreg_OpenHKU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKU *r); -enum ndr_err_code ndr_push_winreg_CloseKey(struct ndr_push *ndr, int flags, const struct winreg_CloseKey *r); -enum ndr_err_code ndr_pull_winreg_CloseKey(struct ndr_pull *ndr, int flags, struct winreg_CloseKey *r); -void ndr_print_winreg_CloseKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CloseKey *r); -enum ndr_err_code ndr_push_winreg_CreateKey(struct ndr_push *ndr, int flags, const struct winreg_CreateKey *r); -enum ndr_err_code ndr_pull_winreg_CreateKey(struct ndr_pull *ndr, int flags, struct winreg_CreateKey *r); -void ndr_print_winreg_CreateKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CreateKey *r); -enum ndr_err_code ndr_push_winreg_DeleteKey(struct ndr_push *ndr, int flags, const struct winreg_DeleteKey *r); -enum ndr_err_code ndr_pull_winreg_DeleteKey(struct ndr_pull *ndr, int flags, struct winreg_DeleteKey *r); -void ndr_print_winreg_DeleteKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteKey *r); -void ndr_print_winreg_DeleteValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteValue *r); -enum ndr_err_code ndr_push_winreg_EnumKey(struct ndr_push *ndr, int flags, const struct winreg_EnumKey *r); -enum ndr_err_code ndr_pull_winreg_EnumKey(struct ndr_pull *ndr, int flags, struct winreg_EnumKey *r); -void ndr_print_winreg_EnumKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumKey *r); -enum ndr_err_code ndr_push_winreg_EnumValue(struct ndr_push *ndr, int flags, const struct winreg_EnumValue *r); -enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int flags, struct winreg_EnumValue *r); -void ndr_print_winreg_EnumValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumValue *r); -enum ndr_err_code ndr_push_winreg_FlushKey(struct ndr_push *ndr, int flags, const struct winreg_FlushKey *r); -enum ndr_err_code ndr_pull_winreg_FlushKey(struct ndr_pull *ndr, int flags, struct winreg_FlushKey *r); -void ndr_print_winreg_FlushKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_FlushKey *r); -enum ndr_err_code ndr_push_winreg_GetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_GetKeySecurity *r); -enum ndr_err_code ndr_pull_winreg_GetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_GetKeySecurity *r); -void ndr_print_winreg_GetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetKeySecurity *r); -void ndr_print_winreg_LoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_LoadKey *r); -enum ndr_err_code ndr_push_winreg_NotifyChangeKeyValue(struct ndr_push *ndr, int flags, const struct winreg_NotifyChangeKeyValue *r); -enum ndr_err_code ndr_pull_winreg_NotifyChangeKeyValue(struct ndr_pull *ndr, int flags, struct winreg_NotifyChangeKeyValue *r); -void ndr_print_winreg_NotifyChangeKeyValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_NotifyChangeKeyValue *r); -enum ndr_err_code ndr_push_winreg_OpenKey(struct ndr_push *ndr, int flags, const struct winreg_OpenKey *r); -enum ndr_err_code ndr_pull_winreg_OpenKey(struct ndr_pull *ndr, int flags, struct winreg_OpenKey *r); -void ndr_print_winreg_OpenKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenKey *r); -enum ndr_err_code ndr_push_winreg_QueryInfoKey(struct ndr_push *ndr, int flags, const struct winreg_QueryInfoKey *r); -enum ndr_err_code ndr_pull_winreg_QueryInfoKey(struct ndr_pull *ndr, int flags, struct winreg_QueryInfoKey *r); -void ndr_print_winreg_QueryInfoKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryInfoKey *r); -enum ndr_err_code ndr_push_winreg_QueryValue(struct ndr_push *ndr, int flags, const struct winreg_QueryValue *r); -enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int flags, struct winreg_QueryValue *r); -void ndr_print_winreg_QueryValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryValue *r); -void ndr_print_winreg_ReplaceKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_ReplaceKey *r); -void ndr_print_winreg_RestoreKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_RestoreKey *r); -void ndr_print_winreg_SaveKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKey *r); -void ndr_print_winreg_SetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetKeySecurity *r); -void ndr_print_winreg_SetValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetValue *r); -void ndr_print_winreg_UnLoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_UnLoadKey *r); -void ndr_print_winreg_InitiateSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdown *r); -void ndr_print_winreg_AbortSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_AbortSystemShutdown *r); -enum ndr_err_code ndr_push_winreg_GetVersion(struct ndr_push *ndr, int flags, const struct winreg_GetVersion *r); -enum ndr_err_code ndr_pull_winreg_GetVersion(struct ndr_pull *ndr, int flags, struct winreg_GetVersion *r); -void ndr_print_winreg_GetVersion(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetVersion *r); -void ndr_print_winreg_OpenHKCC(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCC *r); -void ndr_print_winreg_OpenHKDD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKDD *r); -enum ndr_err_code ndr_push_winreg_QueryMultipleValues(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues *r); -enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues *r); -void ndr_print_winreg_QueryMultipleValues(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues *r); -void ndr_print_winreg_InitiateSystemShutdownEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdownEx *r); -void ndr_print_winreg_SaveKeyEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKeyEx *r); -void ndr_print_winreg_OpenHKPT(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPT *r); -void ndr_print_winreg_OpenHKPN(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPN *r); -void ndr_print_winreg_QueryMultipleValues2(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues2 *r); -void ndr_print_winreg_DeleteKeyEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteKeyEx *r); -#endif /* _HEADER_NDR_winreg */ diff --git a/librpc/gen_ndr/ndr_wkssvc.c b/librpc/gen_ndr/ndr_wkssvc.c deleted file mode 100644 index 012f2966314..00000000000 --- a/librpc/gen_ndr/ndr_wkssvc.c +++ /dev/null @@ -1,10804 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_wkssvc.h" - -#include "librpc/gen_ndr/ndr_srvsvc.h" -#include "librpc/gen_ndr/ndr_lsa.h" -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo100(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo100 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo100(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo100 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->domain_name); - } else { - r->domain_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name)); - if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo100(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo100 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo100"); - ndr->depth++; - ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->domain_name); - ndr->depth++; - if (r->domain_name) { - ndr_print_string(ndr, "domain_name", r->domain_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version_major", r->version_major); - ndr_print_uint32(ndr, "version_minor", r->version_minor); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo101(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo101 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->lan_root)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->lan_root) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lan_root, ndr_charset_length(r->lan_root, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo101 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - uint32_t _ptr_lan_root; - TALLOC_CTX *_mem_save_lan_root_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->domain_name); - } else { - r->domain_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lan_root)); - if (_ptr_lan_root) { - NDR_PULL_ALLOC(ndr, r->lan_root); - } else { - r->lan_root = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name)); - if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - if (r->lan_root) { - _mem_save_lan_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root)); - if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo101 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo101"); - ndr->depth++; - ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->domain_name); - ndr->depth++; - if (r->domain_name) { - ndr_print_string(ndr, "domain_name", r->domain_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version_major", r->version_major); - ndr_print_uint32(ndr, "version_minor", r->version_minor); - ndr_print_ptr(ndr, "lan_root", r->lan_root); - ndr->depth++; - if (r->lan_root) { - ndr_print_string(ndr, "lan_root", r->lan_root); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo102(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo102 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->lan_root)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logged_on_users)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->lan_root) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lan_root, ndr_charset_length(r->lan_root, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo102 *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - uint32_t _ptr_lan_root; - TALLOC_CTX *_mem_save_lan_root_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->server_name); - } else { - r->server_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->domain_name); - } else { - r->domain_name = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lan_root)); - if (_ptr_lan_root) { - NDR_PULL_ALLOC(ndr, r->lan_root); - } else { - r->lan_root = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logged_on_users)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name)); - if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (r->domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name)); - if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - if (r->lan_root) { - _mem_save_lan_root_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root)); - if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo102(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo102 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo102"); - ndr->depth++; - ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id); - ndr_print_ptr(ndr, "server_name", r->server_name); - ndr->depth++; - if (r->server_name) { - ndr_print_string(ndr, "server_name", r->server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->domain_name); - ndr->depth++; - if (r->domain_name) { - ndr_print_string(ndr, "domain_name", r->domain_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "version_major", r->version_major); - ndr_print_uint32(ndr, "version_minor", r->version_minor); - ndr_print_ptr(ndr, "lan_root", r->lan_root); - ndr->depth++; - if (r->lan_root) { - ndr_print_string(ndr, "lan_root", r->lan_root); - } - ndr->depth--; - ndr_print_uint32(ndr, "logged_on_users", r->logged_on_users); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo502(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->char_wait)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->collection_time)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_collection_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keep_connection)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_commands)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_timeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_char_buf)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_threads)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_quota)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_increment)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_maximum)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_increment)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_maximum)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cache_file_timeout)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dormant_file_limit)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->read_ahead_throughput)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mailslot_buffers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_srv_announce_buffers)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_illegal_dgram_events)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dgram_event_reset_freq)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_election_packets)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_opportunistic_locking)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_unlock_behind)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_close_behind)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_named_pipes)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_lock_read_unlock)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->utilize_nt_caching)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_read)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_write)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_write_raw_data)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_encryption)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_files_deny_write)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_read_only_files)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->force_core_create_mode)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_512_byte_max_transfer)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo502(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo502 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->char_wait)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->collection_time)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_collection_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keep_connection)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_commands)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_timeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_char_buf)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_threads)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_quota)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_increment)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_maximum)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_increment)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_maximum)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cache_file_timeout)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dormant_file_limit)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->read_ahead_throughput)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mailslot_buffers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_srv_announce_buffers)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_illegal_dgram_events)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dgram_event_reset_freq)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_election_packets)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_opportunistic_locking)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_unlock_behind)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_close_behind)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_named_pipes)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_lock_read_unlock)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->utilize_nt_caching)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_read)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_write)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_write_raw_data)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_encryption)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_files_deny_write)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_read_only_files)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->force_core_create_mode)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_512_byte_max_transfer)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo502(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo502 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo502"); - ndr->depth++; - ndr_print_uint32(ndr, "char_wait", r->char_wait); - ndr_print_uint32(ndr, "collection_time", r->collection_time); - ndr_print_uint32(ndr, "maximum_collection_count", r->maximum_collection_count); - ndr_print_uint32(ndr, "keep_connection", r->keep_connection); - ndr_print_uint32(ndr, "max_commands", r->max_commands); - ndr_print_uint32(ndr, "session_timeout", r->session_timeout); - ndr_print_uint32(ndr, "size_char_buf", r->size_char_buf); - ndr_print_uint32(ndr, "max_threads", r->max_threads); - ndr_print_uint32(ndr, "lock_quota", r->lock_quota); - ndr_print_uint32(ndr, "lock_increment", r->lock_increment); - ndr_print_uint32(ndr, "lock_maximum", r->lock_maximum); - ndr_print_uint32(ndr, "pipe_increment", r->pipe_increment); - ndr_print_uint32(ndr, "pipe_maximum", r->pipe_maximum); - ndr_print_uint32(ndr, "cache_file_timeout", r->cache_file_timeout); - ndr_print_uint32(ndr, "dormant_file_limit", r->dormant_file_limit); - ndr_print_uint32(ndr, "read_ahead_throughput", r->read_ahead_throughput); - ndr_print_uint32(ndr, "num_mailslot_buffers", r->num_mailslot_buffers); - ndr_print_uint32(ndr, "num_srv_announce_buffers", r->num_srv_announce_buffers); - ndr_print_uint32(ndr, "max_illegal_dgram_events", r->max_illegal_dgram_events); - ndr_print_uint32(ndr, "dgram_event_reset_freq", r->dgram_event_reset_freq); - ndr_print_uint32(ndr, "log_election_packets", r->log_election_packets); - ndr_print_uint32(ndr, "use_opportunistic_locking", r->use_opportunistic_locking); - ndr_print_uint32(ndr, "use_unlock_behind", r->use_unlock_behind); - ndr_print_uint32(ndr, "use_close_behind", r->use_close_behind); - ndr_print_uint32(ndr, "buf_named_pipes", r->buf_named_pipes); - ndr_print_uint32(ndr, "use_lock_read_unlock", r->use_lock_read_unlock); - ndr_print_uint32(ndr, "utilize_nt_caching", r->utilize_nt_caching); - ndr_print_uint32(ndr, "use_raw_read", r->use_raw_read); - ndr_print_uint32(ndr, "use_raw_write", r->use_raw_write); - ndr_print_uint32(ndr, "use_write_raw_data", r->use_write_raw_data); - ndr_print_uint32(ndr, "use_encryption", r->use_encryption); - ndr_print_uint32(ndr, "buf_files_deny_write", r->buf_files_deny_write); - ndr_print_uint32(ndr, "buf_read_only_files", r->buf_read_only_files); - ndr_print_uint32(ndr, "force_core_create_mode", r->force_core_create_mode); - ndr_print_uint32(ndr, "use_512_byte_max_transfer", r->use_512_byte_max_transfer); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1010(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1010 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->char_wait)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1010(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1010 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->char_wait)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1010(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1010 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1010"); - ndr->depth++; - ndr_print_uint32(ndr, "char_wait", r->char_wait); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1011(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1011 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->collection_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1011(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1011 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->collection_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1011(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1011 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1011"); - ndr->depth++; - ndr_print_uint32(ndr, "collection_time", r->collection_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1012(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1012 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_collection_count)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1012(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1012 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_collection_count)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1012(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1012 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1012"); - ndr->depth++; - ndr_print_uint32(ndr, "maximum_collection_count", r->maximum_collection_count); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1013(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1013 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keep_connection)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1013(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1013 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keep_connection)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1013(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1013 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1013"); - ndr->depth++; - ndr_print_uint32(ndr, "keep_connection", r->keep_connection); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1018(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1018 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_timeout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1018(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1018 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_timeout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1018(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1018 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1018"); - ndr->depth++; - ndr_print_uint32(ndr, "session_timeout", r->session_timeout); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1023(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1023 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_char_buf)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1023(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1023 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_char_buf)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1023(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1023 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1023"); - ndr->depth++; - ndr_print_uint32(ndr, "size_char_buf", r->size_char_buf); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1027(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1027 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->errorlog_sz)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1027(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1027 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->errorlog_sz)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1027(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1027 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1027"); - ndr->depth++; - ndr_print_uint32(ndr, "errorlog_sz", r->errorlog_sz); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1028(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1028 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->print_buf_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1028(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1028 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->print_buf_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1028(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1028 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1028"); - ndr->depth++; - ndr_print_uint32(ndr, "print_buf_time", r->print_buf_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1032(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1032 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->wrk_heuristics)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1032(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1032 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->wrk_heuristics)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1032(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1032 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1032"); - ndr->depth++; - ndr_print_uint32(ndr, "wrk_heuristics", r->wrk_heuristics); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1033(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1033 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_threads)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1033(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1033 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_threads)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1033(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1033 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1033"); - ndr->depth++; - ndr_print_uint32(ndr, "max_threads", r->max_threads); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1041(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1041 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_quota)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1041(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1041 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_quota)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1041(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1041 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1041"); - ndr->depth++; - ndr_print_uint32(ndr, "lock_quota", r->lock_quota); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1042(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1042 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_increment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1042(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1042 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_increment)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1042(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1042 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1042"); - ndr->depth++; - ndr_print_uint32(ndr, "lock_increment", r->lock_increment); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1043(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1043 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_maximum)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1043(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1043 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_maximum)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1043(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1043 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1043"); - ndr->depth++; - ndr_print_uint32(ndr, "lock_maximum", r->lock_maximum); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1044(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1044 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_increment)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1044(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1044 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_increment)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1044(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1044 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1044"); - ndr->depth++; - ndr_print_uint32(ndr, "pipe_increment", r->pipe_increment); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1045(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1045 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_maximum)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1045(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1045 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_maximum)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1045(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1045 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1045"); - ndr->depth++; - ndr_print_uint32(ndr, "pipe_maximum", r->pipe_maximum); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1046(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1046 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dormant_file_limit)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1046(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1046 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dormant_file_limit)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1046(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1046 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1046"); - ndr->depth++; - ndr_print_uint32(ndr, "dormant_file_limit", r->dormant_file_limit); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1047(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1047 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cache_file_timeout)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1047(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1047 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cache_file_timeout)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1047(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1047 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1047"); - ndr->depth++; - ndr_print_uint32(ndr, "cache_file_timeout", r->cache_file_timeout); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1048(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1048 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_opportunistic_locking)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1048(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1048 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_opportunistic_locking)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1048(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1048 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1048"); - ndr->depth++; - ndr_print_uint32(ndr, "use_opportunistic_locking", r->use_opportunistic_locking); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1049(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1049 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_unlock_behind)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1049(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1049 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_unlock_behind)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1049(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1049 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1049"); - ndr->depth++; - ndr_print_uint32(ndr, "use_unlock_behind", r->use_unlock_behind); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1050(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1050 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_close_behind)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1050(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1050 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_close_behind)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1050(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1050 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1050"); - ndr->depth++; - ndr_print_uint32(ndr, "use_close_behind", r->use_close_behind); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1051(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1051 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_named_pipes)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1051(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1051 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_named_pipes)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1051(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1051 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1051"); - ndr->depth++; - ndr_print_uint32(ndr, "buf_named_pipes", r->buf_named_pipes); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1052(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1052 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_lock_read_unlock)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1052(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1052 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_lock_read_unlock)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1052(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1052 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1052"); - ndr->depth++; - ndr_print_uint32(ndr, "use_lock_read_unlock", r->use_lock_read_unlock); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1053(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1053 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->utilize_nt_caching)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1053(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1053 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->utilize_nt_caching)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1053(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1053 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1053"); - ndr->depth++; - ndr_print_uint32(ndr, "utilize_nt_caching", r->utilize_nt_caching); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1054(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1054 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_read)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1054(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1054 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_read)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1054(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1054 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1054"); - ndr->depth++; - ndr_print_uint32(ndr, "use_raw_read", r->use_raw_read); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1055(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1055 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_write)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1055(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1055 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_write)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1055(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1055 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1055"); - ndr->depth++; - ndr_print_uint32(ndr, "use_raw_write", r->use_raw_write); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1056(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1056 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_write_raw_data)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1056(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1056 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_write_raw_data)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1056(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1056 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1056"); - ndr->depth++; - ndr_print_uint32(ndr, "use_write_raw_data", r->use_write_raw_data); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1057(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1057 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_encryption)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1057(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1057 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_encryption)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1057(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1057 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1057"); - ndr->depth++; - ndr_print_uint32(ndr, "use_encryption", r->use_encryption); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1058(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1058 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_files_deny_write)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1058(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1058 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_files_deny_write)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1058(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1058 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1058"); - ndr->depth++; - ndr_print_uint32(ndr, "buf_files_deny_write", r->buf_files_deny_write); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1059(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1059 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_read_only_files)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1059(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1059 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_read_only_files)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1059(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1059 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1059"); - ndr->depth++; - ndr_print_uint32(ndr, "buf_read_only_files", r->buf_read_only_files); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1060(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1060 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->force_core_create_mode)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1060(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1060 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->force_core_create_mode)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1060(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1060 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1060"); - ndr->depth++; - ndr_print_uint32(ndr, "force_core_create_mode", r->force_core_create_mode); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1061(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1061 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_512_byte_max_transfer)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1061(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1061 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_512_byte_max_transfer)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1061(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1061 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1061"); - ndr->depth++; - ndr_print_uint32(ndr, "use_512_byte_max_transfer", r->use_512_byte_max_transfer); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1062(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1062 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->read_ahead_throughput)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1062(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1062 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->read_ahead_throughput)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1062(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1062 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1062"); - ndr->depth++; - ndr_print_uint32(ndr, "read_ahead_throughput", r->read_ahead_throughput); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetWkstaInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 100: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info100)); - break; } - - case 101: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info101)); - break; } - - case 102: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info102)); - break; } - - case 502: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info502)); - break; } - - case 1010: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1010)); - break; } - - case 1011: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1011)); - break; } - - case 1012: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1012)); - break; } - - case 1013: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1013)); - break; } - - case 1018: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1018)); - break; } - - case 1023: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1023)); - break; } - - case 1027: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1027)); - break; } - - case 1028: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1028)); - break; } - - case 1032: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1032)); - break; } - - case 1033: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1033)); - break; } - - case 1041: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1041)); - break; } - - case 1042: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1042)); - break; } - - case 1043: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1043)); - break; } - - case 1044: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1044)); - break; } - - case 1045: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1045)); - break; } - - case 1046: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1046)); - break; } - - case 1047: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1047)); - break; } - - case 1048: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1048)); - break; } - - case 1049: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1049)); - break; } - - case 1050: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1050)); - break; } - - case 1051: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1051)); - break; } - - case 1052: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1052)); - break; } - - case 1053: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1053)); - break; } - - case 1054: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1054)); - break; } - - case 1055: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1055)); - break; } - - case 1056: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1056)); - break; } - - case 1057: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1057)); - break; } - - case 1058: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1058)); - break; } - - case 1059: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1059)); - break; } - - case 1060: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1060)); - break; } - - case 1061: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1061)); - break; } - - case 1062: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1062)); - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 100: - if (r->info100) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); - } - break; - - case 101: - if (r->info101) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101)); - } - break; - - case 102: - if (r->info102) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo102(ndr, NDR_SCALARS|NDR_BUFFERS, r->info102)); - } - break; - - case 502: - if (r->info502) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo502(ndr, NDR_SCALARS, r->info502)); - } - break; - - case 1010: - if (r->info1010) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1010(ndr, NDR_SCALARS, r->info1010)); - } - break; - - case 1011: - if (r->info1011) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1011(ndr, NDR_SCALARS, r->info1011)); - } - break; - - case 1012: - if (r->info1012) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1012(ndr, NDR_SCALARS, r->info1012)); - } - break; - - case 1013: - if (r->info1013) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1013(ndr, NDR_SCALARS, r->info1013)); - } - break; - - case 1018: - if (r->info1018) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1018(ndr, NDR_SCALARS, r->info1018)); - } - break; - - case 1023: - if (r->info1023) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1023(ndr, NDR_SCALARS, r->info1023)); - } - break; - - case 1027: - if (r->info1027) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1027(ndr, NDR_SCALARS, r->info1027)); - } - break; - - case 1028: - if (r->info1028) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1028(ndr, NDR_SCALARS, r->info1028)); - } - break; - - case 1032: - if (r->info1032) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1032(ndr, NDR_SCALARS, r->info1032)); - } - break; - - case 1033: - if (r->info1033) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1033(ndr, NDR_SCALARS, r->info1033)); - } - break; - - case 1041: - if (r->info1041) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1041(ndr, NDR_SCALARS, r->info1041)); - } - break; - - case 1042: - if (r->info1042) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1042(ndr, NDR_SCALARS, r->info1042)); - } - break; - - case 1043: - if (r->info1043) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1043(ndr, NDR_SCALARS, r->info1043)); - } - break; - - case 1044: - if (r->info1044) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1044(ndr, NDR_SCALARS, r->info1044)); - } - break; - - case 1045: - if (r->info1045) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1045(ndr, NDR_SCALARS, r->info1045)); - } - break; - - case 1046: - if (r->info1046) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1046(ndr, NDR_SCALARS, r->info1046)); - } - break; - - case 1047: - if (r->info1047) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1047(ndr, NDR_SCALARS, r->info1047)); - } - break; - - case 1048: - if (r->info1048) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1048(ndr, NDR_SCALARS, r->info1048)); - } - break; - - case 1049: - if (r->info1049) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1049(ndr, NDR_SCALARS, r->info1049)); - } - break; - - case 1050: - if (r->info1050) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1050(ndr, NDR_SCALARS, r->info1050)); - } - break; - - case 1051: - if (r->info1051) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1051(ndr, NDR_SCALARS, r->info1051)); - } - break; - - case 1052: - if (r->info1052) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1052(ndr, NDR_SCALARS, r->info1052)); - } - break; - - case 1053: - if (r->info1053) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1053(ndr, NDR_SCALARS, r->info1053)); - } - break; - - case 1054: - if (r->info1054) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1054(ndr, NDR_SCALARS, r->info1054)); - } - break; - - case 1055: - if (r->info1055) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1055(ndr, NDR_SCALARS, r->info1055)); - } - break; - - case 1056: - if (r->info1056) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1056(ndr, NDR_SCALARS, r->info1056)); - } - break; - - case 1057: - if (r->info1057) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1057(ndr, NDR_SCALARS, r->info1057)); - } - break; - - case 1058: - if (r->info1058) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1058(ndr, NDR_SCALARS, r->info1058)); - } - break; - - case 1059: - if (r->info1059) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1059(ndr, NDR_SCALARS, r->info1059)); - } - break; - - case 1060: - if (r->info1060) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1060(ndr, NDR_SCALARS, r->info1060)); - } - break; - - case 1061: - if (r->info1061) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1061(ndr, NDR_SCALARS, r->info1061)); - } - break; - - case 1062: - if (r->info1062) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1062(ndr, NDR_SCALARS, r->info1062)); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetWkstaInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info100_0; - TALLOC_CTX *_mem_save_info101_0; - TALLOC_CTX *_mem_save_info102_0; - TALLOC_CTX *_mem_save_info502_0; - TALLOC_CTX *_mem_save_info1010_0; - TALLOC_CTX *_mem_save_info1011_0; - TALLOC_CTX *_mem_save_info1012_0; - TALLOC_CTX *_mem_save_info1013_0; - TALLOC_CTX *_mem_save_info1018_0; - TALLOC_CTX *_mem_save_info1023_0; - TALLOC_CTX *_mem_save_info1027_0; - TALLOC_CTX *_mem_save_info1028_0; - TALLOC_CTX *_mem_save_info1032_0; - TALLOC_CTX *_mem_save_info1033_0; - TALLOC_CTX *_mem_save_info1041_0; - TALLOC_CTX *_mem_save_info1042_0; - TALLOC_CTX *_mem_save_info1043_0; - TALLOC_CTX *_mem_save_info1044_0; - TALLOC_CTX *_mem_save_info1045_0; - TALLOC_CTX *_mem_save_info1046_0; - TALLOC_CTX *_mem_save_info1047_0; - TALLOC_CTX *_mem_save_info1048_0; - TALLOC_CTX *_mem_save_info1049_0; - TALLOC_CTX *_mem_save_info1050_0; - TALLOC_CTX *_mem_save_info1051_0; - TALLOC_CTX *_mem_save_info1052_0; - TALLOC_CTX *_mem_save_info1053_0; - TALLOC_CTX *_mem_save_info1054_0; - TALLOC_CTX *_mem_save_info1055_0; - TALLOC_CTX *_mem_save_info1056_0; - TALLOC_CTX *_mem_save_info1057_0; - TALLOC_CTX *_mem_save_info1058_0; - TALLOC_CTX *_mem_save_info1059_0; - TALLOC_CTX *_mem_save_info1060_0; - TALLOC_CTX *_mem_save_info1061_0; - TALLOC_CTX *_mem_save_info1062_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 100: { - uint32_t _ptr_info100; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100)); - if (_ptr_info100) { - NDR_PULL_ALLOC(ndr, r->info100); - } else { - r->info100 = NULL; - } - break; } - - case 101: { - uint32_t _ptr_info101; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101)); - if (_ptr_info101) { - NDR_PULL_ALLOC(ndr, r->info101); - } else { - r->info101 = NULL; - } - break; } - - case 102: { - uint32_t _ptr_info102; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102)); - if (_ptr_info102) { - NDR_PULL_ALLOC(ndr, r->info102); - } else { - r->info102 = NULL; - } - break; } - - case 502: { - uint32_t _ptr_info502; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502)); - if (_ptr_info502) { - NDR_PULL_ALLOC(ndr, r->info502); - } else { - r->info502 = NULL; - } - break; } - - case 1010: { - uint32_t _ptr_info1010; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1010)); - if (_ptr_info1010) { - NDR_PULL_ALLOC(ndr, r->info1010); - } else { - r->info1010 = NULL; - } - break; } - - case 1011: { - uint32_t _ptr_info1011; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1011)); - if (_ptr_info1011) { - NDR_PULL_ALLOC(ndr, r->info1011); - } else { - r->info1011 = NULL; - } - break; } - - case 1012: { - uint32_t _ptr_info1012; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1012)); - if (_ptr_info1012) { - NDR_PULL_ALLOC(ndr, r->info1012); - } else { - r->info1012 = NULL; - } - break; } - - case 1013: { - uint32_t _ptr_info1013; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1013)); - if (_ptr_info1013) { - NDR_PULL_ALLOC(ndr, r->info1013); - } else { - r->info1013 = NULL; - } - break; } - - case 1018: { - uint32_t _ptr_info1018; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1018)); - if (_ptr_info1018) { - NDR_PULL_ALLOC(ndr, r->info1018); - } else { - r->info1018 = NULL; - } - break; } - - case 1023: { - uint32_t _ptr_info1023; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1023)); - if (_ptr_info1023) { - NDR_PULL_ALLOC(ndr, r->info1023); - } else { - r->info1023 = NULL; - } - break; } - - case 1027: { - uint32_t _ptr_info1027; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1027)); - if (_ptr_info1027) { - NDR_PULL_ALLOC(ndr, r->info1027); - } else { - r->info1027 = NULL; - } - break; } - - case 1028: { - uint32_t _ptr_info1028; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1028)); - if (_ptr_info1028) { - NDR_PULL_ALLOC(ndr, r->info1028); - } else { - r->info1028 = NULL; - } - break; } - - case 1032: { - uint32_t _ptr_info1032; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1032)); - if (_ptr_info1032) { - NDR_PULL_ALLOC(ndr, r->info1032); - } else { - r->info1032 = NULL; - } - break; } - - case 1033: { - uint32_t _ptr_info1033; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1033)); - if (_ptr_info1033) { - NDR_PULL_ALLOC(ndr, r->info1033); - } else { - r->info1033 = NULL; - } - break; } - - case 1041: { - uint32_t _ptr_info1041; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1041)); - if (_ptr_info1041) { - NDR_PULL_ALLOC(ndr, r->info1041); - } else { - r->info1041 = NULL; - } - break; } - - case 1042: { - uint32_t _ptr_info1042; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1042)); - if (_ptr_info1042) { - NDR_PULL_ALLOC(ndr, r->info1042); - } else { - r->info1042 = NULL; - } - break; } - - case 1043: { - uint32_t _ptr_info1043; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1043)); - if (_ptr_info1043) { - NDR_PULL_ALLOC(ndr, r->info1043); - } else { - r->info1043 = NULL; - } - break; } - - case 1044: { - uint32_t _ptr_info1044; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1044)); - if (_ptr_info1044) { - NDR_PULL_ALLOC(ndr, r->info1044); - } else { - r->info1044 = NULL; - } - break; } - - case 1045: { - uint32_t _ptr_info1045; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1045)); - if (_ptr_info1045) { - NDR_PULL_ALLOC(ndr, r->info1045); - } else { - r->info1045 = NULL; - } - break; } - - case 1046: { - uint32_t _ptr_info1046; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1046)); - if (_ptr_info1046) { - NDR_PULL_ALLOC(ndr, r->info1046); - } else { - r->info1046 = NULL; - } - break; } - - case 1047: { - uint32_t _ptr_info1047; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1047)); - if (_ptr_info1047) { - NDR_PULL_ALLOC(ndr, r->info1047); - } else { - r->info1047 = NULL; - } - break; } - - case 1048: { - uint32_t _ptr_info1048; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1048)); - if (_ptr_info1048) { - NDR_PULL_ALLOC(ndr, r->info1048); - } else { - r->info1048 = NULL; - } - break; } - - case 1049: { - uint32_t _ptr_info1049; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1049)); - if (_ptr_info1049) { - NDR_PULL_ALLOC(ndr, r->info1049); - } else { - r->info1049 = NULL; - } - break; } - - case 1050: { - uint32_t _ptr_info1050; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1050)); - if (_ptr_info1050) { - NDR_PULL_ALLOC(ndr, r->info1050); - } else { - r->info1050 = NULL; - } - break; } - - case 1051: { - uint32_t _ptr_info1051; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1051)); - if (_ptr_info1051) { - NDR_PULL_ALLOC(ndr, r->info1051); - } else { - r->info1051 = NULL; - } - break; } - - case 1052: { - uint32_t _ptr_info1052; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1052)); - if (_ptr_info1052) { - NDR_PULL_ALLOC(ndr, r->info1052); - } else { - r->info1052 = NULL; - } - break; } - - case 1053: { - uint32_t _ptr_info1053; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1053)); - if (_ptr_info1053) { - NDR_PULL_ALLOC(ndr, r->info1053); - } else { - r->info1053 = NULL; - } - break; } - - case 1054: { - uint32_t _ptr_info1054; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1054)); - if (_ptr_info1054) { - NDR_PULL_ALLOC(ndr, r->info1054); - } else { - r->info1054 = NULL; - } - break; } - - case 1055: { - uint32_t _ptr_info1055; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1055)); - if (_ptr_info1055) { - NDR_PULL_ALLOC(ndr, r->info1055); - } else { - r->info1055 = NULL; - } - break; } - - case 1056: { - uint32_t _ptr_info1056; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1056)); - if (_ptr_info1056) { - NDR_PULL_ALLOC(ndr, r->info1056); - } else { - r->info1056 = NULL; - } - break; } - - case 1057: { - uint32_t _ptr_info1057; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1057)); - if (_ptr_info1057) { - NDR_PULL_ALLOC(ndr, r->info1057); - } else { - r->info1057 = NULL; - } - break; } - - case 1058: { - uint32_t _ptr_info1058; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1058)); - if (_ptr_info1058) { - NDR_PULL_ALLOC(ndr, r->info1058); - } else { - r->info1058 = NULL; - } - break; } - - case 1059: { - uint32_t _ptr_info1059; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1059)); - if (_ptr_info1059) { - NDR_PULL_ALLOC(ndr, r->info1059); - } else { - r->info1059 = NULL; - } - break; } - - case 1060: { - uint32_t _ptr_info1060; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1060)); - if (_ptr_info1060) { - NDR_PULL_ALLOC(ndr, r->info1060); - } else { - r->info1060 = NULL; - } - break; } - - case 1061: { - uint32_t _ptr_info1061; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1061)); - if (_ptr_info1061) { - NDR_PULL_ALLOC(ndr, r->info1061); - } else { - r->info1061 = NULL; - } - break; } - - case 1062: { - uint32_t _ptr_info1062; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1062)); - if (_ptr_info1062) { - NDR_PULL_ALLOC(ndr, r->info1062); - } else { - r->info1062 = NULL; - } - break; } - - default: { - break; } - - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 100: - if (r->info100) { - _mem_save_info100_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info100, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info100_0, 0); - } - break; - - case 101: - if (r->info101) { - _mem_save_info101_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info101, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info101_0, 0); - } - break; - - case 102: - if (r->info102) { - _mem_save_info102_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info102, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo102(ndr, NDR_SCALARS|NDR_BUFFERS, r->info102)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info102_0, 0); - } - break; - - case 502: - if (r->info502) { - _mem_save_info502_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info502, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo502(ndr, NDR_SCALARS, r->info502)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info502_0, 0); - } - break; - - case 1010: - if (r->info1010) { - _mem_save_info1010_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1010, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1010(ndr, NDR_SCALARS, r->info1010)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1010_0, 0); - } - break; - - case 1011: - if (r->info1011) { - _mem_save_info1011_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1011, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1011(ndr, NDR_SCALARS, r->info1011)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1011_0, 0); - } - break; - - case 1012: - if (r->info1012) { - _mem_save_info1012_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1012, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1012(ndr, NDR_SCALARS, r->info1012)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1012_0, 0); - } - break; - - case 1013: - if (r->info1013) { - _mem_save_info1013_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1013, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1013(ndr, NDR_SCALARS, r->info1013)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1013_0, 0); - } - break; - - case 1018: - if (r->info1018) { - _mem_save_info1018_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1018, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1018(ndr, NDR_SCALARS, r->info1018)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1018_0, 0); - } - break; - - case 1023: - if (r->info1023) { - _mem_save_info1023_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1023, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1023(ndr, NDR_SCALARS, r->info1023)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1023_0, 0); - } - break; - - case 1027: - if (r->info1027) { - _mem_save_info1027_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1027, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1027(ndr, NDR_SCALARS, r->info1027)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1027_0, 0); - } - break; - - case 1028: - if (r->info1028) { - _mem_save_info1028_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1028, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1028(ndr, NDR_SCALARS, r->info1028)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1028_0, 0); - } - break; - - case 1032: - if (r->info1032) { - _mem_save_info1032_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1032, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1032(ndr, NDR_SCALARS, r->info1032)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1032_0, 0); - } - break; - - case 1033: - if (r->info1033) { - _mem_save_info1033_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1033, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1033(ndr, NDR_SCALARS, r->info1033)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1033_0, 0); - } - break; - - case 1041: - if (r->info1041) { - _mem_save_info1041_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1041, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1041(ndr, NDR_SCALARS, r->info1041)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1041_0, 0); - } - break; - - case 1042: - if (r->info1042) { - _mem_save_info1042_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1042, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1042(ndr, NDR_SCALARS, r->info1042)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1042_0, 0); - } - break; - - case 1043: - if (r->info1043) { - _mem_save_info1043_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1043, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1043(ndr, NDR_SCALARS, r->info1043)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1043_0, 0); - } - break; - - case 1044: - if (r->info1044) { - _mem_save_info1044_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1044, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1044(ndr, NDR_SCALARS, r->info1044)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1044_0, 0); - } - break; - - case 1045: - if (r->info1045) { - _mem_save_info1045_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1045, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1045(ndr, NDR_SCALARS, r->info1045)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1045_0, 0); - } - break; - - case 1046: - if (r->info1046) { - _mem_save_info1046_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1046, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1046(ndr, NDR_SCALARS, r->info1046)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1046_0, 0); - } - break; - - case 1047: - if (r->info1047) { - _mem_save_info1047_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1047, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1047(ndr, NDR_SCALARS, r->info1047)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1047_0, 0); - } - break; - - case 1048: - if (r->info1048) { - _mem_save_info1048_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1048, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1048(ndr, NDR_SCALARS, r->info1048)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1048_0, 0); - } - break; - - case 1049: - if (r->info1049) { - _mem_save_info1049_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1049, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1049(ndr, NDR_SCALARS, r->info1049)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1049_0, 0); - } - break; - - case 1050: - if (r->info1050) { - _mem_save_info1050_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1050, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1050(ndr, NDR_SCALARS, r->info1050)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1050_0, 0); - } - break; - - case 1051: - if (r->info1051) { - _mem_save_info1051_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1051, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1051(ndr, NDR_SCALARS, r->info1051)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1051_0, 0); - } - break; - - case 1052: - if (r->info1052) { - _mem_save_info1052_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1052, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1052(ndr, NDR_SCALARS, r->info1052)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1052_0, 0); - } - break; - - case 1053: - if (r->info1053) { - _mem_save_info1053_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1053, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1053(ndr, NDR_SCALARS, r->info1053)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1053_0, 0); - } - break; - - case 1054: - if (r->info1054) { - _mem_save_info1054_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1054, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1054(ndr, NDR_SCALARS, r->info1054)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1054_0, 0); - } - break; - - case 1055: - if (r->info1055) { - _mem_save_info1055_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1055, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1055(ndr, NDR_SCALARS, r->info1055)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1055_0, 0); - } - break; - - case 1056: - if (r->info1056) { - _mem_save_info1056_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1056, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1056(ndr, NDR_SCALARS, r->info1056)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1056_0, 0); - } - break; - - case 1057: - if (r->info1057) { - _mem_save_info1057_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1057, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1057(ndr, NDR_SCALARS, r->info1057)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1057_0, 0); - } - break; - - case 1058: - if (r->info1058) { - _mem_save_info1058_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1058, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1058(ndr, NDR_SCALARS, r->info1058)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1058_0, 0); - } - break; - - case 1059: - if (r->info1059) { - _mem_save_info1059_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1059, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1059(ndr, NDR_SCALARS, r->info1059)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1059_0, 0); - } - break; - - case 1060: - if (r->info1060) { - _mem_save_info1060_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1060, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1060(ndr, NDR_SCALARS, r->info1060)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1060_0, 0); - } - break; - - case 1061: - if (r->info1061) { - _mem_save_info1061_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1061, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1061(ndr, NDR_SCALARS, r->info1061)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1061_0, 0); - } - break; - - case 1062: - if (r->info1062) { - _mem_save_info1062_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1062, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1062(ndr, NDR_SCALARS, r->info1062)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1062_0, 0); - } - break; - - default: - break; - - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "wkssvc_NetWkstaInfo"); - switch (level) { - case 100: - ndr_print_ptr(ndr, "info100", r->info100); - ndr->depth++; - if (r->info100) { - ndr_print_wkssvc_NetWkstaInfo100(ndr, "info100", r->info100); - } - ndr->depth--; - break; - - case 101: - ndr_print_ptr(ndr, "info101", r->info101); - ndr->depth++; - if (r->info101) { - ndr_print_wkssvc_NetWkstaInfo101(ndr, "info101", r->info101); - } - ndr->depth--; - break; - - case 102: - ndr_print_ptr(ndr, "info102", r->info102); - ndr->depth++; - if (r->info102) { - ndr_print_wkssvc_NetWkstaInfo102(ndr, "info102", r->info102); - } - ndr->depth--; - break; - - case 502: - ndr_print_ptr(ndr, "info502", r->info502); - ndr->depth++; - if (r->info502) { - ndr_print_wkssvc_NetWkstaInfo502(ndr, "info502", r->info502); - } - ndr->depth--; - break; - - case 1010: - ndr_print_ptr(ndr, "info1010", r->info1010); - ndr->depth++; - if (r->info1010) { - ndr_print_wkssvc_NetWkstaInfo1010(ndr, "info1010", r->info1010); - } - ndr->depth--; - break; - - case 1011: - ndr_print_ptr(ndr, "info1011", r->info1011); - ndr->depth++; - if (r->info1011) { - ndr_print_wkssvc_NetWkstaInfo1011(ndr, "info1011", r->info1011); - } - ndr->depth--; - break; - - case 1012: - ndr_print_ptr(ndr, "info1012", r->info1012); - ndr->depth++; - if (r->info1012) { - ndr_print_wkssvc_NetWkstaInfo1012(ndr, "info1012", r->info1012); - } - ndr->depth--; - break; - - case 1013: - ndr_print_ptr(ndr, "info1013", r->info1013); - ndr->depth++; - if (r->info1013) { - ndr_print_wkssvc_NetWkstaInfo1013(ndr, "info1013", r->info1013); - } - ndr->depth--; - break; - - case 1018: - ndr_print_ptr(ndr, "info1018", r->info1018); - ndr->depth++; - if (r->info1018) { - ndr_print_wkssvc_NetWkstaInfo1018(ndr, "info1018", r->info1018); - } - ndr->depth--; - break; - - case 1023: - ndr_print_ptr(ndr, "info1023", r->info1023); - ndr->depth++; - if (r->info1023) { - ndr_print_wkssvc_NetWkstaInfo1023(ndr, "info1023", r->info1023); - } - ndr->depth--; - break; - - case 1027: - ndr_print_ptr(ndr, "info1027", r->info1027); - ndr->depth++; - if (r->info1027) { - ndr_print_wkssvc_NetWkstaInfo1027(ndr, "info1027", r->info1027); - } - ndr->depth--; - break; - - case 1028: - ndr_print_ptr(ndr, "info1028", r->info1028); - ndr->depth++; - if (r->info1028) { - ndr_print_wkssvc_NetWkstaInfo1028(ndr, "info1028", r->info1028); - } - ndr->depth--; - break; - - case 1032: - ndr_print_ptr(ndr, "info1032", r->info1032); - ndr->depth++; - if (r->info1032) { - ndr_print_wkssvc_NetWkstaInfo1032(ndr, "info1032", r->info1032); - } - ndr->depth--; - break; - - case 1033: - ndr_print_ptr(ndr, "info1033", r->info1033); - ndr->depth++; - if (r->info1033) { - ndr_print_wkssvc_NetWkstaInfo1033(ndr, "info1033", r->info1033); - } - ndr->depth--; - break; - - case 1041: - ndr_print_ptr(ndr, "info1041", r->info1041); - ndr->depth++; - if (r->info1041) { - ndr_print_wkssvc_NetWkstaInfo1041(ndr, "info1041", r->info1041); - } - ndr->depth--; - break; - - case 1042: - ndr_print_ptr(ndr, "info1042", r->info1042); - ndr->depth++; - if (r->info1042) { - ndr_print_wkssvc_NetWkstaInfo1042(ndr, "info1042", r->info1042); - } - ndr->depth--; - break; - - case 1043: - ndr_print_ptr(ndr, "info1043", r->info1043); - ndr->depth++; - if (r->info1043) { - ndr_print_wkssvc_NetWkstaInfo1043(ndr, "info1043", r->info1043); - } - ndr->depth--; - break; - - case 1044: - ndr_print_ptr(ndr, "info1044", r->info1044); - ndr->depth++; - if (r->info1044) { - ndr_print_wkssvc_NetWkstaInfo1044(ndr, "info1044", r->info1044); - } - ndr->depth--; - break; - - case 1045: - ndr_print_ptr(ndr, "info1045", r->info1045); - ndr->depth++; - if (r->info1045) { - ndr_print_wkssvc_NetWkstaInfo1045(ndr, "info1045", r->info1045); - } - ndr->depth--; - break; - - case 1046: - ndr_print_ptr(ndr, "info1046", r->info1046); - ndr->depth++; - if (r->info1046) { - ndr_print_wkssvc_NetWkstaInfo1046(ndr, "info1046", r->info1046); - } - ndr->depth--; - break; - - case 1047: - ndr_print_ptr(ndr, "info1047", r->info1047); - ndr->depth++; - if (r->info1047) { - ndr_print_wkssvc_NetWkstaInfo1047(ndr, "info1047", r->info1047); - } - ndr->depth--; - break; - - case 1048: - ndr_print_ptr(ndr, "info1048", r->info1048); - ndr->depth++; - if (r->info1048) { - ndr_print_wkssvc_NetWkstaInfo1048(ndr, "info1048", r->info1048); - } - ndr->depth--; - break; - - case 1049: - ndr_print_ptr(ndr, "info1049", r->info1049); - ndr->depth++; - if (r->info1049) { - ndr_print_wkssvc_NetWkstaInfo1049(ndr, "info1049", r->info1049); - } - ndr->depth--; - break; - - case 1050: - ndr_print_ptr(ndr, "info1050", r->info1050); - ndr->depth++; - if (r->info1050) { - ndr_print_wkssvc_NetWkstaInfo1050(ndr, "info1050", r->info1050); - } - ndr->depth--; - break; - - case 1051: - ndr_print_ptr(ndr, "info1051", r->info1051); - ndr->depth++; - if (r->info1051) { - ndr_print_wkssvc_NetWkstaInfo1051(ndr, "info1051", r->info1051); - } - ndr->depth--; - break; - - case 1052: - ndr_print_ptr(ndr, "info1052", r->info1052); - ndr->depth++; - if (r->info1052) { - ndr_print_wkssvc_NetWkstaInfo1052(ndr, "info1052", r->info1052); - } - ndr->depth--; - break; - - case 1053: - ndr_print_ptr(ndr, "info1053", r->info1053); - ndr->depth++; - if (r->info1053) { - ndr_print_wkssvc_NetWkstaInfo1053(ndr, "info1053", r->info1053); - } - ndr->depth--; - break; - - case 1054: - ndr_print_ptr(ndr, "info1054", r->info1054); - ndr->depth++; - if (r->info1054) { - ndr_print_wkssvc_NetWkstaInfo1054(ndr, "info1054", r->info1054); - } - ndr->depth--; - break; - - case 1055: - ndr_print_ptr(ndr, "info1055", r->info1055); - ndr->depth++; - if (r->info1055) { - ndr_print_wkssvc_NetWkstaInfo1055(ndr, "info1055", r->info1055); - } - ndr->depth--; - break; - - case 1056: - ndr_print_ptr(ndr, "info1056", r->info1056); - ndr->depth++; - if (r->info1056) { - ndr_print_wkssvc_NetWkstaInfo1056(ndr, "info1056", r->info1056); - } - ndr->depth--; - break; - - case 1057: - ndr_print_ptr(ndr, "info1057", r->info1057); - ndr->depth++; - if (r->info1057) { - ndr_print_wkssvc_NetWkstaInfo1057(ndr, "info1057", r->info1057); - } - ndr->depth--; - break; - - case 1058: - ndr_print_ptr(ndr, "info1058", r->info1058); - ndr->depth++; - if (r->info1058) { - ndr_print_wkssvc_NetWkstaInfo1058(ndr, "info1058", r->info1058); - } - ndr->depth--; - break; - - case 1059: - ndr_print_ptr(ndr, "info1059", r->info1059); - ndr->depth++; - if (r->info1059) { - ndr_print_wkssvc_NetWkstaInfo1059(ndr, "info1059", r->info1059); - } - ndr->depth--; - break; - - case 1060: - ndr_print_ptr(ndr, "info1060", r->info1060); - ndr->depth++; - if (r->info1060) { - ndr_print_wkssvc_NetWkstaInfo1060(ndr, "info1060", r->info1060); - } - ndr->depth--; - break; - - case 1061: - ndr_print_ptr(ndr, "info1061", r->info1061); - ndr->depth++; - if (r->info1061) { - ndr_print_wkssvc_NetWkstaInfo1061(ndr, "info1061", r->info1061); - } - ndr->depth--; - break; - - case 1062: - ndr_print_ptr(ndr, "info1062", r->info1062); - ndr->depth++; - if (r->info1062) { - ndr_print_wkssvc_NetWkstaInfo1062(ndr, "info1062", r->info1062); - } - ndr->depth--; - break; - - default: - break; - - } -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWkstaUserInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo0 *r) -{ - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - } else { - r->user_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user_name) { - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name)); - if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo0 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaEnumUsersCtr0 *r) -{ - uint32_t cntr_user0_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user0)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user0) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries_read)); - for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1])); - } - for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersCtr0 *r) -{ - uint32_t _ptr_user0; - uint32_t cntr_user0_1; - TALLOC_CTX *_mem_save_user0_0; - TALLOC_CTX *_mem_save_user0_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user0)); - if (_ptr_user0) { - NDR_PULL_ALLOC(ndr, r->user0); - } else { - r->user0 = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user0) { - _mem_save_user0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user0)); - NDR_PULL_ALLOC_N(ndr, r->user0, ndr_get_array_size(ndr, &r->user0)); - _mem_save_user0_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0); - for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1])); - } - for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_0, 0); - } - if (r->user0) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->user0, r->entries_read)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersCtr0 *r) -{ - uint32_t cntr_user0_1; - ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsersCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "entries_read", r->entries_read); - ndr_print_ptr(ndr, "user0", r->user0); - ndr->depth++; - if (r->user0) { - ndr->print(ndr, "%s: ARRAY(%d)", "user0", (int)r->entries_read); - ndr->depth++; - for (cntr_user0_1=0;cntr_user0_1entries_read;cntr_user0_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_user0_1) != -1) { - ndr_print_wkssvc_NetrWkstaUserInfo0(ndr, "user0", &r->user0[cntr_user0_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWkstaUserInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_domain)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_domains)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_server)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->logon_domain) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_domain, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_domain, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_domain, ndr_charset_length(r->logon_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->other_domains) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->other_domains, ndr_charset_length(r->other_domains, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->logon_server) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_server, ndr_charset_length(r->logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo1 *r) -{ - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_logon_domain; - TALLOC_CTX *_mem_save_logon_domain_0; - uint32_t _ptr_other_domains; - TALLOC_CTX *_mem_save_other_domains_0; - uint32_t _ptr_logon_server; - TALLOC_CTX *_mem_save_logon_server_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - } else { - r->user_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_domain)); - if (_ptr_logon_domain) { - NDR_PULL_ALLOC(ndr, r->logon_domain); - } else { - r->logon_domain = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_domains)); - if (_ptr_other_domains) { - NDR_PULL_ALLOC(ndr, r->other_domains); - } else { - r->other_domains = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server)); - if (_ptr_logon_server) { - NDR_PULL_ALLOC(ndr, r->logon_server); - } else { - r->logon_server = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user_name) { - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name)); - if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - } - if (r->logon_domain) { - _mem_save_logon_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->logon_domain, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_domain)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_domain)); - if (ndr_get_array_length(ndr, &r->logon_domain) > ndr_get_array_size(ndr, &r->logon_domain)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->logon_domain), ndr_get_array_length(ndr, &r->logon_domain)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->logon_domain), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_domain, ndr_get_array_length(ndr, &r->logon_domain), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_domain_0, 0); - } - if (r->other_domains) { - _mem_save_other_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->other_domains, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->other_domains)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->other_domains)); - if (ndr_get_array_length(ndr, &r->other_domains) > ndr_get_array_size(ndr, &r->other_domains)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->other_domains), ndr_get_array_length(ndr, &r->other_domains)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_domains_0, 0); - } - if (r->logon_server) { - _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->logon_server, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_server)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_server)); - if (ndr_get_array_length(ndr, &r->logon_server) > ndr_get_array_size(ndr, &r->logon_server)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->logon_server), ndr_get_array_length(ndr, &r->logon_server)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->logon_server), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_server, ndr_get_array_length(ndr, &r->logon_server), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo1 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "logon_domain", r->logon_domain); - ndr->depth++; - if (r->logon_domain) { - ndr_print_string(ndr, "logon_domain", r->logon_domain); - } - ndr->depth--; - ndr_print_ptr(ndr, "other_domains", r->other_domains); - ndr->depth++; - if (r->other_domains) { - ndr_print_string(ndr, "other_domains", r->other_domains); - } - ndr->depth--; - ndr_print_ptr(ndr, "logon_server", r->logon_server); - ndr->depth++; - if (r->logon_server) { - ndr_print_string(ndr, "logon_server", r->logon_server); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaEnumUsersCtr1 *r) -{ - uint32_t cntr_user1_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user1)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user1) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries_read)); - for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS, &r->user1[cntr_user1_1])); - } - for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1(ndr, NDR_BUFFERS, &r->user1[cntr_user1_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersCtr1 *r) -{ - uint32_t _ptr_user1; - uint32_t cntr_user1_1; - TALLOC_CTX *_mem_save_user1_0; - TALLOC_CTX *_mem_save_user1_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user1)); - if (_ptr_user1) { - NDR_PULL_ALLOC(ndr, r->user1); - } else { - r->user1 = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->user1) { - _mem_save_user1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user1)); - NDR_PULL_ALLOC_N(ndr, r->user1, ndr_get_array_size(ndr, &r->user1)); - _mem_save_user1_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0); - for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS, &r->user1[cntr_user1_1])); - } - for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_BUFFERS, &r->user1[cntr_user1_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_0, 0); - } - if (r->user1) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->user1, r->entries_read)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersCtr1 *r) -{ - uint32_t cntr_user1_1; - ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsersCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "entries_read", r->entries_read); - ndr_print_ptr(ndr, "user1", r->user1); - ndr->depth++; - if (r->user1) { - ndr->print(ndr, "%s: ARRAY(%d)", "user1", (int)r->entries_read); - ndr->depth++; - for (cntr_user1_1=0;cntr_user1_1entries_read;cntr_user1_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_user1_1) != -1) { - ndr_print_wkssvc_NetrWkstaUserInfo1(ndr, "user1", &r->user1[cntr_user1_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetWkstaEnumUsersCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user1)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->user0) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->user0)); - } - break; - - case 1: - if (r->user1) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->user1)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetWkstaEnumUsersCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_user0_0; - TALLOC_CTX *_mem_save_user1_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_user0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user0)); - if (_ptr_user0) { - NDR_PULL_ALLOC(ndr, r->user0); - } else { - r->user0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_user1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user1)); - if (_ptr_user1) { - NDR_PULL_ALLOC(ndr, r->user1); - } else { - r->user1 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->user0) { - _mem_save_user0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->user0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_0, 0); - } - break; - - case 1: - if (r->user1) { - _mem_save_user1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->user1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaEnumUsersCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "wkssvc_NetWkstaEnumUsersCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "user0", r->user0); - ndr->depth++; - if (r->user0) { - ndr_print_wkssvc_NetWkstaEnumUsersCtr0(ndr, "user0", r->user0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "user1", r->user1); - ndr->depth++; - if (r->user1) { - ndr_print_wkssvc_NetWkstaEnumUsersCtr1(ndr, "user1", r->user1); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersInfo(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaEnumUsersInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersInfo(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsersInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_wkssvc_NetWkstaEnumUsersCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo1101(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWkstaUserInfo1101 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_domains)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->other_domains) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->other_domains, ndr_charset_length(r->other_domains, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo1101 *r) -{ - uint32_t _ptr_other_domains; - TALLOC_CTX *_mem_save_other_domains_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_domains)); - if (_ptr_other_domains) { - NDR_PULL_ALLOC(ndr, r->other_domains); - } else { - r->other_domains = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->other_domains) { - _mem_save_other_domains_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->other_domains, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->other_domains)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->other_domains)); - if (ndr_get_array_length(ndr, &r->other_domains) > ndr_get_array_size(ndr, &r->other_domains)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->other_domains), ndr_get_array_length(ndr, &r->other_domains)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_domains_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo1101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo1101 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserInfo1101"); - ndr->depth++; - ndr_print_ptr(ndr, "other_domains", r->other_domains); - ndr->depth++; - if (r->other_domains) { - ndr_print_string(ndr, "other_domains", r->other_domains); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetrWkstaUserInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 1101: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1101)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 1101: - if (r->info1101) { - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1101)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetrWkstaUserInfo *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info1101_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 1101: { - uint32_t _ptr_info1101; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1101)); - if (_ptr_info1101) { - NDR_PULL_ALLOC(ndr, r->info1101); - } else { - r->info1101 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 1101: - if (r->info1101) { - _mem_save_info1101_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1101, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1101)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1101_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetrWkstaUserInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "wkssvc_NetrWkstaUserInfo"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_wkssvc_NetrWkstaUserInfo0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_wkssvc_NetrWkstaUserInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 1101: - ndr_print_ptr(ndr, "info1101", r->info1101); - ndr->depth++; - if (r->info1101) { - ndr_print_wkssvc_NetrWkstaUserInfo1101(ndr, "info1101", r->info1101); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportInfo0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaTransportInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->quality_of_service)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vc_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->address)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->wan_link)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->address) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->address, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->address, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->address, ndr_charset_length(r->address, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportInfo0 *r) -{ - uint32_t _ptr_name; - TALLOC_CTX *_mem_save_name_0; - uint32_t _ptr_address; - TALLOC_CTX *_mem_save_address_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->quality_of_service)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vc_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); - if (_ptr_name) { - NDR_PULL_ALLOC(ndr, r->name); - } else { - r->name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address)); - if (_ptr_address) { - NDR_PULL_ALLOC(ndr, r->address); - } else { - r->address = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->wan_link)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->name) { - _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); - if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0); - } - if (r->address) { - _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->address, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->address)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->address)); - if (ndr_get_array_length(ndr, &r->address) > ndr_get_array_size(ndr, &r->address)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->address), ndr_get_array_length(ndr, &r->address)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->address), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->address, ndr_get_array_length(ndr, &r->address), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportInfo0 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportInfo0"); - ndr->depth++; - ndr_print_uint32(ndr, "quality_of_service", r->quality_of_service); - ndr_print_uint32(ndr, "vc_count", r->vc_count); - ndr_print_ptr(ndr, "name", r->name); - ndr->depth++; - if (r->name) { - ndr_print_string(ndr, "name", r->name); - } - ndr->depth--; - ndr_print_ptr(ndr, "address", r->address); - ndr->depth++; - if (r->address) { - ndr_print_string(ndr, "address", r->address); - } - ndr->depth--; - ndr_print_uint32(ndr, "wan_link", r->wan_link); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportCtr0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaTransportCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_wkssvc_NetWkstaTransportInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetWkstaTransportCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetWkstaTransportCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaTransportCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "wkssvc_NetWkstaTransportCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_wkssvc_NetWkstaTransportCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportInfo(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaTransportInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_wkssvc_NetWkstaTransportCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo3(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->unknown1) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->unknown2) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo3(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo3 *r) -{ - uint32_t _ptr_unknown1; - TALLOC_CTX *_mem_save_unknown1_0; - uint32_t _ptr_unknown2; - TALLOC_CTX *_mem_save_unknown2_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1)); - if (_ptr_unknown1) { - NDR_PULL_ALLOC(ndr, r->unknown1); - } else { - r->unknown1 = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, r->unknown2); - } else { - r->unknown2 = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->unknown1) { - _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1)); - if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0); - } - if (r->unknown2) { - _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2)); - if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo3(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo3 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo3"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown1", r->unknown1); - ndr->depth++; - if (r->unknown1) { - ndr_print_string(ndr, "unknown1", r->unknown1); - } - ndr->depth--; - ndr_print_ptr(ndr, "unknown2", r->unknown2); - ndr->depth++; - if (r->unknown2) { - ndr_print_string(ndr, "unknown2", r->unknown2); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo2(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->local)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->asg_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->local) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local, ndr_charset_length(r->local, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->remote) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote, ndr_charset_length(r->remote, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->user_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->domain_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo2 *r) -{ - uint32_t _ptr_local; - TALLOC_CTX *_mem_save_local_0; - uint32_t _ptr_remote; - TALLOC_CTX *_mem_save_remote_0; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_password_0; - uint32_t _ptr_user_name; - TALLOC_CTX *_mem_save_user_name_0; - uint32_t _ptr_domain_name; - TALLOC_CTX *_mem_save_domain_name_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local)); - if (_ptr_local) { - NDR_PULL_ALLOC(ndr, r->local); - } else { - r->local = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote)); - if (_ptr_remote) { - NDR_PULL_ALLOC(ndr, r->remote); - } else { - r->remote = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->asg_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name)); - if (_ptr_user_name) { - NDR_PULL_ALLOC(ndr, r->user_name); - } else { - r->user_name = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name)); - if (_ptr_domain_name) { - NDR_PULL_ALLOC(ndr, r->domain_name); - } else { - r->domain_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->local) { - _mem_save_local_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->local, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->local)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->local)); - if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0); - } - if (r->remote) { - _mem_save_remote_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->remote)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->remote)); - if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0); - } - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->password)); - if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - if (r->user_name) { - _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name)); - if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user_name), ndr_get_array_length(ndr, &r->user_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0); - } - if (r->domain_name) { - _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name)); - if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo2(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo2 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo2"); - ndr->depth++; - ndr_print_ptr(ndr, "local", r->local); - ndr->depth++; - if (r->local) { - ndr_print_string(ndr, "local", r->local); - } - ndr->depth--; - ndr_print_ptr(ndr, "remote", r->remote); - ndr->depth++; - if (r->remote) { - ndr_print_string(ndr, "remote", r->remote); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_string(ndr, "password", r->password); - } - ndr->depth--; - ndr_print_uint32(ndr, "status", r->status); - ndr_print_uint32(ndr, "asg_type", r->asg_type); - ndr_print_uint32(ndr, "ref_count", r->ref_count); - ndr_print_uint32(ndr, "use_count", r->use_count); - ndr_print_ptr(ndr, "user_name", r->user_name); - ndr->depth++; - if (r->user_name) { - ndr_print_string(ndr, "user_name", r->user_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->domain_name); - ndr->depth++; - if (r->domain_name) { - ndr_print_string(ndr, "domain_name", r->domain_name); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->local)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->password)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->asg_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_count)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_count)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->local) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local, ndr_charset_length(r->local, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->remote) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote, ndr_charset_length(r->remote, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo1 *r) -{ - uint32_t _ptr_local; - TALLOC_CTX *_mem_save_local_0; - uint32_t _ptr_remote; - TALLOC_CTX *_mem_save_remote_0; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_password_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local)); - if (_ptr_local) { - NDR_PULL_ALLOC(ndr, r->local); - } else { - r->local = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote)); - if (_ptr_remote) { - NDR_PULL_ALLOC(ndr, r->remote); - } else { - r->remote = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->password); - } else { - r->password = NULL; - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->asg_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_count)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_count)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->local) { - _mem_save_local_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->local, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->local)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->local)); - if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0); - } - if (r->remote) { - _mem_save_remote_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->remote)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->remote)); - if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0); - } - if (r->password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->password)); - if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo1 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo1"); - ndr->depth++; - ndr_print_ptr(ndr, "local", r->local); - ndr->depth++; - if (r->local) { - ndr_print_string(ndr, "local", r->local); - } - ndr->depth--; - ndr_print_ptr(ndr, "remote", r->remote); - ndr->depth++; - if (r->remote) { - ndr_print_string(ndr, "remote", r->remote); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->password); - ndr->depth++; - if (r->password) { - ndr_print_string(ndr, "password", r->password); - } - ndr->depth--; - ndr_print_uint32(ndr, "status", r->status); - ndr_print_uint32(ndr, "asg_type", r->asg_type); - ndr_print_uint32(ndr, "ref_count", r->ref_count); - ndr_print_uint32(ndr, "use_count", r->use_count); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo0 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->local)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->local) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local, ndr_charset_length(r->local, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->remote) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote, ndr_charset_length(r->remote, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo0 *r) -{ - uint32_t _ptr_local; - TALLOC_CTX *_mem_save_local_0; - uint32_t _ptr_remote; - TALLOC_CTX *_mem_save_remote_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local)); - if (_ptr_local) { - NDR_PULL_ALLOC(ndr, r->local); - } else { - r->local = NULL; - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote)); - if (_ptr_remote) { - NDR_PULL_ALLOC(ndr, r->remote); - } else { - r->remote = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->local) { - _mem_save_local_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->local, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->local)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->local)); - if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0); - } - if (r->remote) { - _mem_save_remote_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->remote)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->remote)); - if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo0 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo0"); - ndr->depth++; - ndr_print_ptr(ndr, "local", r->local); - ndr->depth++; - if (r->local) { - ndr_print_string(ndr, "local", r->local); - } - ndr->depth--; - ndr_print_ptr(ndr, "remote", r->remote); - ndr->depth++; - if (r->remote) { - ndr_print_string(ndr, "remote", r->remote); - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseGetInfoCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetrUseGetInfoCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->info0) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - } - break; - - case 1: - if (r->info1) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - } - break; - - case 2: - if (r->info2) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - } - break; - - case 3: - if (r->info3) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetrUseGetInfoCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_info1_0; - TALLOC_CTX *_mem_save_info2_0; - TALLOC_CTX *_mem_save_info3_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_info0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0)); - if (_ptr_info0) { - NDR_PULL_ALLOC(ndr, r->info0); - } else { - r->info0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_info1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1)); - if (_ptr_info1) { - NDR_PULL_ALLOC(ndr, r->info1); - } else { - r->info1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_info2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2)); - if (_ptr_info2) { - NDR_PULL_ALLOC(ndr, r->info2); - } else { - r->info2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_info3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3)); - if (_ptr_info3) { - NDR_PULL_ALLOC(ndr, r->info3); - } else { - r->info3 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->info0) { - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0); - } - break; - - case 1: - if (r->info1) { - _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0); - } - break; - - case 2: - if (r->info2) { - _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0); - } - break; - - case 3: - if (r->info3) { - _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseGetInfoCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetrUseGetInfoCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "wkssvc_NetrUseGetInfoCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "info0", r->info0); - ndr->depth++; - if (r->info0) { - ndr_print_wkssvc_NetrUseInfo0(ndr, "info0", r->info0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "info1", r->info1); - ndr->depth++; - if (r->info1) { - ndr_print_wkssvc_NetrUseInfo1(ndr, "info1", r->info1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "info2", r->info2); - ndr->depth++; - if (r->info2) { - ndr_print_wkssvc_NetrUseInfo2(ndr, "info2", r->info2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "info3", r->info3); - ndr->depth++; - if (r->info3) { - ndr_print_wkssvc_NetrUseInfo3(ndr, "info3", r->info3); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr2(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumCtr2 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr2(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr2 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr2(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr2 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumCtr2"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_wkssvc_NetrUseInfo2(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumCtr1 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr1 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr1 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumCtr1"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_wkssvc_NetrUseInfo1(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumCtr0 *r) -{ - uint32_t cntr_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->array)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_push_wkssvc_NetrUseInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr0 *r) -{ - uint32_t _ptr_array; - uint32_t cntr_array_1; - TALLOC_CTX *_mem_save_array_0; - TALLOC_CTX *_mem_save_array_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array)); - if (_ptr_array) { - NDR_PULL_ALLOC(ndr, r->array); - } else { - r->array = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->array) { - _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->array)); - NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array)); - _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->array, 0); - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1])); - } - for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0); - } - if (r->array) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr0 *r) -{ - uint32_t cntr_array_1; - ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumCtr0"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "array", r->array); - ndr->depth++; - if (r->array) { - ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count); - ndr->depth++; - for (cntr_array_1=0;cntr_array_1count;cntr_array_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) { - ndr_print_wkssvc_NetrUseInfo0(ndr, "array", &r->array[cntr_array_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetrUseEnumCtr *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 0: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0)); - break; } - - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr2)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0: - if (r->ctr0) { - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - } - break; - - case 1: - if (r->ctr1) { - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - } - break; - - case 2: - if (r->ctr2) { - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetrUseEnumCtr *r) -{ - int level; - uint32_t _level; - TALLOC_CTX *_mem_save_ctr0_0; - TALLOC_CTX *_mem_save_ctr1_0; - TALLOC_CTX *_mem_save_ctr2_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 0: { - uint32_t _ptr_ctr0; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0)); - if (_ptr_ctr0) { - NDR_PULL_ALLOC(ndr, r->ctr0); - } else { - r->ctr0 = NULL; - } - break; } - - case 1: { - uint32_t _ptr_ctr1; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1)); - if (_ptr_ctr1) { - NDR_PULL_ALLOC(ndr, r->ctr1); - } else { - r->ctr1 = NULL; - } - break; } - - case 2: { - uint32_t _ptr_ctr2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2)); - if (_ptr_ctr2) { - NDR_PULL_ALLOC(ndr, r->ctr2); - } else { - r->ctr2 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0: - if (r->ctr0) { - _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0); - } - break; - - case 1: - if (r->ctr1) { - _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0); - } - break; - - case 2: - if (r->ctr2) { - _mem_save_ctr2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->ctr2, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr2_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetrUseEnumCtr *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "wkssvc_NetrUseEnumCtr"); - switch (level) { - case 0: - ndr_print_ptr(ndr, "ctr0", r->ctr0); - ndr->depth++; - if (r->ctr0) { - ndr_print_wkssvc_NetrUseEnumCtr0(ndr, "ctr0", r->ctr0); - } - ndr->depth--; - break; - - case 1: - ndr_print_ptr(ndr, "ctr1", r->ctr1); - ndr->depth++; - if (r->ctr1) { - ndr_print_wkssvc_NetrUseEnumCtr1(ndr, "ctr1", r->ctr1); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "ctr2", r->ctr2); - ndr->depth++; - if (r->ctr2) { - ndr_print_wkssvc_NetrUseEnumCtr2(ndr, "ctr2", r->ctr2); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumInfo(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumInfo(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level)); - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr(ndr, NDR_SCALARS, &r->ctr)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr(ndr, NDR_BUFFERS, &r->ctr)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumInfo"); - ndr->depth++; - ndr_print_uint32(ndr, "level", r->level); - ndr_print_set_switch_value(ndr, &r->ctr, r->level); - ndr_print_wkssvc_NetrUseEnumCtr(ndr, "ctr", &r->ctr); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWorkstationStatistics(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWorkstationStatistics *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown4)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown6)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown7)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown8)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown9)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown10)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown11)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown12)); - NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown13)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown14)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown15)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown17)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown18)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown19)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown20)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown21)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown22)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown23)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown24)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown25)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown26)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown27)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown28)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown29)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown30)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown31)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown32)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown33)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown34)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown35)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown36)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown37)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown38)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown39)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown40)); - NDR_CHECK(ndr_push_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatistics(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWorkstationStatistics *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown4)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown6)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown7)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown8)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown9)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown10)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown11)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown12)); - NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown13)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown14)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown15)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown17)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown18)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown19)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown20)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown21)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown22)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown23)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown24)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown25)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown26)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown27)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown28)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown29)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown30)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown31)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown32)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown33)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown34)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown35)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown36)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown37)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown38)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown39)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown40)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWorkstationStatistics(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWorkstationStatistics *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWorkstationStatistics"); - ndr->depth++; - ndr_print_hyper(ndr, "unknown1", r->unknown1); - ndr_print_hyper(ndr, "unknown2", r->unknown2); - ndr_print_hyper(ndr, "unknown3", r->unknown3); - ndr_print_hyper(ndr, "unknown4", r->unknown4); - ndr_print_hyper(ndr, "unknown5", r->unknown5); - ndr_print_hyper(ndr, "unknown6", r->unknown6); - ndr_print_hyper(ndr, "unknown7", r->unknown7); - ndr_print_hyper(ndr, "unknown8", r->unknown8); - ndr_print_hyper(ndr, "unknown9", r->unknown9); - ndr_print_hyper(ndr, "unknown10", r->unknown10); - ndr_print_hyper(ndr, "unknown11", r->unknown11); - ndr_print_hyper(ndr, "unknown12", r->unknown12); - ndr_print_hyper(ndr, "unknown13", r->unknown13); - ndr_print_uint32(ndr, "unknown14", r->unknown14); - ndr_print_uint32(ndr, "unknown15", r->unknown15); - ndr_print_uint32(ndr, "unknown16", r->unknown16); - ndr_print_uint32(ndr, "unknown17", r->unknown17); - ndr_print_uint32(ndr, "unknown18", r->unknown18); - ndr_print_uint32(ndr, "unknown19", r->unknown19); - ndr_print_uint32(ndr, "unknown20", r->unknown20); - ndr_print_uint32(ndr, "unknown21", r->unknown21); - ndr_print_uint32(ndr, "unknown22", r->unknown22); - ndr_print_uint32(ndr, "unknown23", r->unknown23); - ndr_print_uint32(ndr, "unknown24", r->unknown24); - ndr_print_uint32(ndr, "unknown25", r->unknown25); - ndr_print_uint32(ndr, "unknown26", r->unknown26); - ndr_print_uint32(ndr, "unknown27", r->unknown27); - ndr_print_uint32(ndr, "unknown28", r->unknown28); - ndr_print_uint32(ndr, "unknown29", r->unknown29); - ndr_print_uint32(ndr, "unknown30", r->unknown30); - ndr_print_uint32(ndr, "unknown31", r->unknown31); - ndr_print_uint32(ndr, "unknown32", r->unknown32); - ndr_print_uint32(ndr, "unknown33", r->unknown33); - ndr_print_uint32(ndr, "unknown34", r->unknown34); - ndr_print_uint32(ndr, "unknown35", r->unknown35); - ndr_print_uint32(ndr, "unknown36", r->unknown36); - ndr_print_uint32(ndr, "unknown37", r->unknown37); - ndr_print_uint32(ndr, "unknown38", r->unknown38); - ndr_print_uint32(ndr, "unknown39", r->unknown39); - ndr_print_uint32(ndr, "unknown40", r->unknown40); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_renameflags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_renameflags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_renameflags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE", WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetValidateNameType(struct ndr_push *ndr, int ndr_flags, enum wkssvc_NetValidateNameType r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetValidateNameType(struct ndr_pull *ndr, int ndr_flags, enum wkssvc_NetValidateNameType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetValidateNameType(struct ndr_print *ndr, const char *name, enum wkssvc_NetValidateNameType r) -{ - const char *val = NULL; - - switch (r) { - case NetSetupUnknown: val = "NetSetupUnknown"; break; - case NetSetupMachine: val = "NetSetupMachine"; break; - case NetSetupWorkgroup: val = "NetSetupWorkgroup"; break; - case NetSetupDomain: val = "NetSetupDomain"; break; - case NetSetupNonExistentDomain: val = "NetSetupNonExistentDomain"; break; - case NetSetupDnsMachine: val = "NetSetupDnsMachine"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_wkssvc_NetJoinStatus(struct ndr_push *ndr, int ndr_flags, enum wkssvc_NetJoinStatus r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetJoinStatus(struct ndr_pull *ndr, int ndr_flags, enum wkssvc_NetJoinStatus *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetJoinStatus(struct ndr_print *ndr, const char *name, enum wkssvc_NetJoinStatus r) -{ - const char *val = NULL; - - switch (r) { - case NET_SETUP_UNKNOWN_STATUS: val = "NET_SETUP_UNKNOWN_STATUS"; break; - case NET_SETUP_UNJOINED: val = "NET_SETUP_UNJOINED"; break; - case NET_SETUP_WORKGROUP_NAME: val = "NET_SETUP_WORKGROUP_NAME"; break; - case NET_SETUP_DOMAIN_NAME: val = "NET_SETUP_DOMAIN_NAME"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_wkssvc_PasswordBuffer(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_PasswordBuffer *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 1)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 524)); - NDR_CHECK(ndr_push_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_PasswordBuffer(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_PasswordBuffer *r) -{ - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 1)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 524)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); - } - if (ndr_flags & NDR_BUFFERS) { - } - ndr->flags = _flags_save_STRUCT; - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_PasswordBuffer(struct ndr_print *ndr, const char *name, const struct wkssvc_PasswordBuffer *r) -{ - ndr_print_struct(ndr, name, "wkssvc_PasswordBuffer"); - { - uint32_t _flags_save_STRUCT = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX); - ndr->depth++; - ndr_print_array_uint8(ndr, "data", r->data, 524); - ndr->depth--; - ndr->flags = _flags_save_STRUCT; - } -} - -static enum ndr_err_code ndr_push_wkssvc_joinflags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_joinflags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_joinflags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS", WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME", WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT", WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_DEFER_SPN", WKSSVC_JOIN_FLAGS_DEFER_SPN, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED", WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_UNSECURE", WKSSVC_JOIN_FLAGS_JOIN_UNSECURE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED", WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE", WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE", WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE", WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_TYPE", WKSSVC_JOIN_FLAGS_JOIN_TYPE, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_ComputerNameType(struct ndr_push *ndr, int ndr_flags, enum wkssvc_ComputerNameType r) -{ - NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_ComputerNameType(struct ndr_pull *ndr, int ndr_flags, enum wkssvc_ComputerNameType *r) -{ - uint16_t v; - NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_ComputerNameType(struct ndr_print *ndr, const char *name, enum wkssvc_ComputerNameType r) -{ - const char *val = NULL; - - switch (r) { - case NetPrimaryComputerName: val = "NetPrimaryComputerName"; break; - case NetAlternateComputerNames: val = "NetAlternateComputerNames"; break; - case NetAllComputerNames: val = "NetAllComputerNames"; break; - case NetComputerNameTypeMax: val = "NetComputerNameTypeMax"; break; - } - ndr_print_enum(ndr, name, "ENUM", val, r); -} - -static enum ndr_err_code ndr_push_wkssvc_ComputerNamesCtr(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_ComputerNamesCtr *r) -{ - uint32_t cntr_computer_name_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_name)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->computer_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count)); - for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->computer_name[cntr_computer_name_1])); - } - for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) { - NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->computer_name[cntr_computer_name_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_ComputerNamesCtr(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_ComputerNamesCtr *r) -{ - uint32_t _ptr_computer_name; - uint32_t cntr_computer_name_1; - TALLOC_CTX *_mem_save_computer_name_0; - TALLOC_CTX *_mem_save_computer_name_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); - if (_ptr_computer_name) { - NDR_PULL_ALLOC(ndr, r->computer_name); - } else { - r->computer_name = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->computer_name) { - _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->computer_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_name)); - NDR_PULL_ALLOC_N(ndr, r->computer_name, ndr_get_array_size(ndr, &r->computer_name)); - _mem_save_computer_name_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->computer_name, 0); - for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->computer_name[cntr_computer_name_1])); - } - for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) { - NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->computer_name[cntr_computer_name_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); - } - if (r->computer_name) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->computer_name, r->count)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_ComputerNamesCtr(struct ndr_print *ndr, const char *name, const struct wkssvc_ComputerNamesCtr *r) -{ - uint32_t cntr_computer_name_1; - ndr_print_struct(ndr, name, "wkssvc_ComputerNamesCtr"); - ndr->depth++; - ndr_print_uint32(ndr, "count", r->count); - ndr_print_ptr(ndr, "computer_name", r->computer_name); - ndr->depth++; - if (r->computer_name) { - ndr->print(ndr, "%s: ARRAY(%d)", "computer_name", (int)r->count); - ndr->depth++; - for (cntr_computer_name_1=0;cntr_computer_name_1count;cntr_computer_name_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_computer_name_1) != -1) { - ndr_print_lsa_String(ndr, "computer_name", &r->computer_name[cntr_computer_name_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaGetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaGetInfo *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaGetInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetWkstaGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetWkstaGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_wkssvc_NetWkstaInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaSetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaSetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - if (r->in.parm_error == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_error)); - } - if (flags & NDR_OUT) { - if (r->out.parm_error == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_error)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaSetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaSetInfo *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_parm_error_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.parm_error); - } - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_error, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.parm_error); - *r->out.parm_error = *r->in.parm_error; - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.parm_error); - } - _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_error, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_error)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaSetInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaSetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetWkstaSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_wkssvc_NetWkstaInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "parm_error", r->in.parm_error); - ndr->depth++; - ndr_print_uint32(ndr, "parm_error", *r->in.parm_error); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetWkstaSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_error", r->out.parm_error); - ndr->depth++; - ndr_print_uint32(ndr, "parm_error", *r->out.parm_error); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsers(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaEnumUsers *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.prefmaxlen)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - if (r->out.entries_read == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.entries_read)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsers(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaEnumUsers *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_entries_read_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.prefmaxlen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - *r->out.info = *r->in.info; - NDR_PULL_ALLOC(ndr, r->out.entries_read); - ZERO_STRUCTP(r->out.entries_read); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.entries_read); - } - _mem_save_entries_read_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.entries_read, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.entries_read)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_read_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsers(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaEnumUsers *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsers"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetWkstaEnumUsers"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_wkssvc_NetWkstaEnumUsersInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetWkstaEnumUsers"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_wkssvc_NetWkstaEnumUsersInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_ptr(ndr, "entries_read", r->out.entries_read); - ndr->depth++; - ndr_print_uint32(ndr, "entries_read", *r->out.entries_read); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserGetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaUserGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown)); - if (r->in.unknown) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown, ndr_charset_length(r->in.unknown, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaUserGetInfo *r) -{ - uint32_t _ptr_unknown; - TALLOC_CTX *_mem_save_unknown_0; - TALLOC_CTX *_mem_save_info_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, r->in.unknown); - } else { - r->in.unknown = NULL; - } - if (r->in.unknown) { - _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown)); - if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level)); - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaUserGetInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaUserGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown", r->in.unknown); - ndr->depth++; - if (r->in.unknown) { - ndr_print_string(ndr, "unknown", r->in.unknown); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaUserGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.info, r->in.level); - ndr_print_wkssvc_NetrWkstaUserInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserSetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaUserSetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown)); - if (r->in.unknown) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown, ndr_charset_length(r->in.unknown, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_err)); - if (r->in.parm_err) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_err)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_err)); - if (r->out.parm_err) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_err)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserSetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaUserSetInfo *r) -{ - uint32_t _ptr_unknown; - uint32_t _ptr_parm_err; - TALLOC_CTX *_mem_save_unknown_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_parm_err_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, r->in.unknown); - } else { - r->in.unknown = NULL; - } - if (r->in.unknown) { - _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown)); - if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level)); - NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err)); - if (_ptr_parm_err) { - NDR_PULL_ALLOC(ndr, r->in.parm_err); - } else { - r->in.parm_err = NULL; - } - if (r->in.parm_err) { - _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_err, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_err)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err)); - if (_ptr_parm_err) { - NDR_PULL_ALLOC(ndr, r->out.parm_err); - } else { - r->out.parm_err = NULL; - } - if (r->out.parm_err) { - _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_err, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_err)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaUserSetInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserSetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaUserSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "unknown", r->in.unknown); - ndr->depth++; - if (r->in.unknown) { - ndr_print_string(ndr, "unknown", r->in.unknown); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.info, r->in.level); - ndr_print_wkssvc_NetrWkstaUserInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_ptr(ndr, "parm_err", r->in.parm_err); - ndr->depth++; - if (r->in.parm_err) { - ndr_print_uint32(ndr, "parm_err", *r->in.parm_err); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaUserSetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_err", r->out.parm_err); - ndr->depth++; - if (r->out.parm_err) { - ndr_print_uint32(ndr, "parm_err", *r->out.parm_err); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportEnum(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaTransportEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - if (r->out.total_entries == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportEnum(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaTransportEnum *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_total_entries_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - *r->out.info = *r->in.info; - NDR_PULL_ALLOC(ndr, r->out.total_entries); - ZERO_STRUCTP(r->out.total_entries); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.total_entries); - } - _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportEnum(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaTransportEnum *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetWkstaTransportEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_wkssvc_NetWkstaTransportInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetWkstaTransportEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_wkssvc_NetWkstaTransportInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_ptr(ndr, "total_entries", r->out.total_entries); - ndr->depth++; - ndr_print_uint32(ndr, "total_entries", *r->out.total_entries); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaTransportAdd(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaTransportAdd *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.info0 == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_err)); - if (r->in.parm_err) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_err)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_err)); - if (r->out.parm_err) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_err)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaTransportAdd *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_parm_err; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info0_0; - TALLOC_CTX *_mem_save_parm_err_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info0); - } - _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err)); - if (_ptr_parm_err) { - NDR_PULL_ALLOC(ndr, r->in.parm_err); - } else { - r->in.parm_err = NULL; - } - if (r->in.parm_err) { - _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_err, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_err)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err)); - if (_ptr_parm_err) { - NDR_PULL_ALLOC(ndr, r->out.parm_err); - } else { - r->out.parm_err = NULL; - } - if (r->out.parm_err) { - _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_err, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_err)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaTransportAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaTransportAdd *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaTransportAdd"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaTransportAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "info0", r->in.info0); - ndr->depth++; - ndr_print_wkssvc_NetWkstaTransportInfo0(ndr, "info0", r->in.info0); - ndr->depth--; - ndr_print_ptr(ndr, "parm_err", r->in.parm_err); - ndr->depth++; - if (r->in.parm_err) { - ndr_print_uint32(ndr, "parm_err", *r->in.parm_err); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaTransportAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_err", r->out.parm_err); - ndr->depth++; - if (r->out.parm_err) { - ndr_print_uint32(ndr, "parm_err", *r->out.parm_err); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWkstaTransportDel(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaTransportDel *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.transport_name)); - if (r->in.transport_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.transport_name, ndr_charset_length(r->in.transport_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaTransportDel *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_transport_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_transport_name_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_name)); - if (_ptr_transport_name) { - NDR_PULL_ALLOC(ndr, r->in.transport_name); - } else { - r->in.transport_name = NULL; - } - if (r->in.transport_name) { - _mem_save_transport_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.transport_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport_name)); - if (ndr_get_array_length(ndr, &r->in.transport_name) > ndr_get_array_size(ndr, &r->in.transport_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport_name), ndr_get_array_length(ndr, &r->in.transport_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport_name, ndr_get_array_length(ndr, &r->in.transport_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWkstaTransportDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaTransportDel *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWkstaTransportDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaTransportDel"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "transport_name", r->in.transport_name); - ndr->depth++; - if (r->in.transport_name) { - ndr_print_string(ndr, "transport_name", r->in.transport_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown3", r->in.unknown3); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaTransportDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseAdd(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseAdd *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - if (r->in.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, r->in.level)); - NDR_CHECK(ndr_push_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_err)); - if (r->in.parm_err) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_err)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_err)); - if (r->out.parm_err) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_err)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseAdd *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_parm_err; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_ctr_0; - TALLOC_CTX *_mem_save_parm_err_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, r->in.level)); - NDR_CHECK(ndr_pull_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err)); - if (_ptr_parm_err) { - NDR_PULL_ALLOC(ndr, r->in.parm_err); - } else { - r->in.parm_err = NULL; - } - if (r->in.parm_err) { - _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_err, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_err)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err)); - if (_ptr_parm_err) { - NDR_PULL_ALLOC(ndr, r->out.parm_err); - } else { - r->out.parm_err = NULL; - } - if (r->out.parm_err) { - _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_err, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_err)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseAdd *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseAdd"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrUseAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr_print_ptr(ndr, "ctr", r->in.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->in.ctr, r->in.level); - ndr_print_wkssvc_NetrUseGetInfoCtr(ndr, "ctr", r->in.ctr); - ndr->depth--; - ndr_print_ptr(ndr, "parm_err", r->in.parm_err); - ndr->depth++; - if (r->in.parm_err) { - ndr_print_uint32(ndr, "parm_err", *r->in.parm_err); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrUseAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "parm_err", r->out.parm_err); - ndr->depth++; - if (r->out.parm_err) { - ndr_print_uint32(ndr, "parm_err", *r->out.parm_err); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseGetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseGetInfo *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.use_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.use_name, ndr_charset_length(r->in.use_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level)); - } - if (flags & NDR_OUT) { - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, r->in.level)); - NDR_CHECK(ndr_push_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseGetInfo *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_ctr_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.use_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.use_name)); - if (ndr_get_array_length(ndr, &r->in.use_name) > ndr_get_array_size(ndr, &r->in.use_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.use_name), ndr_get_array_length(ndr, &r->in.use_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level)); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, r->in.level)); - NDR_CHECK(ndr_pull_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseGetInfo *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseGetInfo"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrUseGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "use_name", r->in.use_name); - ndr->depth++; - ndr_print_string(ndr, "use_name", r->in.use_name); - ndr->depth--; - ndr_print_uint32(ndr, "level", r->in.level); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrUseGetInfo"); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_set_switch_value(ndr, r->out.ctr, r->in.level); - ndr_print_wkssvc_NetrUseGetInfoCtr(ndr, "ctr", r->out.ctr); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseDel(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseDel *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.use_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.use_name, ndr_charset_length(r->in.use_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.force_cond)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseDel *r) -{ - uint32_t _ptr_server_name; - TALLOC_CTX *_mem_save_server_name_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.use_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.use_name)); - if (ndr_get_array_length(ndr, &r->in.use_name) > ndr_get_array_size(ndr, &r->in.use_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.use_name), ndr_get_array_length(ndr, &r->in.use_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.force_cond)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseDel *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrUseDel"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "use_name", r->in.use_name); - ndr->depth++; - ndr_print_string(ndr, "use_name", r->in.use_name); - ndr->depth--; - ndr_print_uint32(ndr, "force_cond", r->in.force_cond); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrUseDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUseEnum(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseEnum *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.prefmaxlen)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle)); - if (r->in.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle)); - } - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - if (r->out.entries_read == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.entries_read)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle)); - if (r->out.resume_handle) { - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnum(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseEnum *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_resume_handle; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_entries_read_0; - TALLOC_CTX *_mem_save_resume_handle_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.prefmaxlen)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->in.resume_handle); - } else { - r->in.resume_handle = NULL; - } - if (r->in.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_PULL_ALLOC(ndr, r->out.info); - *r->out.info = *r->in.info; - NDR_PULL_ALLOC(ndr, r->out.entries_read); - ZERO_STRUCTP(r->out.entries_read); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.entries_read); - } - _mem_save_entries_read_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.entries_read, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.entries_read)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_read_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle)); - if (_ptr_resume_handle) { - NDR_PULL_ALLOC(ndr, r->out.resume_handle); - } else { - r->out.resume_handle = NULL; - } - if (r->out.resume_handle) { - _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0); - } - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUseEnum(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseEnum *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUseEnum"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrUseEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "info", r->in.info); - ndr->depth++; - ndr_print_wkssvc_NetrUseEnumInfo(ndr, "info", r->in.info); - ndr->depth--; - ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen); - ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle); - ndr->depth++; - if (r->in.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle); - } - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrUseEnum"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_wkssvc_NetrUseEnumInfo(ndr, "info", r->out.info); - ndr->depth--; - ndr_print_ptr(ndr, "entries_read", r->out.entries_read); - ndr->depth++; - ndr_print_uint32(ndr, "entries_read", *r->out.entries_read); - ndr->depth--; - ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle); - ndr->depth++; - if (r->out.resume_handle) { - ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle); - } - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrMessageBufferSend(struct ndr_push *ndr, int flags, const struct wkssvc_NetrMessageBufferSend *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.message_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.message_name, ndr_charset_length(r->in.message_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message_sender_name)); - if (r->in.message_sender_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_sender_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_sender_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.message_sender_name, ndr_charset_length(r->in.message_sender_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.message_buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.message_size)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.message_buffer, r->in.message_size)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.message_size)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrMessageBufferSend(struct ndr_pull *ndr, int flags, struct wkssvc_NetrMessageBufferSend *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_message_sender_name; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_message_sender_name_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.message_name)); - if (ndr_get_array_length(ndr, &r->in.message_name) > ndr_get_array_size(ndr, &r->in.message_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.message_name), ndr_get_array_length(ndr, &r->in.message_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.message_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_name, ndr_get_array_length(ndr, &r->in.message_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message_sender_name)); - if (_ptr_message_sender_name) { - NDR_PULL_ALLOC(ndr, r->in.message_sender_name); - } else { - r->in.message_sender_name = NULL; - } - if (r->in.message_sender_name) { - _mem_save_message_sender_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.message_sender_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_sender_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.message_sender_name)); - if (ndr_get_array_length(ndr, &r->in.message_sender_name) > ndr_get_array_size(ndr, &r->in.message_sender_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.message_sender_name), ndr_get_array_length(ndr, &r->in.message_sender_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.message_sender_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_sender_name, ndr_get_array_length(ndr, &r->in.message_sender_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_sender_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_buffer)); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC_N(ndr, r->in.message_buffer, ndr_get_array_size(ndr, &r->in.message_buffer)); - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.message_buffer, ndr_get_array_size(ndr, &r->in.message_buffer))); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.message_size)); - if (r->in.message_buffer) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.message_buffer, r->in.message_size)); - } - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrMessageBufferSend(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrMessageBufferSend *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrMessageBufferSend"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrMessageBufferSend"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "message_name", r->in.message_name); - ndr->depth++; - ndr_print_string(ndr, "message_name", r->in.message_name); - ndr->depth--; - ndr_print_ptr(ndr, "message_sender_name", r->in.message_sender_name); - ndr->depth++; - if (r->in.message_sender_name) { - ndr_print_string(ndr, "message_sender_name", r->in.message_sender_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "message_buffer", r->in.message_buffer); - ndr->depth++; - ndr_print_array_uint8(ndr, "message_buffer", r->in.message_buffer, r->in.message_size); - ndr->depth--; - ndr_print_uint32(ndr, "message_size", r->in.message_size); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrMessageBufferSend"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrWorkstationStatisticsGet(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWorkstationStatisticsGet *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown2)); - if (r->in.unknown2) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown2, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown2, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown2, ndr_charset_length(r->in.unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown4)); - } - if (flags & NDR_OUT) { - if (r->out.info == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info)); - if (*r->out.info) { - NDR_CHECK(ndr_push_wkssvc_NetrWorkstationStatistics(ndr, NDR_SCALARS, *r->out.info)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatisticsGet(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWorkstationStatisticsGet *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_unknown2; - uint32_t _ptr_info; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_unknown2_0; - TALLOC_CTX *_mem_save_info_0; - TALLOC_CTX *_mem_save_info_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2)); - if (_ptr_unknown2) { - NDR_PULL_ALLOC(ndr, r->in.unknown2); - } else { - r->in.unknown2 = NULL; - } - if (r->in.unknown2) { - _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown2, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown2)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown2)); - if (ndr_get_array_length(ndr, &r->in.unknown2) > ndr_get_array_size(ndr, &r->in.unknown2)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown2), ndr_get_array_length(ndr, &r->in.unknown2)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown2), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown2, ndr_get_array_length(ndr, &r->in.unknown2), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown4)); - NDR_PULL_ALLOC(ndr, r->out.info); - ZERO_STRUCTP(r->out.info); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.info); - } - _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info)); - if (_ptr_info) { - NDR_PULL_ALLOC(ndr, *r->out.info); - } else { - *r->out.info = NULL; - } - if (*r->out.info) { - _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0); - NDR_CHECK(ndr_pull_wkssvc_NetrWorkstationStatistics(ndr, NDR_SCALARS, *r->out.info)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrWorkstationStatisticsGet(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWorkstationStatisticsGet *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrWorkstationStatisticsGet"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrWorkstationStatisticsGet"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "unknown2", r->in.unknown2); - ndr->depth++; - if (r->in.unknown2) { - ndr_print_string(ndr, "unknown2", r->in.unknown2); - } - ndr->depth--; - ndr_print_uint32(ndr, "unknown3", r->in.unknown3); - ndr_print_uint32(ndr, "unknown4", r->in.unknown4); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrWorkstationStatisticsGet"); - ndr->depth++; - ndr_print_ptr(ndr, "info", r->out.info); - ndr->depth++; - ndr_print_ptr(ndr, "info", *r->out.info); - ndr->depth++; - if (*r->out.info) { - ndr_print_wkssvc_NetrWorkstationStatistics(ndr, "info", *r->out.info); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrLogonDomainNameAdd(struct ndr_push *ndr, int flags, const struct wkssvc_NetrLogonDomainNameAdd *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrLogonDomainNameAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrLogonDomainNameAdd *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrLogonDomainNameAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrLogonDomainNameAdd *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrLogonDomainNameAdd"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrLogonDomainNameAdd"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_string(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrLogonDomainNameAdd"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrLogonDomainNameDel(struct ndr_push *ndr, int flags, const struct wkssvc_NetrLogonDomainNameDel *r) -{ - if (flags & NDR_IN) { - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrLogonDomainNameDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrLogonDomainNameDel *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrLogonDomainNameDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrLogonDomainNameDel *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrLogonDomainNameDel"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrLogonDomainNameDel"); - ndr->depth++; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_string(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrLogonDomainNameDel"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrJoinDomain(struct ndr_push *ndr, int flags, const struct wkssvc_NetrJoinDomain *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account_ou)); - if (r->in.account_ou) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_ou, ndr_charset_length(r->in.account_ou, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.join_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrJoinDomain *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_account_ou; - uint32_t _ptr_Account; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_account_ou_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_password_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_ou)); - if (_ptr_account_ou) { - NDR_PULL_ALLOC(ndr, r->in.account_ou); - } else { - r->in.account_ou = NULL; - } - if (r->in.account_ou) { - _mem_save_account_ou_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account_ou, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_ou)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_ou)); - if (ndr_get_array_length(ndr, &r->in.account_ou) > ndr_get_array_size(ndr, &r->in.account_ou)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_ou), ndr_get_array_length(ndr, &r->in.account_ou)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_ou_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password)); - if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.join_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrJoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrJoinDomain *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrJoinDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrJoinDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_string(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr_print_ptr(ndr, "account_ou", r->in.account_ou); - ndr->depth++; - if (r->in.account_ou) { - ndr_print_string(ndr, "account_ou", r->in.account_ou); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_string(ndr, "password", r->in.password); - } - ndr->depth--; - ndr_print_wkssvc_joinflags(ndr, "join_flags", r->in.join_flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrJoinDomain"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUnjoinDomain(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUnjoinDomain *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.unjoin_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUnjoinDomain *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_Account; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_password_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password)); - if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.unjoin_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUnjoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUnjoinDomain *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUnjoinDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrUnjoinDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_string(ndr, "password", r->in.password); - } - ndr->depth--; - ndr_print_wkssvc_joinflags(ndr, "unjoin_flags", r->in.unjoin_flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrUnjoinDomain"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrRenameMachineInDomain(struct ndr_push *ndr, int flags, const struct wkssvc_NetrRenameMachineInDomain *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.NewMachineName)); - if (r->in.NewMachineName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.NewMachineName, ndr_charset_length(r->in.NewMachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password)); - if (r->in.password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_wkssvc_renameflags(ndr, NDR_SCALARS, r->in.RenameOptions)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRenameMachineInDomain *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_NewMachineName; - uint32_t _ptr_Account; - uint32_t _ptr_password; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_NewMachineName_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_password_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewMachineName)); - if (_ptr_NewMachineName) { - NDR_PULL_ALLOC(ndr, r->in.NewMachineName); - } else { - r->in.NewMachineName = NULL; - } - if (r->in.NewMachineName) { - _mem_save_NewMachineName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.NewMachineName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewMachineName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewMachineName)); - if (ndr_get_array_length(ndr, &r->in.NewMachineName) > ndr_get_array_size(ndr, &r->in.NewMachineName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewMachineName), ndr_get_array_length(ndr, &r->in.NewMachineName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewMachineName_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password)); - if (_ptr_password) { - NDR_PULL_ALLOC(ndr, r->in.password); - } else { - r->in.password = NULL; - } - if (r->in.password) { - _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password)); - if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_renameflags(ndr, NDR_SCALARS, &r->in.RenameOptions)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrRenameMachineInDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRenameMachineInDomain *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrRenameMachineInDomain"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrRenameMachineInDomain"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "NewMachineName", r->in.NewMachineName); - ndr->depth++; - if (r->in.NewMachineName) { - ndr_print_string(ndr, "NewMachineName", r->in.NewMachineName); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "password", r->in.password); - ndr->depth++; - if (r->in.password) { - ndr_print_string(ndr, "password", r->in.password); - } - ndr->depth--; - ndr_print_wkssvc_renameflags(ndr, "RenameOptions", r->in.RenameOptions); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrRenameMachineInDomain"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrValidateName(struct ndr_push *ndr, int flags, const struct wkssvc_NetrValidateName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Password)); - if (r->in.Password) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Password, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Password, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Password, ndr_charset_length(r->in.Password, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, r->in.name_type)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrValidateName *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_Account; - uint32_t _ptr_Password; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_Password_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name)); - if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Password)); - if (_ptr_Password) { - NDR_PULL_ALLOC(ndr, r->in.Password); - } else { - r->in.Password = NULL; - } - if (r->in.Password) { - _mem_save_Password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Password, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Password)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Password)); - if (ndr_get_array_length(ndr, &r->in.Password) > ndr_get_array_size(ndr, &r->in.Password)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Password), ndr_get_array_length(ndr, &r->in.Password)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Password), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Password, ndr_get_array_length(ndr, &r->in.Password), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Password_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, &r->in.name_type)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrValidateName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrValidateName *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrValidateName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrValidateName"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_string(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "Password", r->in.Password); - ndr->depth++; - if (r->in.Password) { - ndr_print_string(ndr, "Password", r->in.Password); - } - ndr->depth--; - ndr_print_wkssvc_NetValidateNameType(ndr, "name_type", r->in.name_type); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrValidateName"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinInformation(struct ndr_push *ndr, int flags, const struct wkssvc_NetrGetJoinInformation *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.name_buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.name_buffer)); - if (*r->in.name_buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->in.name_buffer, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->in.name_buffer, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->in.name_buffer, ndr_charset_length(*r->in.name_buffer, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - if (flags & NDR_OUT) { - if (r->out.name_buffer == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name_buffer)); - if (*r->out.name_buffer) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name_buffer, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name_buffer, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.name_buffer, ndr_charset_length(*r->out.name_buffer, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->out.name_type == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_wkssvc_NetJoinStatus(ndr, NDR_SCALARS, *r->out.name_type)); - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinInformation(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinInformation *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_name_buffer; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_name_buffer_0; - TALLOC_CTX *_mem_save_name_buffer_1; - TALLOC_CTX *_mem_save_name_type_0; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.name_buffer); - } - _mem_save_name_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.name_buffer, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_buffer)); - if (_ptr_name_buffer) { - NDR_PULL_ALLOC(ndr, *r->in.name_buffer); - } else { - *r->in.name_buffer = NULL; - } - if (*r->in.name_buffer) { - _mem_save_name_buffer_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->in.name_buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->in.name_buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, r->in.name_buffer)); - if (ndr_get_array_length(ndr, r->in.name_buffer) > ndr_get_array_size(ndr, r->in.name_buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->in.name_buffer), ndr_get_array_length(ndr, r->in.name_buffer)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->in.name_buffer), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.name_buffer, ndr_get_array_length(ndr, r->in.name_buffer), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.name_buffer); - *r->out.name_buffer = *r->in.name_buffer; - NDR_PULL_ALLOC(ndr, r->out.name_type); - ZERO_STRUCTP(r->out.name_type); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.name_buffer); - } - _mem_save_name_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.name_buffer, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_buffer)); - if (_ptr_name_buffer) { - NDR_PULL_ALLOC(ndr, *r->out.name_buffer); - } else { - *r->out.name_buffer = NULL; - } - if (*r->out.name_buffer) { - _mem_save_name_buffer_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.name_buffer, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.name_buffer)); - NDR_CHECK(ndr_pull_array_length(ndr, r->out.name_buffer)); - if (ndr_get_array_length(ndr, r->out.name_buffer) > ndr_get_array_size(ndr, r->out.name_buffer)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.name_buffer), ndr_get_array_length(ndr, r->out.name_buffer)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.name_buffer), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name_buffer, ndr_get_array_length(ndr, r->out.name_buffer), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.name_type); - } - _mem_save_name_type_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.name_type, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_wkssvc_NetJoinStatus(ndr, NDR_SCALARS, r->out.name_type)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_type_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrGetJoinInformation(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinInformation *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrGetJoinInformation"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrGetJoinInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "name_buffer", r->in.name_buffer); - ndr->depth++; - ndr_print_ptr(ndr, "name_buffer", *r->in.name_buffer); - ndr->depth++; - if (*r->in.name_buffer) { - ndr_print_string(ndr, "name_buffer", *r->in.name_buffer); - } - ndr->depth--; - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrGetJoinInformation"); - ndr->depth++; - ndr_print_ptr(ndr, "name_buffer", r->out.name_buffer); - ndr->depth++; - ndr_print_ptr(ndr, "name_buffer", *r->out.name_buffer); - ndr->depth++; - if (*r->out.name_buffer) { - ndr_print_string(ndr, "name_buffer", *r->out.name_buffer); - } - ndr->depth--; - ndr->depth--; - ndr_print_ptr(ndr, "name_type", r->out.name_type); - ndr->depth++; - ndr_print_wkssvc_NetJoinStatus(ndr, "name_type", *r->out.name_type); - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinableOus(struct ndr_push *ndr, int flags, const struct wkssvc_NetrGetJoinableOus *r) -{ - uint32_t cntr_ous_2; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown)); - if (r->in.unknown) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown, ndr_charset_length(r->in.unknown, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.num_ous == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.num_ous)); - } - if (flags & NDR_OUT) { - if (r->out.num_ous == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ous)); - if (r->out.ous == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ous)); - if (*r->out.ous) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ous)); - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, (*r->out.ous)[cntr_ous_2])); - } - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - if ((*r->out.ous)[cntr_ous_2]) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, (*r->out.ous)[cntr_ous_2], ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinableOus *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_Account; - uint32_t _ptr_unknown; - uint32_t _ptr_ous; - uint32_t cntr_ous_2; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_unknown_0; - TALLOC_CTX *_mem_save_num_ous_0; - TALLOC_CTX *_mem_save_ous_0; - TALLOC_CTX *_mem_save_ous_1; - TALLOC_CTX *_mem_save_ous_2; - TALLOC_CTX *_mem_save_ous_3; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown)); - if (_ptr_unknown) { - NDR_PULL_ALLOC(ndr, r->in.unknown); - } else { - r->in.unknown = NULL; - } - if (r->in.unknown) { - _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown)); - if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.num_ous); - } - _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.num_ous, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.num_ous)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.num_ous); - *r->out.num_ous = *r->in.num_ous; - NDR_PULL_ALLOC(ndr, r->out.ous); - ZERO_STRUCTP(r->out.ous); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_ous); - } - _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ous, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ous)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ous); - } - _mem_save_ous_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ous, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous)); - if (_ptr_ous) { - NDR_PULL_ALLOC(ndr, *r->out.ous); - } else { - *r->out.ous = NULL; - } - if (*r->out.ous) { - _mem_save_ous_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.ous)); - NDR_PULL_ALLOC_N(ndr, *r->out.ous, ndr_get_array_size(ndr, r->out.ous)); - _mem_save_ous_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0); - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous)); - if (_ptr_ous) { - NDR_PULL_ALLOC(ndr, (*r->out.ous)[cntr_ous_2]); - } else { - (*r->out.ous)[cntr_ous_2] = NULL; - } - } - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - if ((*r->out.ous)[cntr_ous_2]) { - _mem_save_ous_3 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, (*r->out.ous)[cntr_ous_2], 0); - NDR_CHECK(ndr_pull_array_size(ndr, &(*r->out.ous)[cntr_ous_2])); - NDR_CHECK(ndr_pull_array_length(ndr, &(*r->out.ous)[cntr_ous_2])); - if (ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]) > ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2])) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2]), ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2])); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_3, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_2, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (*r->out.ous) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)r->out.ous, *r->out.num_ous)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrGetJoinableOus(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinableOus *r) -{ - uint32_t cntr_ous_2; - ndr_print_struct(ndr, name, "wkssvc_NetrGetJoinableOus"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrGetJoinableOus"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_string(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "unknown", r->in.unknown); - ndr->depth++; - if (r->in.unknown) { - ndr_print_string(ndr, "unknown", r->in.unknown); - } - ndr->depth--; - ndr_print_ptr(ndr, "num_ous", r->in.num_ous); - ndr->depth++; - ndr_print_uint32(ndr, "num_ous", *r->in.num_ous); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrGetJoinableOus"); - ndr->depth++; - ndr_print_ptr(ndr, "num_ous", r->out.num_ous); - ndr->depth++; - ndr_print_uint32(ndr, "num_ous", *r->out.num_ous); - ndr->depth--; - ndr_print_ptr(ndr, "ous", r->out.ous); - ndr->depth++; - ndr_print_ptr(ndr, "ous", *r->out.ous); - ndr->depth++; - if (*r->out.ous) { - ndr->print(ndr, "%s: ARRAY(%d)", "ous", (int)*r->out.num_ous); - ndr->depth++; - for (cntr_ous_2=0;cntr_ous_2<*r->out.num_ous;cntr_ous_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_ous_2) != -1) { - ndr_print_ptr(ndr, "ous", (*r->out.ous)[cntr_ous_2]); - ndr->depth++; - if ((*r->out.ous)[cntr_ous_2]) { - ndr_print_string(ndr, "ous", (*r->out.ous)[cntr_ous_2]); - } - ndr->depth--; - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrJoinDomain2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrJoinDomain2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account_ou)); - if (r->in.account_ou) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_ou, ndr_charset_length(r->in.account_ou, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.admin_account)); - if (r->in.admin_account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.admin_account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.admin_account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.admin_account, ndr_charset_length(r->in.admin_account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.encrypted_password)); - if (r->in.encrypted_password) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password)); - } - NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.join_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrJoinDomain2 *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_account_ou; - uint32_t _ptr_admin_account; - uint32_t _ptr_encrypted_password; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_account_ou_0; - TALLOC_CTX *_mem_save_admin_account_0; - TALLOC_CTX *_mem_save_encrypted_password_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_ou)); - if (_ptr_account_ou) { - NDR_PULL_ALLOC(ndr, r->in.account_ou); - } else { - r->in.account_ou = NULL; - } - if (r->in.account_ou) { - _mem_save_account_ou_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account_ou, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_ou)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_ou)); - if (ndr_get_array_length(ndr, &r->in.account_ou) > ndr_get_array_size(ndr, &r->in.account_ou)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_ou), ndr_get_array_length(ndr, &r->in.account_ou)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_ou_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_admin_account)); - if (_ptr_admin_account) { - NDR_PULL_ALLOC(ndr, r->in.admin_account); - } else { - r->in.admin_account = NULL; - } - if (r->in.admin_account) { - _mem_save_admin_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.admin_account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.admin_account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.admin_account)); - if (ndr_get_array_length(ndr, &r->in.admin_account) > ndr_get_array_size(ndr, &r->in.admin_account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.admin_account), ndr_get_array_length(ndr, &r->in.admin_account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.admin_account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.admin_account, ndr_get_array_length(ndr, &r->in.admin_account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_admin_account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_encrypted_password)); - if (_ptr_encrypted_password) { - NDR_PULL_ALLOC(ndr, r->in.encrypted_password); - } else { - r->in.encrypted_password = NULL; - } - if (r->in.encrypted_password) { - _mem_save_encrypted_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.encrypted_password, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_encrypted_password_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.join_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrJoinDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrJoinDomain2 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrJoinDomain2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrJoinDomain2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_string(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr_print_ptr(ndr, "account_ou", r->in.account_ou); - ndr->depth++; - if (r->in.account_ou) { - ndr_print_string(ndr, "account_ou", r->in.account_ou); - } - ndr->depth--; - ndr_print_ptr(ndr, "admin_account", r->in.admin_account); - ndr->depth++; - if (r->in.admin_account) { - ndr_print_string(ndr, "admin_account", r->in.admin_account); - } - ndr->depth--; - ndr_print_ptr(ndr, "encrypted_password", r->in.encrypted_password); - ndr->depth++; - if (r->in.encrypted_password) { - ndr_print_wkssvc_PasswordBuffer(ndr, "encrypted_password", r->in.encrypted_password); - } - ndr->depth--; - ndr_print_wkssvc_joinflags(ndr, "join_flags", r->in.join_flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrJoinDomain2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrUnjoinDomain2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUnjoinDomain2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account)); - if (r->in.account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account, ndr_charset_length(r->in.account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.encrypted_password)); - if (r->in.encrypted_password) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password)); - } - NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.unjoin_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUnjoinDomain2 *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_account; - uint32_t _ptr_encrypted_password; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_account_0; - TALLOC_CTX *_mem_save_encrypted_password_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account)); - if (_ptr_account) { - NDR_PULL_ALLOC(ndr, r->in.account); - } else { - r->in.account = NULL; - } - if (r->in.account) { - _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account)); - if (ndr_get_array_length(ndr, &r->in.account) > ndr_get_array_size(ndr, &r->in.account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account), ndr_get_array_length(ndr, &r->in.account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account, ndr_get_array_length(ndr, &r->in.account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_encrypted_password)); - if (_ptr_encrypted_password) { - NDR_PULL_ALLOC(ndr, r->in.encrypted_password); - } else { - r->in.encrypted_password = NULL; - } - if (r->in.encrypted_password) { - _mem_save_encrypted_password_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.encrypted_password, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_encrypted_password_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.unjoin_flags)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrUnjoinDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUnjoinDomain2 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrUnjoinDomain2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrUnjoinDomain2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "account", r->in.account); - ndr->depth++; - if (r->in.account) { - ndr_print_string(ndr, "account", r->in.account); - } - ndr->depth--; - ndr_print_ptr(ndr, "encrypted_password", r->in.encrypted_password); - ndr->depth++; - if (r->in.encrypted_password) { - ndr_print_wkssvc_PasswordBuffer(ndr, "encrypted_password", r->in.encrypted_password); - } - ndr->depth--; - ndr_print_wkssvc_joinflags(ndr, "unjoin_flags", r->in.unjoin_flags); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrUnjoinDomain2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrRenameMachineInDomain2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrRenameMachineInDomain2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.NewMachineName)); - if (r->in.NewMachineName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.NewMachineName, ndr_charset_length(r->in.NewMachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword)); - if (r->in.EncryptedPassword) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - } - NDR_CHECK(ndr_push_wkssvc_renameflags(ndr, NDR_SCALARS, r->in.RenameOptions)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRenameMachineInDomain2 *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_NewMachineName; - uint32_t _ptr_Account; - uint32_t _ptr_EncryptedPassword; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_NewMachineName_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_EncryptedPassword_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewMachineName)); - if (_ptr_NewMachineName) { - NDR_PULL_ALLOC(ndr, r->in.NewMachineName); - } else { - r->in.NewMachineName = NULL; - } - if (r->in.NewMachineName) { - _mem_save_NewMachineName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.NewMachineName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewMachineName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewMachineName)); - if (ndr_get_array_length(ndr, &r->in.NewMachineName) > ndr_get_array_size(ndr, &r->in.NewMachineName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewMachineName), ndr_get_array_length(ndr, &r->in.NewMachineName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewMachineName_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword)); - if (_ptr_EncryptedPassword) { - NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword); - } else { - r->in.EncryptedPassword = NULL; - } - if (r->in.EncryptedPassword) { - _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_renameflags(ndr, NDR_SCALARS, &r->in.RenameOptions)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrRenameMachineInDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRenameMachineInDomain2 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrRenameMachineInDomain2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrRenameMachineInDomain2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "NewMachineName", r->in.NewMachineName); - ndr->depth++; - if (r->in.NewMachineName) { - ndr_print_string(ndr, "NewMachineName", r->in.NewMachineName); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword); - ndr->depth++; - if (r->in.EncryptedPassword) { - ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword); - } - ndr->depth--; - ndr_print_wkssvc_renameflags(ndr, "RenameOptions", r->in.RenameOptions); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrRenameMachineInDomain2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrValidateName2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrValidateName2 *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword)); - if (r->in.EncryptedPassword) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - } - NDR_CHECK(ndr_push_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, r->in.name_type)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrValidateName2 *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_Account; - uint32_t _ptr_EncryptedPassword; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_EncryptedPassword_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name)); - if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword)); - if (_ptr_EncryptedPassword) { - NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword); - } else { - r->in.EncryptedPassword = NULL; - } - if (r->in.EncryptedPassword) { - _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, &r->in.name_type)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrValidateName2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrValidateName2 *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrValidateName2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrValidateName2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "name", r->in.name); - ndr->depth++; - ndr_print_string(ndr, "name", r->in.name); - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword); - ndr->depth++; - if (r->in.EncryptedPassword) { - ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword); - } - ndr->depth--; - ndr_print_wkssvc_NetValidateNameType(ndr, "name_type", r->in.name_type); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrValidateName2"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinableOus2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrGetJoinableOus2 *r) -{ - uint32_t cntr_ous_2; - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - if (r->in.domain_name == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword)); - if (r->in.EncryptedPassword) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - } - if (r->in.num_ous == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.num_ous)); - } - if (flags & NDR_OUT) { - if (r->out.num_ous == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ous)); - if (r->out.ous == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ous)); - if (*r->out.ous) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ous)); - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - NDR_CHECK(ndr_push_unique_ptr(ndr, (*r->out.ous)[cntr_ous_2])); - } - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - if ((*r->out.ous)[cntr_ous_2]) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, (*r->out.ous)[cntr_ous_2], ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - } - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinableOus2 *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_Account; - uint32_t _ptr_EncryptedPassword; - uint32_t _ptr_ous; - uint32_t cntr_ous_2; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_EncryptedPassword_0; - TALLOC_CTX *_mem_save_num_ous_0; - TALLOC_CTX *_mem_save_ous_0; - TALLOC_CTX *_mem_save_ous_1; - TALLOC_CTX *_mem_save_ous_2; - TALLOC_CTX *_mem_save_ous_3; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name)); - if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword)); - if (_ptr_EncryptedPassword) { - NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword); - } else { - r->in.EncryptedPassword = NULL; - } - if (r->in.EncryptedPassword) { - _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0); - } - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->in.num_ous); - } - _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.num_ous, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.num_ous)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC); - NDR_PULL_ALLOC(ndr, r->out.num_ous); - *r->out.num_ous = *r->in.num_ous; - NDR_PULL_ALLOC(ndr, r->out.ous); - ZERO_STRUCTP(r->out.ous); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.num_ous); - } - _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ous, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ous)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC); - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ous); - } - _mem_save_ous_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ous, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous)); - if (_ptr_ous) { - NDR_PULL_ALLOC(ndr, *r->out.ous); - } else { - *r->out.ous = NULL; - } - if (*r->out.ous) { - _mem_save_ous_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0); - NDR_CHECK(ndr_pull_array_size(ndr, r->out.ous)); - NDR_PULL_ALLOC_N(ndr, *r->out.ous, ndr_get_array_size(ndr, r->out.ous)); - _mem_save_ous_2 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0); - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous)); - if (_ptr_ous) { - NDR_PULL_ALLOC(ndr, (*r->out.ous)[cntr_ous_2]); - } else { - (*r->out.ous)[cntr_ous_2] = NULL; - } - } - for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) { - if ((*r->out.ous)[cntr_ous_2]) { - _mem_save_ous_3 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, (*r->out.ous)[cntr_ous_2], 0); - NDR_CHECK(ndr_pull_array_size(ndr, &(*r->out.ous)[cntr_ous_2])); - NDR_CHECK(ndr_pull_array_length(ndr, &(*r->out.ous)[cntr_ous_2])); - if (ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]) > ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2])) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2]), ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2])); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_3, 0); - } - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_2, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - if (*r->out.ous) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)r->out.ous, *r->out.num_ous)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrGetJoinableOus2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinableOus2 *r) -{ - uint32_t cntr_ous_2; - ndr_print_struct(ndr, name, "wkssvc_NetrGetJoinableOus2"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrGetJoinableOus2"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "domain_name", r->in.domain_name); - ndr->depth++; - ndr_print_string(ndr, "domain_name", r->in.domain_name); - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword); - ndr->depth++; - if (r->in.EncryptedPassword) { - ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword); - } - ndr->depth--; - ndr_print_ptr(ndr, "num_ous", r->in.num_ous); - ndr->depth++; - ndr_print_uint32(ndr, "num_ous", *r->in.num_ous); - ndr->depth--; - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrGetJoinableOus2"); - ndr->depth++; - ndr_print_ptr(ndr, "num_ous", r->out.num_ous); - ndr->depth++; - ndr_print_uint32(ndr, "num_ous", *r->out.num_ous); - ndr->depth--; - ndr_print_ptr(ndr, "ous", r->out.ous); - ndr->depth++; - ndr_print_ptr(ndr, "ous", *r->out.ous); - ndr->depth++; - if (*r->out.ous) { - ndr->print(ndr, "%s: ARRAY(%d)", "ous", (int)*r->out.num_ous); - ndr->depth++; - for (cntr_ous_2=0;cntr_ous_2<*r->out.num_ous;cntr_ous_2++) { - char *idx_2=NULL; - if (asprintf(&idx_2, "[%d]", cntr_ous_2) != -1) { - ndr_print_ptr(ndr, "ous", (*r->out.ous)[cntr_ous_2]); - ndr->depth++; - if ((*r->out.ous)[cntr_ous_2]) { - ndr_print_string(ndr, "ous", (*r->out.ous)[cntr_ous_2]); - } - ndr->depth--; - free(idx_2); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrAddAlternateComputerName(struct ndr_push *ndr, int flags, const struct wkssvc_NetrAddAlternateComputerName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.NewAlternateMachineName)); - if (r->in.NewAlternateMachineName) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewAlternateMachineName, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewAlternateMachineName, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.NewAlternateMachineName, ndr_charset_length(r->in.NewAlternateMachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword)); - if (r->in.EncryptedPassword) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrAddAlternateComputerName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrAddAlternateComputerName *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_NewAlternateMachineName; - uint32_t _ptr_Account; - uint32_t _ptr_EncryptedPassword; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_NewAlternateMachineName_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_EncryptedPassword_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewAlternateMachineName)); - if (_ptr_NewAlternateMachineName) { - NDR_PULL_ALLOC(ndr, r->in.NewAlternateMachineName); - } else { - r->in.NewAlternateMachineName = NULL; - } - if (r->in.NewAlternateMachineName) { - _mem_save_NewAlternateMachineName_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.NewAlternateMachineName, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewAlternateMachineName)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewAlternateMachineName)); - if (ndr_get_array_length(ndr, &r->in.NewAlternateMachineName) > ndr_get_array_size(ndr, &r->in.NewAlternateMachineName)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewAlternateMachineName), ndr_get_array_length(ndr, &r->in.NewAlternateMachineName)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewAlternateMachineName), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewAlternateMachineName, ndr_get_array_length(ndr, &r->in.NewAlternateMachineName), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewAlternateMachineName_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword)); - if (_ptr_EncryptedPassword) { - NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword); - } else { - r->in.EncryptedPassword = NULL; - } - if (r->in.EncryptedPassword) { - _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrAddAlternateComputerName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrAddAlternateComputerName *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrAddAlternateComputerName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrAddAlternateComputerName"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "NewAlternateMachineName", r->in.NewAlternateMachineName); - ndr->depth++; - if (r->in.NewAlternateMachineName) { - ndr_print_string(ndr, "NewAlternateMachineName", r->in.NewAlternateMachineName); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword); - ndr->depth++; - if (r->in.EncryptedPassword) { - ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword); - } - ndr->depth--; - ndr_print_uint32(ndr, "Reserved", r->in.Reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrAddAlternateComputerName"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrRemoveAlternateComputerName(struct ndr_push *ndr, int flags, const struct wkssvc_NetrRemoveAlternateComputerName *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.AlternateMachineNameToRemove)); - if (r->in.AlternateMachineNameToRemove) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.AlternateMachineNameToRemove, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.AlternateMachineNameToRemove, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.AlternateMachineNameToRemove, ndr_charset_length(r->in.AlternateMachineNameToRemove, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword)); - if (r->in.EncryptedPassword) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrRemoveAlternateComputerName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRemoveAlternateComputerName *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_AlternateMachineNameToRemove; - uint32_t _ptr_Account; - uint32_t _ptr_EncryptedPassword; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_AlternateMachineNameToRemove_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_EncryptedPassword_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_AlternateMachineNameToRemove)); - if (_ptr_AlternateMachineNameToRemove) { - NDR_PULL_ALLOC(ndr, r->in.AlternateMachineNameToRemove); - } else { - r->in.AlternateMachineNameToRemove = NULL; - } - if (r->in.AlternateMachineNameToRemove) { - _mem_save_AlternateMachineNameToRemove_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.AlternateMachineNameToRemove, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.AlternateMachineNameToRemove)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.AlternateMachineNameToRemove)); - if (ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove) > ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove), ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.AlternateMachineNameToRemove, ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AlternateMachineNameToRemove_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword)); - if (_ptr_EncryptedPassword) { - NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword); - } else { - r->in.EncryptedPassword = NULL; - } - if (r->in.EncryptedPassword) { - _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrRemoveAlternateComputerName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRemoveAlternateComputerName *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrRemoveAlternateComputerName"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrRemoveAlternateComputerName"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "AlternateMachineNameToRemove", r->in.AlternateMachineNameToRemove); - ndr->depth++; - if (r->in.AlternateMachineNameToRemove) { - ndr_print_string(ndr, "AlternateMachineNameToRemove", r->in.AlternateMachineNameToRemove); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword); - ndr->depth++; - if (r->in.EncryptedPassword) { - ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword); - } - ndr->depth--; - ndr_print_uint32(ndr, "Reserved", r->in.Reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrRemoveAlternateComputerName"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrSetPrimaryComputername(struct ndr_push *ndr, int flags, const struct wkssvc_NetrSetPrimaryComputername *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.primary_name)); - if (r->in.primary_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.primary_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.primary_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.primary_name, ndr_charset_length(r->in.primary_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account)); - if (r->in.Account) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword)); - if (r->in.EncryptedPassword) { - NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - } - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrSetPrimaryComputername(struct ndr_pull *ndr, int flags, struct wkssvc_NetrSetPrimaryComputername *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_primary_name; - uint32_t _ptr_Account; - uint32_t _ptr_EncryptedPassword; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_primary_name_0; - TALLOC_CTX *_mem_save_Account_0; - TALLOC_CTX *_mem_save_EncryptedPassword_0; - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_primary_name)); - if (_ptr_primary_name) { - NDR_PULL_ALLOC(ndr, r->in.primary_name); - } else { - r->in.primary_name = NULL; - } - if (r->in.primary_name) { - _mem_save_primary_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.primary_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.primary_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.primary_name)); - if (ndr_get_array_length(ndr, &r->in.primary_name) > ndr_get_array_size(ndr, &r->in.primary_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.primary_name), ndr_get_array_length(ndr, &r->in.primary_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.primary_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.primary_name, ndr_get_array_length(ndr, &r->in.primary_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_primary_name_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account)); - if (_ptr_Account) { - NDR_PULL_ALLOC(ndr, r->in.Account); - } else { - r->in.Account = NULL; - } - if (r->in.Account) { - _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account)); - if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0); - } - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword)); - if (_ptr_EncryptedPassword) { - NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword); - } else { - r->in.EncryptedPassword = NULL; - } - if (r->in.EncryptedPassword) { - _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0); - NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0); - } - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved)); - } - if (flags & NDR_OUT) { - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrSetPrimaryComputername(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrSetPrimaryComputername *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrSetPrimaryComputername"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrSetPrimaryComputername"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "primary_name", r->in.primary_name); - ndr->depth++; - if (r->in.primary_name) { - ndr_print_string(ndr, "primary_name", r->in.primary_name); - } - ndr->depth--; - ndr_print_ptr(ndr, "Account", r->in.Account); - ndr->depth++; - if (r->in.Account) { - ndr_print_string(ndr, "Account", r->in.Account); - } - ndr->depth--; - ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword); - ndr->depth++; - if (r->in.EncryptedPassword) { - ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword); - } - ndr->depth--; - ndr_print_uint32(ndr, "Reserved", r->in.Reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrSetPrimaryComputername"); - ndr->depth++; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static enum ndr_err_code ndr_push_wkssvc_NetrEnumerateComputerNames(struct ndr_push *ndr, int flags, const struct wkssvc_NetrEnumerateComputerNames *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); - if (r->in.server_name) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); - } - NDR_CHECK(ndr_push_wkssvc_ComputerNameType(ndr, NDR_SCALARS, r->in.name_type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved)); - } - if (flags & NDR_OUT) { - if (r->out.ctr == NULL) { - return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); - } - NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr)); - if (*r->out.ctr) { - NDR_CHECK(ndr_push_wkssvc_ComputerNamesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - } - NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_wkssvc_NetrEnumerateComputerNames(struct ndr_pull *ndr, int flags, struct wkssvc_NetrEnumerateComputerNames *r) -{ - uint32_t _ptr_server_name; - uint32_t _ptr_ctr; - TALLOC_CTX *_mem_save_server_name_0; - TALLOC_CTX *_mem_save_ctr_0; - TALLOC_CTX *_mem_save_ctr_1; - if (flags & NDR_IN) { - ZERO_STRUCT(r->out); - - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name)); - if (_ptr_server_name) { - NDR_PULL_ALLOC(ndr, r->in.server_name); - } else { - r->in.server_name = NULL; - } - if (r->in.server_name) { - _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); - NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); - if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { - return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); - } - NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0); - } - NDR_CHECK(ndr_pull_wkssvc_ComputerNameType(ndr, NDR_SCALARS, &r->in.name_type)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved)); - NDR_PULL_ALLOC(ndr, r->out.ctr); - ZERO_STRUCTP(r->out.ctr); - } - if (flags & NDR_OUT) { - if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { - NDR_PULL_ALLOC(ndr, r->out.ctr); - } - _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr)); - if (_ptr_ctr) { - NDR_PULL_ALLOC(ndr, *r->out.ctr); - } else { - *r->out.ctr = NULL; - } - if (*r->out.ctr) { - _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0); - NDR_CHECK(ndr_pull_wkssvc_ComputerNamesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC); - NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_wkssvc_NetrEnumerateComputerNames(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrEnumerateComputerNames *r) -{ - ndr_print_struct(ndr, name, "wkssvc_NetrEnumerateComputerNames"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "wkssvc_NetrEnumerateComputerNames"); - ndr->depth++; - ndr_print_ptr(ndr, "server_name", r->in.server_name); - ndr->depth++; - if (r->in.server_name) { - ndr_print_string(ndr, "server_name", r->in.server_name); - } - ndr->depth--; - ndr_print_wkssvc_ComputerNameType(ndr, "name_type", r->in.name_type); - ndr_print_uint32(ndr, "Reserved", r->in.Reserved); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "wkssvc_NetrEnumerateComputerNames"); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", r->out.ctr); - ndr->depth++; - ndr_print_ptr(ndr, "ctr", *r->out.ctr); - ndr->depth++; - if (*r->out.ctr) { - ndr_print_wkssvc_ComputerNamesCtr(ndr, "ctr", *r->out.ctr); - } - ndr->depth--; - ndr->depth--; - ndr_print_WERROR(ndr, "result", r->out.result); - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call wkssvc_calls[] = { - { - "wkssvc_NetWkstaGetInfo", - sizeof(struct wkssvc_NetWkstaGetInfo), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaGetInfo, - (ndr_print_function_t) ndr_print_wkssvc_NetWkstaGetInfo, - false, - }, - { - "wkssvc_NetWkstaSetInfo", - sizeof(struct wkssvc_NetWkstaSetInfo), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaSetInfo, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaSetInfo, - (ndr_print_function_t) ndr_print_wkssvc_NetWkstaSetInfo, - false, - }, - { - "wkssvc_NetWkstaEnumUsers", - sizeof(struct wkssvc_NetWkstaEnumUsers), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaEnumUsers, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaEnumUsers, - (ndr_print_function_t) ndr_print_wkssvc_NetWkstaEnumUsers, - false, - }, - { - "wkssvc_NetrWkstaUserGetInfo", - sizeof(struct wkssvc_NetrWkstaUserGetInfo), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaUserGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaUserGetInfo, - (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaUserGetInfo, - false, - }, - { - "wkssvc_NetrWkstaUserSetInfo", - sizeof(struct wkssvc_NetrWkstaUserSetInfo), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaUserSetInfo, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaUserSetInfo, - (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaUserSetInfo, - false, - }, - { - "wkssvc_NetWkstaTransportEnum", - sizeof(struct wkssvc_NetWkstaTransportEnum), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaTransportEnum, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaTransportEnum, - (ndr_print_function_t) ndr_print_wkssvc_NetWkstaTransportEnum, - false, - }, - { - "wkssvc_NetrWkstaTransportAdd", - sizeof(struct wkssvc_NetrWkstaTransportAdd), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaTransportAdd, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaTransportAdd, - (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaTransportAdd, - false, - }, - { - "wkssvc_NetrWkstaTransportDel", - sizeof(struct wkssvc_NetrWkstaTransportDel), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaTransportDel, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaTransportDel, - (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaTransportDel, - false, - }, - { - "wkssvc_NetrUseAdd", - sizeof(struct wkssvc_NetrUseAdd), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseAdd, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseAdd, - (ndr_print_function_t) ndr_print_wkssvc_NetrUseAdd, - false, - }, - { - "wkssvc_NetrUseGetInfo", - sizeof(struct wkssvc_NetrUseGetInfo), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseGetInfo, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseGetInfo, - (ndr_print_function_t) ndr_print_wkssvc_NetrUseGetInfo, - false, - }, - { - "wkssvc_NetrUseDel", - sizeof(struct wkssvc_NetrUseDel), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseDel, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseDel, - (ndr_print_function_t) ndr_print_wkssvc_NetrUseDel, - false, - }, - { - "wkssvc_NetrUseEnum", - sizeof(struct wkssvc_NetrUseEnum), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseEnum, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseEnum, - (ndr_print_function_t) ndr_print_wkssvc_NetrUseEnum, - false, - }, - { - "wkssvc_NetrMessageBufferSend", - sizeof(struct wkssvc_NetrMessageBufferSend), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrMessageBufferSend, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrMessageBufferSend, - (ndr_print_function_t) ndr_print_wkssvc_NetrMessageBufferSend, - false, - }, - { - "wkssvc_NetrWorkstationStatisticsGet", - sizeof(struct wkssvc_NetrWorkstationStatisticsGet), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWorkstationStatisticsGet, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWorkstationStatisticsGet, - (ndr_print_function_t) ndr_print_wkssvc_NetrWorkstationStatisticsGet, - false, - }, - { - "wkssvc_NetrLogonDomainNameAdd", - sizeof(struct wkssvc_NetrLogonDomainNameAdd), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrLogonDomainNameAdd, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrLogonDomainNameAdd, - (ndr_print_function_t) ndr_print_wkssvc_NetrLogonDomainNameAdd, - false, - }, - { - "wkssvc_NetrLogonDomainNameDel", - sizeof(struct wkssvc_NetrLogonDomainNameDel), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrLogonDomainNameDel, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrLogonDomainNameDel, - (ndr_print_function_t) ndr_print_wkssvc_NetrLogonDomainNameDel, - false, - }, - { - "wkssvc_NetrJoinDomain", - sizeof(struct wkssvc_NetrJoinDomain), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrJoinDomain, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrJoinDomain, - (ndr_print_function_t) ndr_print_wkssvc_NetrJoinDomain, - false, - }, - { - "wkssvc_NetrUnjoinDomain", - sizeof(struct wkssvc_NetrUnjoinDomain), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUnjoinDomain, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUnjoinDomain, - (ndr_print_function_t) ndr_print_wkssvc_NetrUnjoinDomain, - false, - }, - { - "wkssvc_NetrRenameMachineInDomain", - sizeof(struct wkssvc_NetrRenameMachineInDomain), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrRenameMachineInDomain, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrRenameMachineInDomain, - (ndr_print_function_t) ndr_print_wkssvc_NetrRenameMachineInDomain, - false, - }, - { - "wkssvc_NetrValidateName", - sizeof(struct wkssvc_NetrValidateName), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrValidateName, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrValidateName, - (ndr_print_function_t) ndr_print_wkssvc_NetrValidateName, - false, - }, - { - "wkssvc_NetrGetJoinInformation", - sizeof(struct wkssvc_NetrGetJoinInformation), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrGetJoinInformation, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrGetJoinInformation, - (ndr_print_function_t) ndr_print_wkssvc_NetrGetJoinInformation, - false, - }, - { - "wkssvc_NetrGetJoinableOus", - sizeof(struct wkssvc_NetrGetJoinableOus), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrGetJoinableOus, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrGetJoinableOus, - (ndr_print_function_t) ndr_print_wkssvc_NetrGetJoinableOus, - false, - }, - { - "wkssvc_NetrJoinDomain2", - sizeof(struct wkssvc_NetrJoinDomain2), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrJoinDomain2, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrJoinDomain2, - (ndr_print_function_t) ndr_print_wkssvc_NetrJoinDomain2, - false, - }, - { - "wkssvc_NetrUnjoinDomain2", - sizeof(struct wkssvc_NetrUnjoinDomain2), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUnjoinDomain2, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUnjoinDomain2, - (ndr_print_function_t) ndr_print_wkssvc_NetrUnjoinDomain2, - false, - }, - { - "wkssvc_NetrRenameMachineInDomain2", - sizeof(struct wkssvc_NetrRenameMachineInDomain2), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrRenameMachineInDomain2, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrRenameMachineInDomain2, - (ndr_print_function_t) ndr_print_wkssvc_NetrRenameMachineInDomain2, - false, - }, - { - "wkssvc_NetrValidateName2", - sizeof(struct wkssvc_NetrValidateName2), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrValidateName2, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrValidateName2, - (ndr_print_function_t) ndr_print_wkssvc_NetrValidateName2, - false, - }, - { - "wkssvc_NetrGetJoinableOus2", - sizeof(struct wkssvc_NetrGetJoinableOus2), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrGetJoinableOus2, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrGetJoinableOus2, - (ndr_print_function_t) ndr_print_wkssvc_NetrGetJoinableOus2, - false, - }, - { - "wkssvc_NetrAddAlternateComputerName", - sizeof(struct wkssvc_NetrAddAlternateComputerName), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrAddAlternateComputerName, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrAddAlternateComputerName, - (ndr_print_function_t) ndr_print_wkssvc_NetrAddAlternateComputerName, - false, - }, - { - "wkssvc_NetrRemoveAlternateComputerName", - sizeof(struct wkssvc_NetrRemoveAlternateComputerName), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrRemoveAlternateComputerName, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrRemoveAlternateComputerName, - (ndr_print_function_t) ndr_print_wkssvc_NetrRemoveAlternateComputerName, - false, - }, - { - "wkssvc_NetrSetPrimaryComputername", - sizeof(struct wkssvc_NetrSetPrimaryComputername), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrSetPrimaryComputername, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrSetPrimaryComputername, - (ndr_print_function_t) ndr_print_wkssvc_NetrSetPrimaryComputername, - false, - }, - { - "wkssvc_NetrEnumerateComputerNames", - sizeof(struct wkssvc_NetrEnumerateComputerNames), - (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrEnumerateComputerNames, - (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrEnumerateComputerNames, - (ndr_print_function_t) ndr_print_wkssvc_NetrEnumerateComputerNames, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const wkssvc_endpoint_strings[] = { - "ncacn_np:[\\pipe\\wkssvc]", - "ncacn_ip_tcp:", - "ncalrpc:", -}; - -static const struct ndr_interface_string_array wkssvc_endpoints = { - .count = 3, - .names = wkssvc_endpoint_strings -}; - -static const char * const wkssvc_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array wkssvc_authservices = { - .count = 1, - .names = wkssvc_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_wkssvc = { - .name = "wkssvc", - .syntax_id = { - {0x6bffd098,0xa112,0x3610,{0x98,0x33},{0x46,0xc3,0xf8,0x7e,0x34,0x5a}}, - NDR_WKSSVC_VERSION - }, - .helpstring = NDR_WKSSVC_HELPSTRING, - .num_calls = 31, - .calls = wkssvc_calls, - .endpoints = &wkssvc_endpoints, - .authservices = &wkssvc_authservices -}; - diff --git a/librpc/gen_ndr/ndr_wkssvc.h b/librpc/gen_ndr/ndr_wkssvc.h deleted file mode 100644 index fa533c60ebf..00000000000 --- a/librpc/gen_ndr/ndr_wkssvc.h +++ /dev/null @@ -1,175 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/wkssvc.h" - -#ifndef _HEADER_NDR_wkssvc -#define _HEADER_NDR_wkssvc - -#define NDR_WKSSVC_UUID "6bffd098-a112-3610-9833-46c3f87e345a" -#define NDR_WKSSVC_VERSION 1.0 -#define NDR_WKSSVC_NAME "wkssvc" -#define NDR_WKSSVC_HELPSTRING "Workstation Service" -extern const struct ndr_interface_table ndr_table_wkssvc; -#define NDR_WKSSVC_NETWKSTAGETINFO (0x00) - -#define NDR_WKSSVC_NETWKSTASETINFO (0x01) - -#define NDR_WKSSVC_NETWKSTAENUMUSERS (0x02) - -#define NDR_WKSSVC_NETRWKSTAUSERGETINFO (0x03) - -#define NDR_WKSSVC_NETRWKSTAUSERSETINFO (0x04) - -#define NDR_WKSSVC_NETWKSTATRANSPORTENUM (0x05) - -#define NDR_WKSSVC_NETRWKSTATRANSPORTADD (0x06) - -#define NDR_WKSSVC_NETRWKSTATRANSPORTDEL (0x07) - -#define NDR_WKSSVC_NETRUSEADD (0x08) - -#define NDR_WKSSVC_NETRUSEGETINFO (0x09) - -#define NDR_WKSSVC_NETRUSEDEL (0x0a) - -#define NDR_WKSSVC_NETRUSEENUM (0x0b) - -#define NDR_WKSSVC_NETRMESSAGEBUFFERSEND (0x0c) - -#define NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET (0x0d) - -#define NDR_WKSSVC_NETRLOGONDOMAINNAMEADD (0x0e) - -#define NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL (0x0f) - -#define NDR_WKSSVC_NETRJOINDOMAIN (0x10) - -#define NDR_WKSSVC_NETRUNJOINDOMAIN (0x11) - -#define NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN (0x12) - -#define NDR_WKSSVC_NETRVALIDATENAME (0x13) - -#define NDR_WKSSVC_NETRGETJOININFORMATION (0x14) - -#define NDR_WKSSVC_NETRGETJOINABLEOUS (0x15) - -#define NDR_WKSSVC_NETRJOINDOMAIN2 (0x16) - -#define NDR_WKSSVC_NETRUNJOINDOMAIN2 (0x17) - -#define NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2 (0x18) - -#define NDR_WKSSVC_NETRVALIDATENAME2 (0x19) - -#define NDR_WKSSVC_NETRGETJOINABLEOUS2 (0x1a) - -#define NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME (0x1b) - -#define NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME (0x1c) - -#define NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME (0x1d) - -#define NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES (0x1e) - -#define NDR_WKSSVC_CALL_COUNT (31) -void ndr_print_wkssvc_NetWkstaInfo100(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo100 *r); -void ndr_print_wkssvc_NetWkstaInfo101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo101 *r); -void ndr_print_wkssvc_NetWkstaInfo102(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo102 *r); -void ndr_print_wkssvc_NetWkstaInfo502(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo502 *r); -void ndr_print_wkssvc_NetWkstaInfo1010(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1010 *r); -void ndr_print_wkssvc_NetWkstaInfo1011(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1011 *r); -void ndr_print_wkssvc_NetWkstaInfo1012(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1012 *r); -void ndr_print_wkssvc_NetWkstaInfo1013(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1013 *r); -void ndr_print_wkssvc_NetWkstaInfo1018(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1018 *r); -void ndr_print_wkssvc_NetWkstaInfo1023(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1023 *r); -void ndr_print_wkssvc_NetWkstaInfo1027(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1027 *r); -void ndr_print_wkssvc_NetWkstaInfo1028(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1028 *r); -void ndr_print_wkssvc_NetWkstaInfo1032(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1032 *r); -void ndr_print_wkssvc_NetWkstaInfo1033(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1033 *r); -void ndr_print_wkssvc_NetWkstaInfo1041(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1041 *r); -void ndr_print_wkssvc_NetWkstaInfo1042(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1042 *r); -void ndr_print_wkssvc_NetWkstaInfo1043(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1043 *r); -void ndr_print_wkssvc_NetWkstaInfo1044(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1044 *r); -void ndr_print_wkssvc_NetWkstaInfo1045(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1045 *r); -void ndr_print_wkssvc_NetWkstaInfo1046(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1046 *r); -void ndr_print_wkssvc_NetWkstaInfo1047(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1047 *r); -void ndr_print_wkssvc_NetWkstaInfo1048(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1048 *r); -void ndr_print_wkssvc_NetWkstaInfo1049(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1049 *r); -void ndr_print_wkssvc_NetWkstaInfo1050(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1050 *r); -void ndr_print_wkssvc_NetWkstaInfo1051(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1051 *r); -void ndr_print_wkssvc_NetWkstaInfo1052(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1052 *r); -void ndr_print_wkssvc_NetWkstaInfo1053(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1053 *r); -void ndr_print_wkssvc_NetWkstaInfo1054(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1054 *r); -void ndr_print_wkssvc_NetWkstaInfo1055(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1055 *r); -void ndr_print_wkssvc_NetWkstaInfo1056(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1056 *r); -void ndr_print_wkssvc_NetWkstaInfo1057(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1057 *r); -void ndr_print_wkssvc_NetWkstaInfo1058(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1058 *r); -void ndr_print_wkssvc_NetWkstaInfo1059(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1059 *r); -void ndr_print_wkssvc_NetWkstaInfo1060(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1060 *r); -void ndr_print_wkssvc_NetWkstaInfo1061(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1061 *r); -void ndr_print_wkssvc_NetWkstaInfo1062(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1062 *r); -void ndr_print_wkssvc_NetWkstaInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaInfo *r); -void ndr_print_wkssvc_NetrWkstaUserInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo0 *r); -void ndr_print_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersCtr0 *r); -void ndr_print_wkssvc_NetrWkstaUserInfo1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo1 *r); -void ndr_print_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersCtr1 *r); -void ndr_print_wkssvc_NetWkstaEnumUsersCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaEnumUsersCtr *r); -void ndr_print_wkssvc_NetWkstaEnumUsersInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersInfo *r); -void ndr_print_wkssvc_NetrWkstaUserInfo1101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo1101 *r); -void ndr_print_wkssvc_NetrWkstaUserInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetrWkstaUserInfo *r); -void ndr_print_wkssvc_NetWkstaTransportInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportInfo0 *r); -void ndr_print_wkssvc_NetWkstaTransportCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportCtr0 *r); -void ndr_print_wkssvc_NetWkstaTransportCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaTransportCtr *r); -void ndr_print_wkssvc_NetWkstaTransportInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportInfo *r); -void ndr_print_wkssvc_NetrUseInfo3(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo3 *r); -void ndr_print_wkssvc_NetrUseInfo2(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo2 *r); -void ndr_print_wkssvc_NetrUseInfo1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo1 *r); -void ndr_print_wkssvc_NetrUseInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo0 *r); -void ndr_print_wkssvc_NetrUseGetInfoCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetrUseGetInfoCtr *r); -void ndr_print_wkssvc_NetrUseEnumCtr2(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr2 *r); -void ndr_print_wkssvc_NetrUseEnumCtr1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr1 *r); -void ndr_print_wkssvc_NetrUseEnumCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr0 *r); -void ndr_print_wkssvc_NetrUseEnumCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetrUseEnumCtr *r); -void ndr_print_wkssvc_NetrUseEnumInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumInfo *r); -void ndr_print_wkssvc_NetrWorkstationStatistics(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWorkstationStatistics *r); -void ndr_print_wkssvc_renameflags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_wkssvc_NetValidateNameType(struct ndr_print *ndr, const char *name, enum wkssvc_NetValidateNameType r); -void ndr_print_wkssvc_NetJoinStatus(struct ndr_print *ndr, const char *name, enum wkssvc_NetJoinStatus r); -void ndr_print_wkssvc_PasswordBuffer(struct ndr_print *ndr, const char *name, const struct wkssvc_PasswordBuffer *r); -void ndr_print_wkssvc_joinflags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_wkssvc_ComputerNameType(struct ndr_print *ndr, const char *name, enum wkssvc_ComputerNameType r); -void ndr_print_wkssvc_ComputerNamesCtr(struct ndr_print *ndr, const char *name, const struct wkssvc_ComputerNamesCtr *r); -void ndr_print_wkssvc_NetWkstaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaGetInfo *r); -void ndr_print_wkssvc_NetWkstaSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaSetInfo *r); -void ndr_print_wkssvc_NetWkstaEnumUsers(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaEnumUsers *r); -void ndr_print_wkssvc_NetrWkstaUserGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaUserGetInfo *r); -void ndr_print_wkssvc_NetrWkstaUserSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaUserSetInfo *r); -void ndr_print_wkssvc_NetWkstaTransportEnum(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaTransportEnum *r); -void ndr_print_wkssvc_NetrWkstaTransportAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaTransportAdd *r); -void ndr_print_wkssvc_NetrWkstaTransportDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaTransportDel *r); -void ndr_print_wkssvc_NetrUseAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseAdd *r); -void ndr_print_wkssvc_NetrUseGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseGetInfo *r); -void ndr_print_wkssvc_NetrUseDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseDel *r); -void ndr_print_wkssvc_NetrUseEnum(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseEnum *r); -void ndr_print_wkssvc_NetrMessageBufferSend(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrMessageBufferSend *r); -void ndr_print_wkssvc_NetrWorkstationStatisticsGet(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWorkstationStatisticsGet *r); -void ndr_print_wkssvc_NetrLogonDomainNameAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrLogonDomainNameAdd *r); -void ndr_print_wkssvc_NetrLogonDomainNameDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrLogonDomainNameDel *r); -void ndr_print_wkssvc_NetrJoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrJoinDomain *r); -void ndr_print_wkssvc_NetrUnjoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUnjoinDomain *r); -void ndr_print_wkssvc_NetrRenameMachineInDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRenameMachineInDomain *r); -void ndr_print_wkssvc_NetrValidateName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrValidateName *r); -void ndr_print_wkssvc_NetrGetJoinInformation(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinInformation *r); -void ndr_print_wkssvc_NetrGetJoinableOus(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinableOus *r); -void ndr_print_wkssvc_NetrJoinDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrJoinDomain2 *r); -void ndr_print_wkssvc_NetrUnjoinDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUnjoinDomain2 *r); -void ndr_print_wkssvc_NetrRenameMachineInDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRenameMachineInDomain2 *r); -void ndr_print_wkssvc_NetrValidateName2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrValidateName2 *r); -void ndr_print_wkssvc_NetrGetJoinableOus2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinableOus2 *r); -void ndr_print_wkssvc_NetrAddAlternateComputerName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrAddAlternateComputerName *r); -void ndr_print_wkssvc_NetrRemoveAlternateComputerName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRemoveAlternateComputerName *r); -void ndr_print_wkssvc_NetrSetPrimaryComputername(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrSetPrimaryComputername *r); -void ndr_print_wkssvc_NetrEnumerateComputerNames(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrEnumerateComputerNames *r); -#endif /* _HEADER_NDR_wkssvc */ diff --git a/librpc/gen_ndr/ndr_xattr.c b/librpc/gen_ndr/ndr_xattr.c deleted file mode 100644 index bbffd50e9fc..00000000000 --- a/librpc/gen_ndr/ndr_xattr.c +++ /dev/null @@ -1,1125 +0,0 @@ -/* parser auto-generated by pidl */ - -#include "includes.h" -#include "../librpc/gen_ndr/ndr_xattr.h" - -#include "librpc/gen_ndr/ndr_security.h" -static enum ndr_err_code ndr_push_xattr_DosInfoFFFFCompat(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfoFFFFCompat *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attrib)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_DosInfoFFFFCompat(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfoFFFFCompat *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attrib)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosInfoFFFFCompat(struct ndr_print *ndr, const char *name, const struct xattr_DosInfoFFFFCompat *r) -{ - ndr_print_struct(ndr, name, "xattr_DosInfoFFFFCompat"); - ndr->depth++; - ndr_print_uint32(ndr, "attrib", r->attrib); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_DosInfo1(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attrib)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ea_size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->create_time)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->change_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_DosInfo1(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo1 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attrib)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ea_size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->create_time)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->change_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosInfo1(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo1 *r) -{ - ndr_print_struct(ndr, name, "xattr_DosInfo1"); - ndr->depth++; - ndr_print_uint32(ndr, "attrib", r->attrib); - ndr_print_uint32(ndr, "ea_size", r->ea_size); - ndr_print_udlong(ndr, "size", r->size); - ndr_print_udlong(ndr, "alloc_size", r->alloc_size); - ndr_print_NTTIME(ndr, "create_time", r->create_time); - ndr_print_NTTIME(ndr, "change_time", r->change_time); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_DosInfo2Old(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfo2Old *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attrib)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ea_size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->create_time)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->change_time)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->write_time)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_DosInfo2Old(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo2Old *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attrib)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ea_size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->create_time)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->change_time)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->write_time)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosInfo2Old(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo2Old *r) -{ - ndr_print_struct(ndr, name, "xattr_DosInfo2Old"); - ndr->depth++; - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_uint32(ndr, "attrib", r->attrib); - ndr_print_uint32(ndr, "ea_size", r->ea_size); - ndr_print_udlong(ndr, "size", r->size); - ndr_print_udlong(ndr, "alloc_size", r->alloc_size); - ndr_print_NTTIME(ndr, "create_time", r->create_time); - ndr_print_NTTIME(ndr, "change_time", r->change_time); - ndr_print_NTTIME(ndr, "write_time", r->write_time); - ndr_print_string(ndr, "name", r->name); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_DosInfoValidFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r) -{ - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r)); - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_DosInfoValidFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r) -{ - uint32_t v; - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v)); - *r = v; - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosInfoValidFlags(struct ndr_print *ndr, const char *name, uint32_t r) -{ - ndr_print_uint32(ndr, name, r); - ndr->depth++; - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "XATTR_DOSINFO_ATTRIB", XATTR_DOSINFO_ATTRIB, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "XATTR_DOSINFO_EA_SIZE", XATTR_DOSINFO_EA_SIZE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "XATTR_DOSINFO_SIZE", XATTR_DOSINFO_SIZE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "XATTR_DOSINFO_ALLOC_SIZE", XATTR_DOSINFO_ALLOC_SIZE, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "XATTR_DOSINFO_CREATE_TIME", XATTR_DOSINFO_CREATE_TIME, r); - ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "XATTR_DOSINFO_CHANGE_TIME", XATTR_DOSINFO_CHANGE_TIME, r); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_DosInfo3(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_xattr_DosInfoValidFlags(ndr, NDR_SCALARS, r->valid_flags)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attrib)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ea_size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->create_time)); - NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->change_time)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_DosInfo3(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosInfo3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_xattr_DosInfoValidFlags(ndr, NDR_SCALARS, &r->valid_flags)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attrib)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ea_size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->create_time)); - NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->change_time)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosInfo3(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo3 *r) -{ - ndr_print_struct(ndr, name, "xattr_DosInfo3"); - ndr->depth++; - ndr_print_xattr_DosInfoValidFlags(ndr, "valid_flags", r->valid_flags); - ndr_print_uint32(ndr, "attrib", r->attrib); - ndr_print_uint32(ndr, "ea_size", r->ea_size); - ndr_print_udlong(ndr, "size", r->size); - ndr_print_udlong(ndr, "alloc_size", r->alloc_size); - ndr_print_NTTIME(ndr, "create_time", r->create_time); - ndr_print_NTTIME(ndr, "change_time", r->change_time); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_xattr_DosInfo(struct ndr_push *ndr, int ndr_flags, const union xattr_DosInfo *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 4)); - switch (level) { - case 0xFFFF: { - NDR_CHECK(ndr_push_xattr_DosInfoFFFFCompat(ndr, NDR_SCALARS, &r->compatinfoFFFF)); - break; } - - case 1: { - NDR_CHECK(ndr_push_xattr_DosInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_push_xattr_DosInfo2Old(ndr, NDR_SCALARS, &r->oldinfo2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_xattr_DosInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 0xFFFF: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosInfo(struct ndr_pull *ndr, int ndr_flags, union xattr_DosInfo *r) -{ - int level; - uint16_t _level; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 4)); - switch (level) { - case 0xFFFF: { - NDR_CHECK(ndr_pull_xattr_DosInfoFFFFCompat(ndr, NDR_SCALARS, &r->compatinfoFFFF)); - break; } - - case 1: { - NDR_CHECK(ndr_pull_xattr_DosInfo1(ndr, NDR_SCALARS, &r->info1)); - break; } - - case 2: { - NDR_CHECK(ndr_pull_xattr_DosInfo2Old(ndr, NDR_SCALARS, &r->oldinfo2)); - break; } - - case 3: { - NDR_CHECK(ndr_pull_xattr_DosInfo3(ndr, NDR_SCALARS, &r->info3)); - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 0xFFFF: - break; - - case 1: - break; - - case 2: - break; - - case 3: - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosInfo(struct ndr_print *ndr, const char *name, const union xattr_DosInfo *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "xattr_DosInfo"); - switch (level) { - case 0xFFFF: - ndr_print_xattr_DosInfoFFFFCompat(ndr, "compatinfoFFFF", &r->compatinfoFFFF); - break; - - case 1: - ndr_print_xattr_DosInfo1(ndr, "info1", &r->info1); - break; - - case 2: - ndr_print_xattr_DosInfo2Old(ndr, "oldinfo2", &r->oldinfo2); - break; - - case 3: - ndr_print_xattr_DosInfo3(ndr, "info3", &r->info3); - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_xattr_DosAttrib(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosAttrib *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version)); - NDR_CHECK(ndr_push_xattr_DosInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosAttrib(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosAttrib *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version)); - NDR_CHECK(ndr_pull_xattr_DosInfo(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosAttrib(struct ndr_print *ndr, const char *name, const struct xattr_DosAttrib *r) -{ - ndr_print_struct(ndr, name, "xattr_DosAttrib"); - ndr->depth++; - ndr_print_uint16(ndr, "version", r->version); - ndr_print_set_switch_value(ndr, &r->info, r->version); - ndr_print_xattr_DosInfo(ndr, "info", &r->info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_EA(struct ndr_push *ndr, int ndr_flags, const struct xattr_EA *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->value)); - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_EA(struct ndr_pull *ndr, int ndr_flags, struct xattr_EA *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->value)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_EA(struct ndr_print *ndr, const char *name, const struct xattr_EA *r) -{ - ndr_print_struct(ndr, name, "xattr_EA"); - ndr->depth++; - ndr_print_string(ndr, "name", r->name); - ndr_print_DATA_BLOB(ndr, "value", r->value); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_xattr_DosEAs(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosEAs *r) -{ - uint32_t cntr_eas_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_eas)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->eas)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->eas) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_eas)); - for (cntr_eas_1 = 0; cntr_eas_1 < r->num_eas; cntr_eas_1++) { - NDR_CHECK(ndr_push_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosEAs(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosEAs *r) -{ - uint32_t _ptr_eas; - uint32_t cntr_eas_1; - TALLOC_CTX *_mem_save_eas_0; - TALLOC_CTX *_mem_save_eas_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_eas)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eas)); - if (_ptr_eas) { - NDR_PULL_ALLOC(ndr, r->eas); - } else { - r->eas = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->eas) { - _mem_save_eas_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->eas)); - NDR_PULL_ALLOC_N(ndr, r->eas, ndr_get_array_size(ndr, &r->eas)); - _mem_save_eas_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0); - for (cntr_eas_1 = 0; cntr_eas_1 < r->num_eas; cntr_eas_1++) { - NDR_CHECK(ndr_pull_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_0, 0); - } - if (r->eas) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eas, r->num_eas)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosEAs(struct ndr_print *ndr, const char *name, const struct xattr_DosEAs *r) -{ - uint32_t cntr_eas_1; - ndr_print_struct(ndr, name, "xattr_DosEAs"); - ndr->depth++; - ndr_print_uint16(ndr, "num_eas", r->num_eas); - ndr_print_ptr(ndr, "eas", r->eas); - ndr->depth++; - if (r->eas) { - ndr->print(ndr, "%s: ARRAY(%d)", "eas", (int)r->num_eas); - ndr->depth++; - for (cntr_eas_1=0;cntr_eas_1num_eas;cntr_eas_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_eas_1) != -1) { - ndr_print_xattr_EA(ndr, "eas", &r->eas[cntr_eas_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_tdb_xattrs(struct ndr_push *ndr, int ndr_flags, const struct tdb_xattrs *r) -{ - uint32_t cntr_eas_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_eas)); - for (cntr_eas_0 = 0; cntr_eas_0 < r->num_eas; cntr_eas_0++) { - NDR_CHECK(ndr_push_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_0])); - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_tdb_xattrs(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattrs *r) -{ - uint32_t cntr_eas_0; - TALLOC_CTX *_mem_save_eas_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_eas)); - NDR_PULL_ALLOC_N(ndr, r->eas, r->num_eas); - _mem_save_eas_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->eas, 0); - for (cntr_eas_0 = 0; cntr_eas_0 < r->num_eas; cntr_eas_0++) { - NDR_CHECK(ndr_pull_xattr_EA(ndr, NDR_SCALARS, &r->eas[cntr_eas_0])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eas_0, 0); - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_tdb_xattrs(struct ndr_print *ndr, const char *name, const struct tdb_xattrs *r) -{ - uint32_t cntr_eas_0; - ndr_print_struct(ndr, name, "tdb_xattrs"); - ndr->depth++; - ndr_print_uint32(ndr, "num_eas", r->num_eas); - ndr->print(ndr, "%s: ARRAY(%d)", "eas", (int)r->num_eas); - ndr->depth++; - for (cntr_eas_0=0;cntr_eas_0num_eas;cntr_eas_0++) { - char *idx_0=NULL; - if (asprintf(&idx_0, "[%d]", cntr_eas_0) != -1) { - ndr_print_xattr_EA(ndr, "eas", &r->eas[cntr_eas_0]); - free(idx_0); - } - } - ndr->depth--; - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_DosStream(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStream *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->size)); - NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->alloc_size)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_push_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_DosStream(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStream *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 4)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->size)); - NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->alloc_size)); - { - uint32_t _flags_save_string = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name)); - ndr->flags = _flags_save_string; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); - } - if (ndr_flags & NDR_BUFFERS) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosStream(struct ndr_print *ndr, const char *name, const struct xattr_DosStream *r) -{ - ndr_print_struct(ndr, name, "xattr_DosStream"); - ndr->depth++; - ndr_print_uint32(ndr, "flags", r->flags); - ndr_print_udlong(ndr, "size", r->size); - ndr_print_udlong(ndr, "alloc_size", r->alloc_size); - ndr_print_string(ndr, "name", r->name); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_xattr_DosStreams(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStreams *r) -{ - uint32_t cntr_streams_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_streams)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->streams)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->streams) { - NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_streams)); - for (cntr_streams_1 = 0; cntr_streams_1 < r->num_streams; cntr_streams_1++) { - NDR_CHECK(ndr_push_xattr_DosStream(ndr, NDR_SCALARS, &r->streams[cntr_streams_1])); - } - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_xattr_DosStreams(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStreams *r) -{ - uint32_t _ptr_streams; - uint32_t cntr_streams_1; - TALLOC_CTX *_mem_save_streams_0; - TALLOC_CTX *_mem_save_streams_1; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_streams)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_streams)); - if (_ptr_streams) { - NDR_PULL_ALLOC(ndr, r->streams); - } else { - r->streams = NULL; - } - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->streams) { - _mem_save_streams_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->streams, 0); - NDR_CHECK(ndr_pull_array_size(ndr, &r->streams)); - NDR_PULL_ALLOC_N(ndr, r->streams, ndr_get_array_size(ndr, &r->streams)); - _mem_save_streams_1 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->streams, 0); - for (cntr_streams_1 = 0; cntr_streams_1 < r->num_streams; cntr_streams_1++) { - NDR_CHECK(ndr_pull_xattr_DosStream(ndr, NDR_SCALARS, &r->streams[cntr_streams_1])); - } - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_streams_1, 0); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_streams_0, 0); - } - if (r->streams) { - NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->streams, r->num_streams)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_DosStreams(struct ndr_print *ndr, const char *name, const struct xattr_DosStreams *r) -{ - uint32_t cntr_streams_1; - ndr_print_struct(ndr, name, "xattr_DosStreams"); - ndr->depth++; - ndr_print_uint32(ndr, "num_streams", r->num_streams); - ndr_print_ptr(ndr, "streams", r->streams); - ndr->depth++; - if (r->streams) { - ndr->print(ndr, "%s: ARRAY(%d)", "streams", (int)r->num_streams); - ndr->depth++; - for (cntr_streams_1=0;cntr_streams_1num_streams;cntr_streams_1++) { - char *idx_1=NULL; - if (asprintf(&idx_1, "[%d]", cntr_streams_1) != -1) { - ndr_print_xattr_DosStream(ndr, "streams", &r->streams[cntr_streams_1]); - free(idx_1); - } - } - ndr->depth--; - } - ndr->depth--; - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_hash_v2(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor_hash_v2 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sd) { - NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_hash_v2(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor_hash_v2 *r) -{ - uint32_t _ptr_sd; - TALLOC_CTX *_mem_save_sd_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd)); - if (_ptr_sd) { - NDR_PULL_ALLOC(ndr, r->sd); - } else { - r->sd = NULL; - } - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sd) { - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0); - NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_descriptor_hash_v2(struct ndr_print *ndr, const char *name, const struct security_descriptor_hash_v2 *r) -{ - ndr_print_struct(ndr, name, "security_descriptor_hash_v2"); - ndr->depth++; - ndr_print_ptr(ndr, "sd", r->sd); - ndr->depth++; - if (r->sd) { - ndr_print_security_descriptor(ndr, "sd", r->sd); - } - ndr->depth--; - ndr_print_array_uint8(ndr, "hash", r->hash, 16); - ndr->depth--; -} - -_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_hash_v3(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor_hash_v3 *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->hash_type)); - NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 64)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sd) { - NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_hash_v3(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor_hash_v3 *r) -{ - uint32_t _ptr_sd; - TALLOC_CTX *_mem_save_sd_0; - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd)); - if (_ptr_sd) { - NDR_PULL_ALLOC(ndr, r->sd); - } else { - r->sd = NULL; - } - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->hash_type)); - NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 64)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - if (r->sd) { - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0); - NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_security_descriptor_hash_v3(struct ndr_print *ndr, const char *name, const struct security_descriptor_hash_v3 *r) -{ - ndr_print_struct(ndr, name, "security_descriptor_hash_v3"); - ndr->depth++; - ndr_print_ptr(ndr, "sd", r->sd); - ndr->depth++; - if (r->sd) { - ndr_print_security_descriptor(ndr, "sd", r->sd); - } - ndr->depth--; - ndr_print_uint16(ndr, "hash_type", r->hash_type); - ndr_print_array_uint8(ndr, "hash", r->hash, 64); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_NTACL_Info(struct ndr_push *ndr, int ndr_flags, const union xattr_NTACL_Info *r) -{ - if (ndr_flags & NDR_SCALARS) { - int level = ndr_push_get_switch_value(ndr, r); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level)); - NDR_CHECK(ndr_push_union_align(ndr, 5)); - switch (level) { - case 1: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd)); - break; } - - case 2: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd_hs2)); - break; } - - case 3: { - NDR_CHECK(ndr_push_unique_ptr(ndr, r->sd_hs3)); - break; } - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - int level = ndr_push_get_switch_value(ndr, r); - switch (level) { - case 1: - if (r->sd) { - NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); - } - break; - - case 2: - if (r->sd_hs2) { - NDR_CHECK(ndr_push_security_descriptor_hash_v2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs2)); - } - break; - - case 3: - if (r->sd_hs3) { - NDR_CHECK(ndr_push_security_descriptor_hash_v3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs3)); - } - break; - - default: - return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_NTACL_Info(struct ndr_pull *ndr, int ndr_flags, union xattr_NTACL_Info *r) -{ - int level; - uint16_t _level; - TALLOC_CTX *_mem_save_sd_0; - TALLOC_CTX *_mem_save_sd_hs2_0; - TALLOC_CTX *_mem_save_sd_hs3_0; - level = ndr_pull_get_switch_value(ndr, r); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level)); - if (_level != level) { - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__); - } - NDR_CHECK(ndr_pull_union_align(ndr, 5)); - switch (level) { - case 1: { - uint32_t _ptr_sd; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd)); - if (_ptr_sd) { - NDR_PULL_ALLOC(ndr, r->sd); - } else { - r->sd = NULL; - } - break; } - - case 2: { - uint32_t _ptr_sd_hs2; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd_hs2)); - if (_ptr_sd_hs2) { - NDR_PULL_ALLOC(ndr, r->sd_hs2); - } else { - r->sd_hs2 = NULL; - } - break; } - - case 3: { - uint32_t _ptr_sd_hs3; - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sd_hs3)); - if (_ptr_sd_hs3) { - NDR_PULL_ALLOC(ndr, r->sd_hs3); - } else { - r->sd_hs3 = NULL; - } - break; } - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 1: - if (r->sd) { - _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sd, 0); - NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 0); - } - break; - - case 2: - if (r->sd_hs2) { - _mem_save_sd_hs2_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sd_hs2, 0); - NDR_CHECK(ndr_pull_security_descriptor_hash_v2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs2)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_hs2_0, 0); - } - break; - - case 3: - if (r->sd_hs3) { - _mem_save_sd_hs3_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->sd_hs3, 0); - NDR_CHECK(ndr_pull_security_descriptor_hash_v3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sd_hs3)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_hs3_0, 0); - } - break; - - default: - return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__); - } - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_NTACL_Info(struct ndr_print *ndr, const char *name, const union xattr_NTACL_Info *r) -{ - int level; - level = ndr_print_get_switch_value(ndr, r); - ndr_print_union(ndr, name, level, "xattr_NTACL_Info"); - switch (level) { - case 1: - ndr_print_ptr(ndr, "sd", r->sd); - ndr->depth++; - if (r->sd) { - ndr_print_security_descriptor(ndr, "sd", r->sd); - } - ndr->depth--; - break; - - case 2: - ndr_print_ptr(ndr, "sd_hs2", r->sd_hs2); - ndr->depth++; - if (r->sd_hs2) { - ndr_print_security_descriptor_hash_v2(ndr, "sd_hs2", r->sd_hs2); - } - ndr->depth--; - break; - - case 3: - ndr_print_ptr(ndr, "sd_hs3", r->sd_hs3); - ndr->depth++; - if (r->sd_hs3) { - ndr_print_security_descriptor_hash_v3(ndr, "sd_hs3", r->sd_hs3); - } - ndr->depth--; - break; - - default: - ndr_print_bad_level(ndr, name, level); - } -} - -_PUBLIC_ enum ndr_err_code ndr_push_xattr_NTACL(struct ndr_push *ndr, int ndr_flags, const struct xattr_NTACL *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 5)); - NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version)); - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->version)); - NDR_CHECK(ndr_push_xattr_NTACL_Info(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_push_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_push_xattr_NTACL_Info(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ enum ndr_err_code ndr_pull_xattr_NTACL(struct ndr_pull *ndr, int ndr_flags, struct xattr_NTACL *r) -{ - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_pull_align(ndr, 5)); - NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version)); - NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->version)); - NDR_CHECK(ndr_pull_xattr_NTACL_Info(ndr, NDR_SCALARS, &r->info)); - NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); - } - if (ndr_flags & NDR_BUFFERS) { - NDR_CHECK(ndr_pull_xattr_NTACL_Info(ndr, NDR_BUFFERS, &r->info)); - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_NTACL(struct ndr_print *ndr, const char *name, const struct xattr_NTACL *r) -{ - ndr_print_struct(ndr, name, "xattr_NTACL"); - ndr->depth++; - ndr_print_uint16(ndr, "version", r->version); - ndr_print_set_switch_value(ndr, &r->info, r->version); - ndr_print_xattr_NTACL_Info(ndr, "info", &r->info); - ndr->depth--; -} - -static enum ndr_err_code ndr_push_xattr_parse_DOSATTRIB(struct ndr_push *ndr, int flags, const struct xattr_parse_DOSATTRIB *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_push_xattr_DOSATTRIB(ndr, NDR_SCALARS, &r->in.x)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -static enum ndr_err_code ndr_pull_xattr_parse_DOSATTRIB(struct ndr_pull *ndr, int flags, struct xattr_parse_DOSATTRIB *r) -{ - if (flags & NDR_IN) { - NDR_CHECK(ndr_pull_xattr_DOSATTRIB(ndr, NDR_SCALARS, &r->in.x)); - } - if (flags & NDR_OUT) { - } - return NDR_ERR_SUCCESS; -} - -_PUBLIC_ void ndr_print_xattr_parse_DOSATTRIB(struct ndr_print *ndr, const char *name, int flags, const struct xattr_parse_DOSATTRIB *r) -{ - ndr_print_struct(ndr, name, "xattr_parse_DOSATTRIB"); - ndr->depth++; - if (flags & NDR_SET_VALUES) { - ndr->flags |= LIBNDR_PRINT_SET_VALUES; - } - if (flags & NDR_IN) { - ndr_print_struct(ndr, "in", "xattr_parse_DOSATTRIB"); - ndr->depth++; - ndr_print_xattr_DOSATTRIB(ndr, "x", &r->in.x); - ndr->depth--; - } - if (flags & NDR_OUT) { - ndr_print_struct(ndr, "out", "xattr_parse_DOSATTRIB"); - ndr->depth++; - ndr->depth--; - } - ndr->depth--; -} - -static const struct ndr_interface_call xattr_calls[] = { - { - "xattr_parse_DOSATTRIB", - sizeof(struct xattr_parse_DOSATTRIB), - (ndr_push_flags_fn_t) ndr_push_xattr_parse_DOSATTRIB, - (ndr_pull_flags_fn_t) ndr_pull_xattr_parse_DOSATTRIB, - (ndr_print_function_t) ndr_print_xattr_parse_DOSATTRIB, - false, - }, - { NULL, 0, NULL, NULL, NULL, false } -}; - -static const char * const xattr_endpoint_strings[] = { - "ncacn_np:[\\pipe\\xattr]", -}; - -static const struct ndr_interface_string_array xattr_endpoints = { - .count = 1, - .names = xattr_endpoint_strings -}; - -static const char * const xattr_authservice_strings[] = { - "host", -}; - -static const struct ndr_interface_string_array xattr_authservices = { - .count = 1, - .names = xattr_authservice_strings -}; - - -const struct ndr_interface_table ndr_table_xattr = { - .name = "xattr", - .syntax_id = { - {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x02}}, - NDR_XATTR_VERSION - }, - .helpstring = NDR_XATTR_HELPSTRING, - .num_calls = 1, - .calls = xattr_calls, - .endpoints = &xattr_endpoints, - .authservices = &xattr_authservices -}; - diff --git a/librpc/gen_ndr/ndr_xattr.h b/librpc/gen_ndr/ndr_xattr.h deleted file mode 100644 index 0641eff54d2..00000000000 --- a/librpc/gen_ndr/ndr_xattr.h +++ /dev/null @@ -1,54 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "../librpc/gen_ndr/xattr.h" - -#ifndef _HEADER_NDR_xattr -#define _HEADER_NDR_xattr - -#include "../librpc/ndr/ndr_xattr.h" -#define NDR_XATTR_UUID "12345778-1234-abcd-0001-00000002" -#define NDR_XATTR_VERSION 0.0 -#define NDR_XATTR_NAME "xattr" -#define NDR_XATTR_HELPSTRING NULL -extern const struct ndr_interface_table ndr_table_xattr; -#define NDR_XATTR_PARSE_DOSATTRIB (0x00) - -#define NDR_XATTR_CALL_COUNT (1) -void ndr_print_xattr_DosInfoFFFFCompat(struct ndr_print *ndr, const char *name, const struct xattr_DosInfoFFFFCompat *r); -void ndr_print_xattr_DosInfo1(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo1 *r); -void ndr_print_xattr_DosInfo2Old(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo2Old *r); -void ndr_print_xattr_DosInfoValidFlags(struct ndr_print *ndr, const char *name, uint32_t r); -void ndr_print_xattr_DosInfo3(struct ndr_print *ndr, const char *name, const struct xattr_DosInfo3 *r); -enum ndr_err_code ndr_push_xattr_DosInfo(struct ndr_push *ndr, int ndr_flags, const union xattr_DosInfo *r); -enum ndr_err_code ndr_pull_xattr_DosInfo(struct ndr_pull *ndr, int ndr_flags, union xattr_DosInfo *r); -void ndr_print_xattr_DosInfo(struct ndr_print *ndr, const char *name, const union xattr_DosInfo *r); -enum ndr_err_code ndr_push_xattr_DosAttrib(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosAttrib *r); -enum ndr_err_code ndr_pull_xattr_DosAttrib(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosAttrib *r); -void ndr_print_xattr_DosAttrib(struct ndr_print *ndr, const char *name, const struct xattr_DosAttrib *r); -enum ndr_err_code ndr_push_xattr_DOSATTRIB(struct ndr_push *ndr, int ndr_flags, const struct xattr_DOSATTRIB *r); -enum ndr_err_code ndr_pull_xattr_DOSATTRIB(struct ndr_pull *ndr, int ndr_flags, struct xattr_DOSATTRIB *r); -void ndr_print_xattr_DOSATTRIB(struct ndr_print *ndr, const char *name, const struct xattr_DOSATTRIB *r); -void ndr_print_xattr_EA(struct ndr_print *ndr, const char *name, const struct xattr_EA *r); -enum ndr_err_code ndr_push_xattr_DosEAs(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosEAs *r); -enum ndr_err_code ndr_pull_xattr_DosEAs(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosEAs *r); -void ndr_print_xattr_DosEAs(struct ndr_print *ndr, const char *name, const struct xattr_DosEAs *r); -enum ndr_err_code ndr_push_tdb_xattrs(struct ndr_push *ndr, int ndr_flags, const struct tdb_xattrs *r); -enum ndr_err_code ndr_pull_tdb_xattrs(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattrs *r); -void ndr_print_tdb_xattrs(struct ndr_print *ndr, const char *name, const struct tdb_xattrs *r); -void ndr_print_xattr_DosStream(struct ndr_print *ndr, const char *name, const struct xattr_DosStream *r); -enum ndr_err_code ndr_push_xattr_DosStreams(struct ndr_push *ndr, int ndr_flags, const struct xattr_DosStreams *r); -enum ndr_err_code ndr_pull_xattr_DosStreams(struct ndr_pull *ndr, int ndr_flags, struct xattr_DosStreams *r); -void ndr_print_xattr_DosStreams(struct ndr_print *ndr, const char *name, const struct xattr_DosStreams *r); -enum ndr_err_code ndr_push_security_descriptor_hash_v2(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor_hash_v2 *r); -enum ndr_err_code ndr_pull_security_descriptor_hash_v2(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor_hash_v2 *r); -void ndr_print_security_descriptor_hash_v2(struct ndr_print *ndr, const char *name, const struct security_descriptor_hash_v2 *r); -enum ndr_err_code ndr_push_security_descriptor_hash_v3(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor_hash_v3 *r); -enum ndr_err_code ndr_pull_security_descriptor_hash_v3(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor_hash_v3 *r); -void ndr_print_security_descriptor_hash_v3(struct ndr_print *ndr, const char *name, const struct security_descriptor_hash_v3 *r); -void ndr_print_xattr_NTACL_Info(struct ndr_print *ndr, const char *name, const union xattr_NTACL_Info *r); -enum ndr_err_code ndr_push_xattr_NTACL(struct ndr_push *ndr, int ndr_flags, const struct xattr_NTACL *r); -enum ndr_err_code ndr_pull_xattr_NTACL(struct ndr_pull *ndr, int ndr_flags, struct xattr_NTACL *r); -void ndr_print_xattr_NTACL(struct ndr_print *ndr, const char *name, const struct xattr_NTACL *r); -void ndr_print_xattr_parse_DOSATTRIB(struct ndr_print *ndr, const char *name, int flags, const struct xattr_parse_DOSATTRIB *r); -#endif /* _HEADER_NDR_xattr */ diff --git a/librpc/gen_ndr/netlogon.h b/librpc/gen_ndr/netlogon.h deleted file mode 100644 index b55597c05df..00000000000 --- a/librpc/gen_ndr/netlogon.h +++ /dev/null @@ -1,1889 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/lsa.h" -#include "librpc/gen_ndr/samr.h" -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/nbt.h" -#define netr_DeltaEnum8Bit netr_DeltaEnum -#define netr_SamDatabaseID8Bit netr_SamDatabaseID -#ifndef _HEADER_netlogon -#define _HEADER_netlogon - -#define NETLOGON_NEG_128BIT ( NETLOGON_NEG_STRONG_KEYS ) -#define NETLOGON_NEG_SCHANNEL ( NETLOGON_NEG_AUTHENTICATED_RPC ) -#define DSGETDC_VALID_FLAGS ( (DS_FORCE_REDISCOVERY|DS_DIRECTORY_SERVICE_REQUIRED|DS_DIRECTORY_SERVICE_PREFERRED|DS_GC_SERVER_REQUIRED|DS_PDC_REQUIRED|DS_BACKGROUND_ONLY|DS_IP_REQUIRED|DS_KDC_REQUIRED|DS_TIMESERV_REQUIRED|DS_WRITABLE_REQUIRED|DS_GOOD_TIMESERV_PREFERRED|DS_AVOID_SELF|DS_ONLY_LDAP_NEEDED|DS_IS_FLAT_NAME|DS_IS_DNS_NAME|DS_RETURN_FLAT_NAME|DS_RETURN_DNS_NAME) ) -#define NETLOGON_PASSWORD_VERSION_NUMBER_PRESENT ( 0x02231968 ) -#define DS_GFTI_UPDATE_TDO ( 0x1 ) -struct netr_UasInfo { - const char *account_name;/* [unique,charset(UTF16)] */ - uint32_t priv; - uint32_t auth_flags; - uint32_t logon_count; - uint32_t bad_pw_count; - time_t last_logon; - time_t last_logoff; - time_t logoff_time; - time_t kickoff_time; - uint32_t password_age; - time_t pw_can_change; - time_t pw_must_change; - const char *computer;/* [unique,charset(UTF16)] */ - const char *domain;/* [unique,charset(UTF16)] */ - const char *script_path;/* [unique,charset(UTF16)] */ - uint32_t unknown; -}; - -struct netr_UasLogoffInfo { - uint32_t duration; - uint16_t logon_count; -}; - -struct netr_AcctLockStr { - int64_t lockout_duration; - uint64_t reset_count; - uint32_t bad_attempt_lockout; - uint32_t dummy; -}/* [public] */; - -/* bitmap netr_LogonParameterControl */ -#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 ) -#define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 ) -#define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 ) -#define MSV1_0_DONT_TRY_GUEST_ACCOUNT ( 0x00000010 ) -#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 ) -#define MSV1_0_RETURN_PASSWORD_EXPIRY ( 0x00000040 ) -#define MSV1_0_USE_CLIENT_CHALLENGE ( 0x00000080 ) -#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY ( 0x00000100 ) -#define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 ) -#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY ( 0x00000400 ) -#define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 ) -#define MSV1_0_DISABLE_PERSONAL_FALLBACK ( 0x00001000 ) -#define MSV1_0_ALLOW_FORCE_GUEST ( 0x00002000 ) -#define MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED ( 0x00004000 ) -#define MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY ( 0x00008000 ) -#define MSV1_0_ALLOW_MSVCHAPV2 ( 0x00010000 ) -#define MSV1_0_S4U2SELF ( 0x00020000 ) -#define MSV1_0_CHECK_LOGONHOURS_FOR_S4U ( 0x00040000 ) -#define MSV1_0_SUBAUTHENTICATION_DLL_EX ( 0x00100000 ) - -struct netr_IdentityInfo { - struct lsa_String domain_name; - uint32_t parameter_control; - uint32_t logon_id_low; - uint32_t logon_id_high; - struct lsa_String account_name; - struct lsa_String workstation; -}; - -struct netr_PasswordInfo { - struct netr_IdentityInfo identity_info; - struct samr_Password lmpassword; - struct samr_Password ntpassword; -}; - -struct netr_ChallengeResponse { - uint16_t length; - uint16_t size;/* [value(length)] */ - uint8_t *data;/* [unique,length_is(length),size_is(length)] */ -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct netr_NetworkInfo { - struct netr_IdentityInfo identity_info; - uint8_t challenge[8]; - struct netr_ChallengeResponse nt; - struct netr_ChallengeResponse lm; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct netr_GenericInfo { - struct netr_IdentityInfo identity_info; - struct lsa_String package_name; - uint32_t length; - uint8_t *data;/* [unique,size_is(length)] */ -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -enum netr_LogonInfoClass -#ifndef USE_UINT_ENUMS - { - NetlogonInteractiveInformation=(int)(1), - NetlogonNetworkInformation=(int)(2), - NetlogonServiceInformation=(int)(3), - NetlogonGenericInformation=(int)(4), - NetlogonInteractiveTransitiveInformation=(int)(5), - NetlogonNetworkTransitiveInformation=(int)(6), - NetlogonServiceTransitiveInformation=(int)(7) -} -#else - { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF} -#define NetlogonInteractiveInformation ( 1 ) -#define NetlogonNetworkInformation ( 2 ) -#define NetlogonServiceInformation ( 3 ) -#define NetlogonGenericInformation ( 4 ) -#define NetlogonInteractiveTransitiveInformation ( 5 ) -#define NetlogonNetworkTransitiveInformation ( 6 ) -#define NetlogonServiceTransitiveInformation ( 7 ) -#endif -; - -union netr_LogonLevel { - struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */ - struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */ - struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */ -}/* [public,switch_type(netr_LogonInfoClass)] */; - -struct netr_UserSessionKey { - uint8_t key[16]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct netr_LMSessionKey { - uint8_t key[8]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -/* bitmap netr_UserFlags */ -#define NETLOGON_GUEST ( 0x00000001 ) -#define NETLOGON_NOENCRYPTION ( 0x00000002 ) -#define NETLOGON_CACHED_ACCOUNT ( 0x00000004 ) -#define NETLOGON_USED_LM_PASSWORD ( 0x00000008 ) -#define NETLOGON_EXTRA_SIDS ( 0x00000020 ) -#define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 ) -#define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 ) -#define NETLOGON_NTLMV2_ENABLED ( 0x00000100 ) -#define NETLOGON_RESOURCE_GROUPS ( 0x00000200 ) -#define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 ) -#define NETLOGON_GRACE_LOGON ( 0x01000000 ) - -struct netr_SamBaseInfo { - NTTIME last_logon; - NTTIME last_logoff; - NTTIME acct_expiry; - NTTIME last_password_change; - NTTIME allow_password_change; - NTTIME force_password_change; - struct lsa_String account_name; - struct lsa_String full_name; - struct lsa_String logon_script; - struct lsa_String profile_path; - struct lsa_String home_directory; - struct lsa_String home_drive; - uint16_t logon_count; - uint16_t bad_password_count; - uint32_t rid; - uint32_t primary_gid; - struct samr_RidWithAttributeArray groups; - uint32_t user_flags; - struct netr_UserSessionKey key; - struct lsa_StringLarge logon_server; - struct lsa_StringLarge domain; - struct dom_sid2 *domain_sid;/* [unique] */ - struct netr_LMSessionKey LMSessKey; - uint32_t acct_flags; - uint32_t unknown[7]; -}; - -struct netr_SamInfo2 { - struct netr_SamBaseInfo base; -}; - -struct netr_SidAttr { - struct dom_sid2 *sid;/* [unique] */ - uint32_t attributes; -}; - -struct netr_SamInfo3 { - struct netr_SamBaseInfo base; - uint32_t sidcount; - struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */ -}/* [public] */; - -struct netr_SamInfo6 { - struct netr_SamBaseInfo base; - uint32_t sidcount; - struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */ - struct lsa_String dns_domainname; - struct lsa_String principle; - uint32_t unknown4[20]; -}; - -struct netr_PacInfo { - uint32_t pac_size; - uint8_t *pac;/* [unique,size_is(pac_size)] */ - struct lsa_String logon_domain; - struct lsa_String logon_server; - struct lsa_String principal_name; - uint32_t auth_size; - uint8_t *auth;/* [unique,size_is(auth_size)] */ - struct netr_UserSessionKey user_session_key; - uint32_t expansionroom[10]; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; -}; - -struct netr_GenericInfo2 { - uint32_t length; - uint8_t *data;/* [unique,size_is(length)] */ -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -enum netr_ValidationInfoClass -#ifndef USE_UINT_ENUMS - { - NetlogonValidationUasInfo=(int)(1), - NetlogonValidationSamInfo=(int)(2), - NetlogonValidationSamInfo2=(int)(3), - NetlogonValidationGenericInfo2=(int)(5), - NetlogonValidationSamInfo4=(int)(6) -} -#else - { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF} -#define NetlogonValidationUasInfo ( 1 ) -#define NetlogonValidationSamInfo ( 2 ) -#define NetlogonValidationSamInfo2 ( 3 ) -#define NetlogonValidationGenericInfo2 ( 5 ) -#define NetlogonValidationSamInfo4 ( 6 ) -#endif -; - -union netr_Validation { - struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */ - struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */ - struct netr_PacInfo *pac;/* [unique,case(4)] */ - struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */ - struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */ -}/* [public,switch_type(uint16)] */; - -struct netr_Credential { - uint8_t data[8]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct netr_Authenticator { - struct netr_Credential cred; - time_t timestamp; -}/* [public] */; - -struct netr_DELTA_DELETE_USER { - const char *account_name;/* [unique,charset(UTF16)] */ - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_USER_KEY16 { - uint16_t length; - uint16_t size;/* [value(length)] */ - uint32_t flags; - struct samr_Password pwd; -}; - -struct netr_PasswordHistory { - uint16_t nt_length; - uint16_t nt_size;/* [value(nt_length)] */ - uint32_t nt_flags; - uint16_t lm_length; - uint16_t lm_size;/* [value(lm_length)] */ - uint32_t lm_flags; - uint8_t *nt_history; - uint8_t *lm_history; -}; - -struct netr_USER_KEYS2 { - struct netr_USER_KEY16 lmpassword; - struct netr_USER_KEY16 ntpassword; - struct netr_PasswordHistory history; -}; - -struct netr_USER_KEY_UNION { - struct netr_USER_KEYS2 keys2; -}; - -struct netr_USER_KEYS { - uint32_t version; - struct netr_USER_KEY_UNION keys; -}/* [public] */; - -struct netr_USER_PRIVATE_INFO { - uint8_t SensitiveDataFlag; - uint32_t DataLength; - uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */ -}; - -struct netr_DELTA_USER { - struct lsa_String account_name; - struct lsa_String full_name; - uint32_t rid; - uint32_t primary_gid; - struct lsa_String home_directory; - struct lsa_String home_drive; - struct lsa_String logon_script; - struct lsa_String description; - struct lsa_String workstations; - NTTIME last_logon; - NTTIME last_logoff; - struct samr_LogonHours logon_hours; - uint16_t bad_password_count; - uint16_t logon_count; - NTTIME last_password_change; - NTTIME acct_expiry; - uint32_t acct_flags; - struct samr_Password lmpassword; - struct samr_Password ntpassword; - uint8_t nt_password_present; - uint8_t lm_password_present; - uint8_t password_expired; - struct lsa_String comment; - struct lsa_BinaryString parameters; - uint16_t country_code; - uint16_t code_page; - struct netr_USER_PRIVATE_INFO user_private_info; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String profile_path; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_DOMAIN { - struct lsa_String domain_name; - struct lsa_String oem_information; - int64_t force_logoff_time; - uint16_t min_password_length; - uint16_t password_history_length; - int64_t max_password_age; - int64_t min_password_age; - uint64_t sequence_num; - NTTIME domain_create_time; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_BinaryString account_lockout; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t logon_to_chgpass; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_GROUP { - struct lsa_String group_name; - uint32_t rid; - uint32_t attributes; - struct lsa_String description; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_RENAME { - struct lsa_String OldName; - struct lsa_String NewName; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_GROUP_MEMBER { - uint32_t *rids;/* [unique,size_is(num_rids)] */ - uint32_t *attribs;/* [unique,size_is(num_rids)] */ - uint32_t num_rids; - uint32_t unknown1; - uint32_t unknown2; - uint32_t unknown3; - uint32_t unknown4; -}; - -struct netr_DELTA_ALIAS { - struct lsa_String alias_name; - uint32_t rid; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String description; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_ALIAS_MEMBER { - struct lsa_SidArray sids; - uint32_t unknown1; - uint32_t unknown2; - uint32_t unknown3; - uint32_t unknown4; -}; - -struct netr_QUOTA_LIMITS { - uint32_t pagedpoollimit; - uint32_t nonpagedpoollimit; - uint32_t minimumworkingsetsize; - uint32_t maximumworkingsetsize; - uint32_t pagefilelimit; - NTTIME timelimit; -}; - -struct netr_DELTA_POLICY { - uint32_t maxlogsize; - NTTIME auditretentionperiod; - uint8_t auditingmode; - uint32_t maxauditeventcount; - uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */ - struct lsa_String primary_domain_name; - struct dom_sid2 *sid;/* [unique] */ - struct netr_QUOTA_LIMITS quota_limits; - uint64_t sequence_num; - NTTIME db_create_time; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_TRUSTED_DOMAIN { - struct lsa_String domain_name; - uint32_t num_controllers; - struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */ - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t posix_offset; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_DELETE_TRUST { - uint16_t unknown; -}; - -struct netr_DELTA_ACCOUNT { - uint32_t privilege_entries; - uint32_t privilege_control; - uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */ - struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */ - struct netr_QUOTA_LIMITS quotalimits; - uint32_t system_flags; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -struct netr_DELTA_DELETE_ACCOUNT { - uint16_t unknown; -}; - -struct netr_DELTA_DELETE_SECRET { - uint16_t unknown; -}; - -struct netr_CIPHER_VALUE { - uint32_t len; - uint32_t maxlen; - uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */ -}; - -struct netr_DELTA_SECRET { - struct netr_CIPHER_VALUE current_cipher; - NTTIME current_cipher_set_time; - struct netr_CIPHER_VALUE old_cipher; - NTTIME old_cipher_set_time; - uint32_t SecurityInformation; - struct sec_desc_buf sdbuf; - struct lsa_String unknown1; - struct lsa_String unknown2; - struct lsa_String unknown3; - struct lsa_String unknown4; - uint32_t unknown5; - uint32_t unknown6; - uint32_t unknown7; - uint32_t unknown8; -}; - -enum netr_DeltaEnum -#ifndef USE_UINT_ENUMS - { - NETR_DELTA_DOMAIN=(int)(1), - NETR_DELTA_GROUP=(int)(2), - NETR_DELTA_DELETE_GROUP=(int)(3), - NETR_DELTA_RENAME_GROUP=(int)(4), - NETR_DELTA_USER=(int)(5), - NETR_DELTA_DELETE_USER=(int)(6), - NETR_DELTA_RENAME_USER=(int)(7), - NETR_DELTA_GROUP_MEMBER=(int)(8), - NETR_DELTA_ALIAS=(int)(9), - NETR_DELTA_DELETE_ALIAS=(int)(10), - NETR_DELTA_RENAME_ALIAS=(int)(11), - NETR_DELTA_ALIAS_MEMBER=(int)(12), - NETR_DELTA_POLICY=(int)(13), - NETR_DELTA_TRUSTED_DOMAIN=(int)(14), - NETR_DELTA_DELETE_TRUST=(int)(15), - NETR_DELTA_ACCOUNT=(int)(16), - NETR_DELTA_DELETE_ACCOUNT=(int)(17), - NETR_DELTA_SECRET=(int)(18), - NETR_DELTA_DELETE_SECRET=(int)(19), - NETR_DELTA_DELETE_GROUP2=(int)(20), - NETR_DELTA_DELETE_USER2=(int)(21), - NETR_DELTA_MODIFY_COUNT=(int)(22) -} -#else - { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF} -#define NETR_DELTA_DOMAIN ( 1 ) -#define NETR_DELTA_GROUP ( 2 ) -#define NETR_DELTA_DELETE_GROUP ( 3 ) -#define NETR_DELTA_RENAME_GROUP ( 4 ) -#define NETR_DELTA_USER ( 5 ) -#define NETR_DELTA_DELETE_USER ( 6 ) -#define NETR_DELTA_RENAME_USER ( 7 ) -#define NETR_DELTA_GROUP_MEMBER ( 8 ) -#define NETR_DELTA_ALIAS ( 9 ) -#define NETR_DELTA_DELETE_ALIAS ( 10 ) -#define NETR_DELTA_RENAME_ALIAS ( 11 ) -#define NETR_DELTA_ALIAS_MEMBER ( 12 ) -#define NETR_DELTA_POLICY ( 13 ) -#define NETR_DELTA_TRUSTED_DOMAIN ( 14 ) -#define NETR_DELTA_DELETE_TRUST ( 15 ) -#define NETR_DELTA_ACCOUNT ( 16 ) -#define NETR_DELTA_DELETE_ACCOUNT ( 17 ) -#define NETR_DELTA_SECRET ( 18 ) -#define NETR_DELTA_DELETE_SECRET ( 19 ) -#define NETR_DELTA_DELETE_GROUP2 ( 20 ) -#define NETR_DELTA_DELETE_USER2 ( 21 ) -#define NETR_DELTA_MODIFY_COUNT ( 22 ) -#endif -; - -union netr_DELTA_UNION { - struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */ - struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */ - struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */ - struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */ - struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */ - struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */ - struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */ - struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */ - struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */ - struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */ - struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */ - struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */ - struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */ - struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */ - struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */ - struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */ - struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */ - struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */ - uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */ -}/* [switch_type(netr_DeltaEnum)] */; - -union netr_DELTA_ID_UNION { - uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */ - struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */ - const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */ -}/* [switch_type(netr_DeltaEnum)] */; - -struct netr_DELTA_ENUM { - enum netr_DeltaEnum delta_type; - union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */ - union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */ -}; - -struct netr_DELTA_ENUM_ARRAY { - uint32_t num_deltas; - struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */ -}; - -struct netr_UAS_INFO_0 { - uint8_t computer_name[16]; - uint32_t timecreated; - uint32_t serial_number; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct netr_AccountBuffer { - DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -/* bitmap netr_InfoFlags */ -#define NETLOGON_REPLICATION_NEEDED ( 0x00000001 ) -#define NETLOGON_REPLICATION_IN_PROGRESS ( 0x00000002 ) -#define NETLOGON_FULL_SYNC_REPLICATION ( 0x00000004 ) -#define NETLOGON_REDO_NEEDED ( 0x00000008 ) -#define NETLOGON_HAS_IP ( 0x00000010 ) -#define NETLOGON_HAS_TIMESERV ( 0x00000020 ) -#define NETLOGON_DNS_UPDATE_FAILURE ( 0x00000040 ) -#define NETLOGON_VERIFY_STATUS_RETURNED ( 0x00000080 ) - -struct netr_NETLOGON_INFO_1 { - uint32_t flags; - WERROR pdc_connection_status; -}; - -struct netr_NETLOGON_INFO_2 { - uint32_t flags; - WERROR pdc_connection_status; - const char *trusted_dc_name;/* [unique,charset(UTF16)] */ - WERROR tc_connection_status; -}; - -struct netr_NETLOGON_INFO_3 { - uint32_t flags; - uint32_t logon_attempts; - uint32_t unknown1; - uint32_t unknown2; - uint32_t unknown3; - uint32_t unknown4; - uint32_t unknown5; -}; - -struct netr_NETLOGON_INFO_4 { - const char *trusted_dc_name;/* [unique,charset(UTF16)] */ - const char *trusted_domain_name;/* [unique,charset(UTF16)] */ -}; - -union netr_CONTROL_QUERY_INFORMATION { - struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */ - struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */ - struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */ - struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */ -}; - -enum netr_LogonControlCode -#ifndef USE_UINT_ENUMS - { - NETLOGON_CONTROL_QUERY=(int)(0x00000001), - NETLOGON_CONTROL_REPLICATE=(int)(0x00000002), - NETLOGON_CONTROL_SYNCHRONIZE=(int)(0x00000003), - NETLOGON_CONTROL_PDC_REPLICATE=(int)(0x00000004), - NETLOGON_CONTROL_REDISCOVER=(int)(0x00000005), - NETLOGON_CONTROL_TC_QUERY=(int)(0x00000006), - NETLOGON_CONTROL_TRANSPORT_NOTIFY=(int)(0x00000007), - NETLOGON_CONTROL_FIND_USER=(int)(0x00000008), - NETLOGON_CONTROL_CHANGE_PASSWORD=(int)(0x00000009), - NETLOGON_CONTROL_TC_VERIFY=(int)(0x0000000A), - NETLOGON_CONTROL_FORCE_DNS_REG=(int)(0x0000000B), - NETLOGON_CONTROL_QUERY_DNS_REG=(int)(0x0000000C), - NETLOGON_CONTROL_BACKUP_CHANGE_LOG=(int)(0x0000FFFC), - NETLOGON_CONTROL_TRUNCATE_LOG=(int)(0x0000FFFD), - NETLOGON_CONTROL_SET_DBFLAG=(int)(0x0000FFFE), - NETLOGON_CONTROL_BREAKPOINT=(int)(0x0000FFFF) -} -#else - { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF} -#define NETLOGON_CONTROL_QUERY ( 0x00000001 ) -#define NETLOGON_CONTROL_REPLICATE ( 0x00000002 ) -#define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 ) -#define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 ) -#define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 ) -#define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 ) -#define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 ) -#define NETLOGON_CONTROL_FIND_USER ( 0x00000008 ) -#define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 ) -#define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A ) -#define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B ) -#define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C ) -#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC ) -#define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD ) -#define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE ) -#define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF ) -#endif -; - -union netr_CONTROL_DATA_INFORMATION { - const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */ - const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */ - uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */ -}; - -/* bitmap netr_NegotiateFlags */ -#define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 ) -#define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 ) -#define NETLOGON_NEG_ARCFOUR ( 0x00000004 ) -#define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 ) -#define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 ) -#define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 ) -#define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 ) -#define NETLOGON_NEG_REDO ( 0x00000080 ) -#define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 ) -#define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 ) -#define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 ) -#define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 ) -#define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 ) -#define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 ) -#define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 ) -#define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 ) -#define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 ) -#define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 ) -#define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 ) -#define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 ) -#define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 ) -#define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 ) -#define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 ) -#define NETLOGON_NEG_SUPPORTS_AES ( 0x01000000 ) -#define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 ) -#define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 ) - -enum SyncStateEnum -#ifndef USE_UINT_ENUMS - { - SYNCSTATE_NORMAL_STATE=(int)(0), - SYNCSTATE_DOMAIN_STATE=(int)(1), - SYNCSTATE_GROUP_STATE=(int)(2), - SYNCSTATE_UAS_BUILT_IN_GROUP_STATE=(int)(3), - SYNCSTATE_USER_STATE=(int)(4), - SYNCSTATE_GROUP_MEMBER_STATE=(int)(5), - SYNCSTATE_ALIAS_STATE=(int)(6), - SYNCSTATE_ALIAS_MEMBER_STATE=(int)(7), - SYNCSTATE_SAM_DONE_STATE=(int)(8) -} -#else - { __donnot_use_enum_SyncStateEnum=0x7FFFFFFF} -#define SYNCSTATE_NORMAL_STATE ( 0 ) -#define SYNCSTATE_DOMAIN_STATE ( 1 ) -#define SYNCSTATE_GROUP_STATE ( 2 ) -#define SYNCSTATE_UAS_BUILT_IN_GROUP_STATE ( 3 ) -#define SYNCSTATE_USER_STATE ( 4 ) -#define SYNCSTATE_GROUP_MEMBER_STATE ( 5 ) -#define SYNCSTATE_ALIAS_STATE ( 6 ) -#define SYNCSTATE_ALIAS_MEMBER_STATE ( 7 ) -#define SYNCSTATE_SAM_DONE_STATE ( 8 ) -#endif -; - -/* bitmap netr_ChangeLogFlags */ -#define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 ) -#define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 ) -#define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 ) -#define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 ) -#define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 ) - -union netr_ChangeLogObject { - struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */ - const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */ -}/* [nodiscriminant] */; - -struct netr_ChangeLogEntry { - uint32_t serial_number1; - uint32_t serial_number2; - uint32_t object_rid; - uint16_t flags; - enum netr_SamDatabaseID8Bit db_index; - enum netr_DeltaEnum8Bit delta_type; - union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */ -}/* [gensize,public] */; - -struct netr_Blob { - uint32_t length; - uint8_t *data;/* [unique,size_is(length)] */ -}; - -/* bitmap netr_DsRGetDCName_flags */ -#define DS_FORCE_REDISCOVERY ( 0x00000001 ) -#define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 ) -#define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 ) -#define DS_GC_SERVER_REQUIRED ( 0x00000040 ) -#define DS_PDC_REQUIRED ( 0x00000080 ) -#define DS_BACKGROUND_ONLY ( 0x00000100 ) -#define DS_IP_REQUIRED ( 0x00000200 ) -#define DS_KDC_REQUIRED ( 0x00000400 ) -#define DS_TIMESERV_REQUIRED ( 0x00000800 ) -#define DS_WRITABLE_REQUIRED ( 0x00001000 ) -#define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 ) -#define DS_AVOID_SELF ( 0x00004000 ) -#define DS_ONLY_LDAP_NEEDED ( 0x00008000 ) -#define DS_IS_FLAT_NAME ( 0x00010000 ) -#define DS_IS_DNS_NAME ( 0x00020000 ) -#define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 ) -#define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 ) -#define DS_WEB_SERVICE_REQUIRED ( 0x00100000 ) -#define DS_RETURN_DNS_NAME ( 0x40000000 ) -#define DS_RETURN_FLAT_NAME ( 0x80000000 ) - -enum netr_DsRGetDCNameInfo_AddressType -#ifndef USE_UINT_ENUMS - { - DS_ADDRESS_TYPE_INET=(int)(1), - DS_ADDRESS_TYPE_NETBIOS=(int)(2) -} -#else - { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF} -#define DS_ADDRESS_TYPE_INET ( 1 ) -#define DS_ADDRESS_TYPE_NETBIOS ( 2 ) -#endif -; - -/* bitmap netr_DsR_DcFlags */ -#define DS_SERVER_PDC ( NBT_SERVER_PDC ) -#define DS_SERVER_GC ( NBT_SERVER_GC ) -#define DS_SERVER_LDAP ( NBT_SERVER_LDAP ) -#define DS_SERVER_DS ( NBT_SERVER_DS ) -#define DS_SERVER_KDC ( NBT_SERVER_KDC ) -#define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV ) -#define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST ) -#define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE ) -#define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV ) -#define DS_SERVER_NDNC ( NBT_SERVER_NDNC ) -#define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 ) -#define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 ) -#define DS_DNS_CONTROLLER ( NBT_SERVER_HAS_DNS_NAME ) -#define DS_DNS_DOMAIN ( NBT_SERVER_IS_DEFAULT_NC ) -#define DS_DNS_FOREST_ROOT ( NBT_SERVER_FOREST_ROOT ) - -struct netr_DsRGetDCNameInfo { - const char *dc_unc;/* [unique,charset(UTF16)] */ - const char *dc_address;/* [unique,charset(UTF16)] */ - enum netr_DsRGetDCNameInfo_AddressType dc_address_type; - struct GUID domain_guid; - const char *domain_name;/* [unique,charset(UTF16)] */ - const char *forest_name;/* [unique,charset(UTF16)] */ - uint32_t dc_flags; - const char *dc_site_name;/* [unique,charset(UTF16)] */ - const char *client_site_name;/* [unique,charset(UTF16)] */ -}/* [public] */; - -union netr_Capabilities { - uint32_t server_capabilities;/* [case] */ -}/* [switch_type(uint32)] */; - -/* bitmap netr_TrustFlags */ -#define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 ) -#define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 ) -#define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 ) -#define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 ) -#define NETR_TRUST_FLAG_NATIVE ( 0x00000010 ) -#define NETR_TRUST_FLAG_INBOUND ( 0x00000020 ) -#define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 ) -#define NETR_TRUST_FLAG_AES ( 0x00000100 ) - -/* bitmap netr_WorkstationFlags */ -#define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 ) -#define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 ) - -/* bitmap netr_SuiteMask */ -#define NETR_VER_SUITE_BACKOFFICE ( 0x0004 ) -#define NETR_VER_SUITE_BLADE ( 0x0400 ) -#define NETR_VER_SUITE_COMPUTE_SERVER ( 0x4000 ) -#define NETR_VER_SUITE_DATACENTER ( 0x0080 ) -#define NETR_VER_SUITE_ENTERPRISE ( 0x0002 ) -#define NETR_VER_SUITE_EMBEDDEDNT ( 0x0040 ) -#define NETR_VER_SUITE_PERSONAL ( 0x0200 ) -#define NETR_VER_SUITE_SINGLEUSERTS ( 0x0100 ) -#define NETR_VER_SUITE_SMALLBUSINESS ( 0x0001 ) -#define NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED ( 0x0020 ) -#define NETR_VER_SUITE_STORAGE_SERVER ( 0x2000 ) -#define NETR_VER_SUITE_TERMINAL ( 0x0010 ) -#define NETR_VER_SUITE_WH_SERVER ( 0x8000 ) - -/* bitmap netr_ProductType */ -#define NETR_VER_NT_DOMAIN_CONTROLLER ( 0x02 ) -#define NETR_VER_NT_SERVER ( 0x03 ) -#define NETR_VER_NT_WORKSTATION ( 0x01 ) - -struct netr_LsaPolicyInformation { - uint32_t policy_size; - uint8_t *policy;/* [unique,size_is(policy_size)] */ -}; - -struct netr_OsVersionInfoEx { - uint32_t OSVersionInfoSize;/* [value(284)] */ - uint32_t MajorVersion; - uint32_t MinorVersion; - uint32_t BuildNumber; - uint32_t PlatformId; - const char * CSDVersion;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t ServicePackMajor; - uint16_t ServicePackMinor; - uint16_t SuiteMask; - uint8_t ProductType; - uint8_t Reserved; -}; - -struct netr_OsVersion { - uint32_t length;/* [value(142)] */ - uint32_t dummy;/* [value(0)] */ - uint32_t size;/* [value(142)] */ - struct netr_OsVersionInfoEx os; -}; - -struct netr_OsVersionContainer { - uint16_t length;/* [value(os==NULL?0:284)] */ - uint16_t size;/* [value(os==NULL?0:284)] */ - struct netr_OsVersion *os;/* [unique] */ -}; - -struct netr_WorkstationInformation { - struct netr_LsaPolicyInformation lsa_policy; - const char *dns_hostname;/* [unique,charset(UTF16)] */ - const char *sitename;/* [unique,charset(UTF16)] */ - const char *dummy1;/* [unique,charset(UTF16)] */ - const char *dummy2;/* [unique,charset(UTF16)] */ - const char *dummy3;/* [unique,charset(UTF16)] */ - const char *dummy4;/* [unique,charset(UTF16)] */ - struct netr_OsVersionContainer os_version; - struct lsa_String os_name; - struct lsa_String dummy_string3; - struct lsa_String dummy_string4; - uint32_t workstation_flags; - uint32_t dummy_long2; - uint32_t dummy_long3; - uint32_t dummy_long4; -}; - -union netr_WorkstationInfo { - struct netr_WorkstationInformation *workstation_info;/* [unique,case] */ - struct netr_WorkstationInformation *lsa_policy_info;/* [unique,case(2)] */ -}; - -struct netr_trust_extension { - uint32_t length;/* [value(8)] */ - uint32_t dummy;/* [value(0)] */ - uint32_t size;/* [value(8)] */ - uint32_t flags; - uint32_t parent_index; - uint32_t trust_type; - uint32_t trust_attributes; -}; - -struct netr_trust_extension_container { - uint16_t length; - uint16_t size;/* [value(length)] */ - struct netr_trust_extension *info;/* [unique] */ -}; - -struct netr_OneDomainInfo { - struct lsa_StringLarge domainname; - struct lsa_StringLarge dns_domainname; - struct lsa_StringLarge dns_forestname; - struct GUID domain_guid; - struct dom_sid2 *domain_sid;/* [unique] */ - struct netr_trust_extension_container trust_extension; - struct lsa_StringLarge dummy_string2; - struct lsa_StringLarge dummy_string3; - struct lsa_StringLarge dummy_string4; - uint32_t dummy_long1; - uint32_t dummy_long2; - uint32_t dummy_long3; - uint32_t dummy_long4; -}; - -/* bitmap netr_SupportedEncTypes */ -#define ENC_CRC32 ( 0x00000001 ) -#define ENC_RSA_MD5 ( 0x00000002 ) -#define ENC_RC4_HMAC_MD5 ( 0x00000004 ) -#define ENC_HMAC_SHA1_96_AES128 ( 0x00000008 ) -#define ENC_HMAC_SHA1_96_AES256 ( 0x00000010 ) - -struct netr_DomainInformation { - struct netr_OneDomainInfo primary_domain; - uint32_t trusted_domain_count; - struct netr_OneDomainInfo *trusted_domains;/* [unique,size_is(trusted_domain_count)] */ - struct netr_LsaPolicyInformation lsa_policy; - struct lsa_StringLarge dns_hostname; - struct lsa_StringLarge dummy_string2; - struct lsa_StringLarge dummy_string3; - struct lsa_StringLarge dummy_string4; - uint32_t workstation_flags; - uint32_t supported_enc_types; - uint32_t dummy_long3; - uint32_t dummy_long4; -}; - -union netr_DomainInfo { - struct netr_DomainInformation *domain_info;/* [unique,case] */ - struct netr_LsaPolicyInformation *lsa_policy_info;/* [unique,case(2)] */ -}; - -struct NL_PASSWORD_VERSION { - uint32_t ReservedField; - uint32_t PasswordVersionNumber; - uint32_t PasswordVersionPresent; -}; - -struct netr_CryptPassword { - uint8_t data[512]; - uint32_t length; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct netr_DsRAddressToSitenamesWCtr { - uint32_t count; - struct lsa_String *sitename;/* [unique,size_is(count)] */ -}; - -struct netr_DsRAddress { - uint8_t *buffer;/* [unique,size_is(size)] */ - uint32_t size; -}; - -enum netr_TrustType -#ifndef USE_UINT_ENUMS - { - NETR_TRUST_TYPE_DOWNLEVEL=(int)(1), - NETR_TRUST_TYPE_UPLEVEL=(int)(2), - NETR_TRUST_TYPE_MIT=(int)(3), - NETR_TRUST_TYPE_DCE=(int)(4) -} -#else - { __donnot_use_enum_netr_TrustType=0x7FFFFFFF} -#define NETR_TRUST_TYPE_DOWNLEVEL ( 1 ) -#define NETR_TRUST_TYPE_UPLEVEL ( 2 ) -#define NETR_TRUST_TYPE_MIT ( 3 ) -#define NETR_TRUST_TYPE_DCE ( 4 ) -#endif -; - -/* bitmap netr_TrustAttributes */ -#define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 ) -#define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 ) -#define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 ) -#define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 ) -#define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 ) -#define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 ) -#define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 ) - -struct netr_DomainTrust { - const char *netbios_name;/* [unique,charset(UTF16)] */ - const char *dns_name;/* [unique,charset(UTF16)] */ - uint32_t trust_flags; - uint32_t parent_index; - enum netr_TrustType trust_type; - uint32_t trust_attributes; - struct dom_sid2 *sid;/* [unique] */ - struct GUID guid; -}; - -struct netr_DomainTrustList { - uint32_t count; - struct netr_DomainTrust *array;/* [unique,size_is(count)] */ -}; - -struct netr_DsRAddressToSitenamesExWCtr { - uint32_t count; - struct lsa_String *sitename;/* [unique,size_is(count)] */ - struct lsa_String *subnetname;/* [unique,size_is(count)] */ -}; - -struct DcSitesCtr { - uint32_t num_sites; - struct lsa_String *sites;/* [unique,size_is(num_sites)] */ -}; - -struct netr_TrustInfo { - uint32_t count; - uint32_t *data;/* [unique,size_is(count)] */ - uint32_t entry_count; - struct lsa_String *entries;/* [unique,size_is(count)] */ -}; - - -struct netr_LogonUasLogon { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - const char *workstation;/* [ref,charset(UTF16)] */ - } in; - - struct { - struct netr_UasInfo **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_LogonUasLogoff { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - const char *workstation;/* [ref,charset(UTF16)] */ - } in; - - struct { - struct netr_UasLogoffInfo *info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_LogonSamLogon { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *computer_name;/* [unique,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [unique] */ - enum netr_LogonInfoClass logon_level; - union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */ - uint16_t validation_level; - struct netr_Authenticator *return_authenticator;/* [unique] */ - } in; - - struct { - union netr_Validation *validation;/* [ref,switch_is(validation_level)] */ - uint8_t *authoritative;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [unique] */ - NTSTATUS result; - } out; - -}; - - -struct netr_LogonSamLogoff { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *computer_name;/* [unique,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [unique] */ - enum netr_LogonInfoClass logon_level; - union netr_LogonLevel logon;/* [switch_is(logon_level)] */ - struct netr_Authenticator *return_authenticator;/* [unique] */ - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [unique] */ - NTSTATUS result; - } out; - -}; - - -struct netr_ServerReqChallenge { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Credential *credentials;/* [ref] */ - } in; - - struct { - struct netr_Credential *return_credentials;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_ServerAuthenticate { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Credential *credentials;/* [ref] */ - } in; - - struct { - struct netr_Credential *return_credentials;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_ServerPasswordSet { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - struct samr_Password *new_password;/* [ref] */ - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DatabaseDeltas { - struct { - const char *logon_server;/* [ref,charset(UTF16)] */ - const char *computername;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - enum netr_SamDatabaseID database_id; - uint32_t preferredmaximumlength; - struct netr_Authenticator *return_authenticator;/* [ref] */ - uint64_t *sequence_num;/* [ref] */ - } in; - - struct { - struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - uint64_t *sequence_num;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DatabaseSync { - struct { - const char *logon_server;/* [ref,charset(UTF16)] */ - const char *computername;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - enum netr_SamDatabaseID database_id; - uint32_t preferredmaximumlength; - struct netr_Authenticator *return_authenticator;/* [ref] */ - uint32_t *sync_context;/* [ref] */ - } in; - - struct { - struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - uint32_t *sync_context;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_AccountDeltas { - struct { - const char *logon_server;/* [unique,charset(UTF16)] */ - const char *computername;/* [ref,charset(UTF16)] */ - struct netr_Authenticator credential; - struct netr_UAS_INFO_0 uas; - uint32_t count; - uint32_t level; - uint32_t buffersize; - struct netr_Authenticator *return_authenticator;/* [ref] */ - } in; - - struct { - struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */ - uint32_t *count_returned;/* [ref] */ - uint32_t *total_entries;/* [ref] */ - struct netr_UAS_INFO_0 *recordid;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_AccountSync { - struct { - const char *logon_server;/* [unique,charset(UTF16)] */ - const char *computername;/* [ref,charset(UTF16)] */ - struct netr_Authenticator credential; - uint32_t reference; - uint32_t level; - uint32_t buffersize; - struct netr_Authenticator *return_authenticator;/* [ref] */ - struct netr_UAS_INFO_0 *recordid;/* [ref] */ - } in; - - struct { - struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */ - uint32_t *count_returned;/* [ref] */ - uint32_t *total_entries;/* [ref] */ - uint32_t *next_reference;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - struct netr_UAS_INFO_0 *recordid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_GetDcName { - struct { - const char *logon_server;/* [ref,charset(UTF16)] */ - const char *domainname;/* [unique,charset(UTF16)] */ - } in; - - struct { - const char **dcname;/* [ref,charset(UTF16)] */ - WERROR result; - } out; - -}; - - -struct netr_LogonControl { - struct { - const char *logon_server;/* [unique,charset(UTF16)] */ - enum netr_LogonControlCode function_code; - uint32_t level; - } in; - - struct { - union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct netr_GetAnyDCName { - struct { - const char *logon_server;/* [unique,charset(UTF16)] */ - const char *domainname;/* [unique,charset(UTF16)] */ - } in; - - struct { - const char **dcname;/* [ref,charset(UTF16)] */ - WERROR result; - } out; - -}; - - -struct netr_LogonControl2 { - struct { - const char *logon_server;/* [unique,charset(UTF16)] */ - enum netr_LogonControlCode function_code; - uint32_t level; - union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */ - } in; - - struct { - union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct netr_ServerAuthenticate2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Credential *credentials;/* [ref] */ - uint32_t *negotiate_flags;/* [ref] */ - } in; - - struct { - struct netr_Credential *return_credentials;/* [ref] */ - uint32_t *negotiate_flags;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DatabaseSync2 { - struct { - const char *logon_server;/* [ref,charset(UTF16)] */ - const char *computername;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - enum netr_SamDatabaseID database_id; - enum SyncStateEnum restart_state; - uint32_t preferredmaximumlength; - struct netr_Authenticator *return_authenticator;/* [ref] */ - uint32_t *sync_context;/* [ref] */ - } in; - - struct { - struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - uint32_t *sync_context;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DatabaseRedo { - struct { - const char *logon_server;/* [ref,charset(UTF16)] */ - const char *computername;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - struct netr_ChangeLogEntry change_log_entry;/* [subcontext(4)] */ - uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - } in; - - struct { - struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_LogonControl2Ex { - struct { - const char *logon_server;/* [unique,charset(UTF16)] */ - enum netr_LogonControlCode function_code; - uint32_t level; - union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */ - } in; - - struct { - union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct netr_NetrEnumerateTrustedDomains { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - struct netr_Blob *trusted_domains_blob;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_DsRGetDCName { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ - struct GUID *domain_guid;/* [unique] */ - struct GUID *site_guid;/* [unique] */ - uint32_t flags; - } in; - - struct { - struct netr_DsRGetDCNameInfo **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_LogonGetCapabilities { - struct { - const char *server_name;/* [ref,charset(UTF16)] */ - const char *computer_name;/* [unique,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - uint32_t query_level; - struct netr_Authenticator *return_authenticator;/* [ref] */ - } in; - - struct { - union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_NETRLOGONSETSERVICEBITS { - struct { - WERROR result; - } out; - -}; - - -struct netr_LogonGetTrustRid { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - uint32_t *rid;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_NETRLOGONCOMPUTESERVERDIGEST { - struct { - WERROR result; - } out; - -}; - - -struct netr_NETRLOGONCOMPUTECLIENTDIGEST { - struct { - WERROR result; - } out; - -}; - - -struct netr_ServerAuthenticate3 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Credential *credentials;/* [ref] */ - uint32_t *negotiate_flags;/* [ref] */ - } in; - - struct { - struct netr_Credential *return_credentials;/* [ref] */ - uint32_t *rid;/* [ref] */ - uint32_t *negotiate_flags;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DsRGetDCNameEx { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ - struct GUID *domain_guid;/* [unique] */ - const char *site_name;/* [unique,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - struct netr_DsRGetDCNameInfo **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_DsRGetSiteName { - struct { - const char *computer_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - const char **site;/* [ref,charset(UTF16)] */ - WERROR result; - } out; - -}; - - -struct netr_LogonGetDomainInfo { - struct { - const char *server_name;/* [ref,charset(UTF16)] */ - const char *computer_name;/* [unique,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - uint32_t level; - union netr_WorkstationInfo *query;/* [ref,switch_is(level)] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - } in; - - struct { - union netr_DomainInfo *info;/* [ref,switch_is(level)] */ - struct netr_Authenticator *return_authenticator;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_ServerPasswordSet2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - struct netr_CryptPassword *new_password;/* [ref] */ - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_ServerPasswordGet { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [ref] */ - struct samr_Password *password;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_NETRLOGONSENDTOSAM { - struct { - WERROR result; - } out; - -}; - - -struct netr_DsRAddressToSitenamesW { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t count;/* [range(0,32000)] */ - struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */ - } in; - - struct { - struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_DsRGetDCNameEx2 { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *client_account;/* [unique,charset(UTF16)] */ - uint32_t mask; - const char *domain_name;/* [unique,charset(UTF16)] */ - struct GUID *domain_guid;/* [unique] */ - const char *site_name;/* [unique,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - struct netr_DsRGetDCNameInfo **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN { - struct { - WERROR result; - } out; - -}; - - -struct netr_NetrEnumerateTrustedDomainsEx { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - struct netr_DomainTrustList *dom_trust_list;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_DsRAddressToSitenamesExW { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t count;/* [range(0,32000)] */ - struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */ - } in; - - struct { - struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_DsrGetDcSiteCoverageW { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - struct DcSitesCtr **ctr;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_LogonSamLogonEx { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *computer_name;/* [unique,charset(UTF16)] */ - enum netr_LogonInfoClass logon_level; - union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */ - uint16_t validation_level; - uint32_t *flags;/* [ref] */ - } in; - - struct { - union netr_Validation *validation;/* [ref,switch_is(validation_level)] */ - uint8_t *authoritative;/* [ref] */ - uint32_t *flags;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DsrEnumerateDomainTrusts { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t trust_flags; - } in; - - struct { - struct netr_DomainTrustList *trusts;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_DsrDeregisterDNSHostRecords { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain;/* [unique,charset(UTF16)] */ - struct GUID *domain_guid;/* [unique] */ - struct GUID *dsa_guid;/* [unique] */ - const char *dns_host;/* [ref,charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct netr_ServerTrustPasswordsGet { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [ref] */ - struct samr_Password *password;/* [ref] */ - struct samr_Password *password2;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_DsRGetForestTrustInformation { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *trusted_domain_name;/* [unique,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct netr_GetForestTrustInformation { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - uint32_t flags; - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [ref] */ - struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_LogonSamLogonWithFlags { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *computer_name;/* [unique,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [unique] */ - enum netr_LogonInfoClass logon_level; - union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */ - uint16_t validation_level; - struct netr_Authenticator *return_authenticator;/* [unique] */ - uint32_t *flags;/* [ref] */ - } in; - - struct { - union netr_Validation *validation;/* [ref,switch_is(validation_level)] */ - uint8_t *authoritative;/* [ref] */ - struct netr_Authenticator *return_authenticator;/* [unique] */ - uint32_t *flags;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct netr_ServerGetTrustInfo { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account_name;/* [ref,charset(UTF16)] */ - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [ref,charset(UTF16)] */ - struct netr_Authenticator *credential;/* [ref] */ - } in; - - struct { - struct netr_Authenticator *return_authenticator;/* [ref] */ - struct samr_Password *new_owf_password;/* [ref] */ - struct samr_Password *old_owf_password;/* [ref] */ - struct netr_TrustInfo **trust_info;/* [ref] */ - NTSTATUS result; - } out; - -}; - -#endif /* _HEADER_netlogon */ diff --git a/librpc/gen_ndr/ntlmssp.h b/librpc/gen_ndr/ntlmssp.h deleted file mode 100644 index c3d639b913b..00000000000 --- a/librpc/gen_ndr/ntlmssp.h +++ /dev/null @@ -1,317 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#ifndef _HEADER_ntlmssp -#define _HEADER_ntlmssp - -#define NTLMSSP_NEGOTIATE_NTLM2 ( NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY ) -#define NTLMSSP_SIGN_VERSION ( 0x01 ) -#define NTLMSSP_SIG_SIZE ( 16 ) -enum ntlmssp_MessageType -#ifndef USE_UINT_ENUMS - { - NtLmNegotiate=(int)(0x00000001), - NtLmChallenge=(int)(0x00000002), - NtLmAuthenticate=(int)(0x00000003) -} -#else - { __donnot_use_enum_ntlmssp_MessageType=0x7FFFFFFF} -#define NtLmNegotiate ( 0x00000001 ) -#define NtLmChallenge ( 0x00000002 ) -#define NtLmAuthenticate ( 0x00000003 ) -#endif -; - -/* bitmap NEGOTIATE */ -#define NTLMSSP_NEGOTIATE_UNICODE ( 0x00000001 ) -#define NTLMSSP_NEGOTIATE_OEM ( 0x00000002 ) -#define NTLMSSP_REQUEST_TARGET ( 0x00000004 ) -#define NTLMSSP_NEGOTIATE_SIGN ( 0x00000010 ) -#define NTLMSSP_NEGOTIATE_SEAL ( 0x00000020 ) -#define NTLMSSP_NEGOTIATE_DATAGRAM ( 0x00000040 ) -#define NTLMSSP_NEGOTIATE_LM_KEY ( 0x00000080 ) -#define NTLMSSP_NEGOTIATE_NETWARE ( 0x00000100 ) -#define NTLMSSP_NEGOTIATE_NTLM ( 0x00000200 ) -#define NTLMSSP_NEGOTIATE_NT_ONLY ( 0x00000400 ) -#define NTLMSSP_ANONYMOUS ( 0x00000800 ) -#define NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED ( 0x00001000 ) -#define NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED ( 0x00002000 ) -#define NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL ( 0x00004000 ) -#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN ( 0x00008000 ) -#define NTLMSSP_TARGET_TYPE_DOMAIN ( 0x00010000 ) -#define NTLMSSP_TARGET_TYPE_SERVER ( 0x00020000 ) -#define NTLMSSP_TARGET_TYPE_SHARE ( 0x00040000 ) -#define NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY ( 0x00080000 ) -#define NTLMSSP_NEGOTIATE_IDENTIFY ( 0x00100000 ) -#define NTLMSSP_REQUEST_NON_NT_SESSION_KEY ( 0x00400000 ) -#define NTLMSSP_NEGOTIATE_TARGET_INFO ( 0x00800000 ) -#define NTLMSSP_NEGOTIATE_VERSION ( 0x02000000 ) -#define NTLMSSP_NEGOTIATE_128 ( 0x20000000 ) -#define NTLMSSP_NEGOTIATE_KEY_EXCH ( 0x40000000 ) -#define NTLMSSP_NEGOTIATE_56 ( 0x80000000 ) - -enum ntlmssp_WindowsMajorVersion -#ifndef USE_UINT_ENUMS - { - NTLMSSP_WINDOWS_MAJOR_VERSION_5=(int)(0x05), - NTLMSSP_WINDOWS_MAJOR_VERSION_6=(int)(0x06) -} -#else - { __donnot_use_enum_ntlmssp_WindowsMajorVersion=0x7FFFFFFF} -#define NTLMSSP_WINDOWS_MAJOR_VERSION_5 ( 0x05 ) -#define NTLMSSP_WINDOWS_MAJOR_VERSION_6 ( 0x06 ) -#endif -; - -enum ntlmssp_WindowsMinorVersion -#ifndef USE_UINT_ENUMS - { - NTLMSSP_WINDOWS_MINOR_VERSION_0=(int)(0x00), - NTLMSSP_WINDOWS_MINOR_VERSION_1=(int)(0x01), - NTLMSSP_WINDOWS_MINOR_VERSION_2=(int)(0x02) -} -#else - { __donnot_use_enum_ntlmssp_WindowsMinorVersion=0x7FFFFFFF} -#define NTLMSSP_WINDOWS_MINOR_VERSION_0 ( 0x00 ) -#define NTLMSSP_WINDOWS_MINOR_VERSION_1 ( 0x01 ) -#define NTLMSSP_WINDOWS_MINOR_VERSION_2 ( 0x02 ) -#endif -; - -enum ntlmssp_NTLMRevisionCurrent -#ifndef USE_UINT_ENUMS - { - NTLMSSP_REVISION_W2K3_RC1=(int)(0x0A), - NTLMSSP_REVISION_W2K3=(int)(0x0F) -} -#else - { __donnot_use_enum_ntlmssp_NTLMRevisionCurrent=0x7FFFFFFF} -#define NTLMSSP_REVISION_W2K3_RC1 ( 0x0A ) -#define NTLMSSP_REVISION_W2K3 ( 0x0F ) -#endif -; - -struct VERSION { - enum ntlmssp_WindowsMajorVersion ProductMajorVersion; - enum ntlmssp_WindowsMinorVersion ProductMinorVersion; - uint16_t ProductBuild; - uint8_t Reserved[3]; - enum ntlmssp_NTLMRevisionCurrent NTLMRevisionCurrent; -}; - -union ntlmssp_Version { - struct VERSION version;/* [case(NTLMSSP_NEGOTIATE_VERSION)] */ -}/* [noprint,nodiscriminant] */; - -struct NEGOTIATE_MESSAGE { - const char *Signature;/* [value("NTLMSSP"),charset(DOS)] */ - enum ntlmssp_MessageType MessageType;/* [value(NtLmNegotiate)] */ - uint32_t NegotiateFlags; - uint16_t DomainNameLen;/* [value(strlen(DomainName))] */ - uint16_t DomainNameMaxLen;/* [value(DomainNameLen)] */ - const char * DomainName;/* [relative,subcontext_size(DomainNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] */ - uint16_t WorkstationLen;/* [value(strlen(Workstation))] */ - uint16_t WorkstationMaxLen;/* [value(WorkstationLen)] */ - const char * Workstation;/* [relative,subcontext_size(WorkstationLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] */ - union ntlmssp_Version Version;/* [switch_is(NegotiateFlags&NTLMSSP_NEGOTIATE_VERSION)] */ -}/* [public] */; - -enum ntlmssp_AvId -#ifndef USE_UINT_ENUMS - { - MsvAvEOL=(int)(0), - MsvAvNbComputerName=(int)(1), - MsvAvNbDomainName=(int)(2), - MsvAvDnsComputerName=(int)(3), - MsvAvDnsDomainName=(int)(4), - MsvAvDnsTreeName=(int)(5), - MsvAvFlags=(int)(6), - MsvAvTimestamp=(int)(7), - MsAvRestrictions=(int)(8), - MsvAvTargetName=(int)(9), - MsvChannelBindings=(int)(10) -} -#else - { __donnot_use_enum_ntlmssp_AvId=0x7FFFFFFF} -#define MsvAvEOL ( 0 ) -#define MsvAvNbComputerName ( 1 ) -#define MsvAvNbDomainName ( 2 ) -#define MsvAvDnsComputerName ( 3 ) -#define MsvAvDnsDomainName ( 4 ) -#define MsvAvDnsTreeName ( 5 ) -#define MsvAvFlags ( 6 ) -#define MsvAvTimestamp ( 7 ) -#define MsAvRestrictions ( 8 ) -#define MsvAvTargetName ( 9 ) -#define MsvChannelBindings ( 10 ) -#endif -; - -struct Restriction_Encoding { - uint32_t Size; - uint32_t Z4;/* [value(0)] */ - uint32_t IntegrityLevel; - uint32_t SubjectIntegrityLevel; - uint8_t MachineId[32]; -}; - -/* bitmap ntlmssp_AvFlags */ -#define NTLMSSP_AVFLAG_CONSTRAINTED_ACCOUNT ( 0x00000001 ) -#define NTLMSSP_AVFLAG_MIC_IN_AUTHENTICATE_MESSAGE ( 0x00000002 ) - -union ntlmssp_AvValue { - const char * AvNbComputerName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvNbComputerName)] */ - const char * AvNbDomainName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvNbDomainName)] */ - const char * AvDnsComputerName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvDnsComputerName)] */ - const char * AvDnsDomainName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvDnsDomainName)] */ - const char * AvDnsTreeName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvDnsTreeName)] */ - uint32_t AvFlags;/* [case(MsvAvFlags)] */ - NTTIME AvTimestamp;/* [case(MsvAvTimestamp)] */ - struct Restriction_Encoding AvRestrictions;/* [case(MsAvRestrictions)] */ - const char * AvTargetName;/* [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_UNICODE)),case(MsvAvTargetName)] */ - uint8_t ChannelBindings[16];/* [case(MsvChannelBindings)] */ - DATA_BLOB blob;/* [default,flag(LIBNDR_FLAG_REMAINING)] */ -}/* [gensize,nodiscriminant,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct AV_PAIR { - enum ntlmssp_AvId AvId; - uint16_t AvLen;/* [value(ndr_size_ntlmssp_AvValue(&r->Value,r->AvId,ndr->iconv_convenience,0))] */ - union ntlmssp_AvValue Value;/* [subcontext_size(AvLen),subcontext(0),switch_is(AvId)] */ -}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct AV_PAIR_LIST { - uint32_t count; - struct AV_PAIR *pair; -}/* [gensize,nopull,nopush,flag(LIBNDR_FLAG_NOALIGN)] */; - -struct CHALLENGE_MESSAGE { - const char *Signature;/* [value("NTLMSSP"),charset(DOS)] */ - enum ntlmssp_MessageType MessageType;/* [value(NtLmChallenge)] */ - uint16_t TargetNameLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,TargetName))] */ - uint16_t TargetNameMaxLen;/* [value(TargetNameLen)] */ - const char * TargetName;/* [relative,subcontext_size(TargetNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */ - uint32_t NegotiateFlags; - uint8_t ServerChallenge[8]; - uint8_t Reserved[8]; - uint16_t TargetInfoLen;/* [value(ndr_size_AV_PAIR_LIST(TargetInfo,ndr->iconv_convenience,ndr->flags))] */ - uint16_t TargetNameInfoMaxLen;/* [value(TargetInfoLen)] */ - struct AV_PAIR_LIST *TargetInfo;/* [relative,subcontext_size(TargetInfoLen),subcontext(0)] */ - union ntlmssp_Version Version;/* [switch_is(NegotiateFlags&NTLMSSP_NEGOTIATE_VERSION)] */ -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct LM_RESPONSE { - uint8_t Response[24]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct LMv2_RESPONSE { - uint8_t Response[16]; - uint8_t ChallengeFromClient[8]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -union ntlmssp_LM_RESPONSE { - struct LM_RESPONSE v1;/* [case(24)] */ -}/* [nodiscriminant] */; - -struct NTLM_RESPONSE { - uint8_t Response[24]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct NTLMv2_CLIENT_CHALLENGE { - uint8_t RespType;/* [value] */ - uint8_t HiRespType;/* [value] */ - uint16_t Reserved1; - uint32_t Reserved2; - NTTIME TimeStamp; - uint8_t ChallengeFromClient[8]; - uint32_t Reserved3; - struct AV_PAIR_LIST AvPairs;/* [subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */ -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct NTLMv2_RESPONSE { - uint8_t Response[16]; - struct NTLMv2_CLIENT_CHALLENGE Challenge; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -union ntlmssp_NTLM_RESPONSE { - struct NTLM_RESPONSE v1;/* [case(0x18)] */ - struct NTLMv2_RESPONSE v2;/* [default] */ -}/* [public,nodiscriminant] */; - -struct MIC { - uint8_t MIC[16]; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct AUTHENTICATE_MESSAGE { - const char *Signature;/* [value("NTLMSSP"),charset(DOS)] */ - enum ntlmssp_MessageType MessageType;/* [value(NtLmAuthenticate)] */ - uint16_t LmChallengeResponseLen; - uint16_t LmChallengeResponseMaxLen;/* [value(LmChallengeResponseLen)] */ - union ntlmssp_LM_RESPONSE *LmChallengeResponse;/* [relative,subcontext_size(LmChallengeResponseLen),subcontext(0),switch_is(LmChallengeResponseLen)] */ - uint16_t NtChallengeResponseLen; - uint16_t NtChallengeResponseMaxLen;/* [value(NtChallengeResponseLen)] */ - union ntlmssp_NTLM_RESPONSE *NtChallengeResponse;/* [relative,subcontext_size(NtChallengeResponseMaxLen),subcontext(0),switch_is(NtChallengeResponseLen)] */ - uint16_t DomainNameLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,DomainName))] */ - uint16_t DomainNameMaxLen;/* [value(DomainNameLen)] */ - const char * DomainName;/* [relative,subcontext_size(DomainNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */ - uint16_t UserNameLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,UserName))] */ - uint16_t UserNameMaxLen;/* [value(UserNameLen)] */ - const char * UserName;/* [relative,subcontext_size(UserNameLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */ - uint16_t WorkstationLen;/* [value(ndr_ntlmssp_string_length(NegotiateFlags,Workstation))] */ - uint16_t WorkstationMaxLen;/* [value(WorkstationLen)] */ - const char * Workstation;/* [relative,subcontext_size(WorkstationLen),subcontext(0),flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] */ - uint16_t EncryptedRandomSessionKeyLen;/* [value(EncryptedRandomSessionKey->length)] */ - uint16_t EncryptedRandomSessionKeyMaxLen;/* [value(EncryptedRandomSessionKeyLen)] */ - DATA_BLOB *EncryptedRandomSessionKey;/* [relative,subcontext_size(EncryptedRandomSessionKeyLen),subcontext(0)] */ - uint32_t NegotiateFlags; - union ntlmssp_Version Version;/* [switch_is(NegotiateFlags&NTLMSSP_NEGOTIATE_VERSION)] */ -}/* [public,flag(LIBNDR_FLAG_REMAINING)] */; - -struct NTLMSSP_MESSAGE_SIGNATURE { - uint32_t Version;/* [value(NTLMSSP_SIGN_VERSION)] */ - uint32_t RandomPad; - uint32_t Checksum; - uint32_t SeqNum; -}/* [public] */; - -struct NTLMSSP_MESSAGE_SIGNATURE_NTLMv2 { - uint32_t Version;/* [value(NTLMSSP_SIGN_VERSION)] */ - uint8_t Checksum[8]; - uint32_t SeqNum; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - - -struct decode_NEGOTIATE_MESSAGE { - struct { - struct NEGOTIATE_MESSAGE negotiate; - } in; - -}; - - -struct decode_CHALLENGE_MESSAGE { - struct { - struct CHALLENGE_MESSAGE challenge; - } in; - -}; - - -struct decode_AUTHENTICATE_MESSAGE { - struct { - struct AUTHENTICATE_MESSAGE authenticate; - } in; - -}; - - -struct decode_NTLMv2_CLIENT_CHALLENGE { - struct { - struct NTLMv2_CLIENT_CHALLENGE challenge; - } in; - -}; - -#endif /* _HEADER_ntlmssp */ diff --git a/librpc/gen_ndr/ntsvcs.h b/librpc/gen_ndr/ntsvcs.h deleted file mode 100644 index 76b2628a662..00000000000 --- a/librpc/gen_ndr/ntsvcs.h +++ /dev/null @@ -1,606 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#ifndef _HEADER_ntsvcs -#define _HEADER_ntsvcs - -#define CM_GETIDLIST_FILTER_NONE ( 0x00000000 ) -#define DEV_REGPROP_DESC ( 1 ) -/* bitmap PNP_GetIdListFlags */ -#define CM_GETIDLIST_FILTER_ENUMERATOR ( 0x00000001 ) -#define CM_GETIDLIST_FILTER_SERVICE ( 0x00000002 ) -#define CM_GETIDLIST_FILTER_EJECTRELATIONS ( 0x00000004 ) -#define CM_GETIDLIST_FILTER_REMOVALRELATIONS ( 0x00000008 ) -#define CM_GETIDLIST_FILTER_POWERRELATIONS ( 0x00000010 ) -#define CM_GETIDLIST_FILTER_BUSRELATIONS ( 0x00000020 ) -#define CM_GETIDLIST_DONOTGENERATE ( 0x10000040 ) -#define CM_GETIDLIST_FILTER_TRANSPORTRELATIONS ( 0x00000080 ) -#define CM_GETIDLIST_FILTER_PRESENT ( 0x00000100 ) -#define CM_GETIDLIST_FILTER_CLASS ( 0x00000200 ) - -struct PNP_HwProfInfo { - uint32_t profile_handle; - uint16_t friendly_name[80]; - uint32_t flags; -}; - - -struct PNP_Disconnect { - struct { - WERROR result; - } out; - -}; - - -struct PNP_Connect { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetVersion { - struct { - uint16_t *version;/* [ref] */ - WERROR result; - } out; - -}; - - -struct PNP_GetGlobalState { - struct { - WERROR result; - } out; - -}; - - -struct PNP_InitDetection { - struct { - WERROR result; - } out; - -}; - - -struct PNP_ReportLogOn { - struct { - WERROR result; - } out; - -}; - - -struct PNP_ValidateDeviceInstance { - struct { - const char *devicepath;/* [ref,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetRootDeviceInstance { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetRelatedDeviceInstance { - struct { - WERROR result; - } out; - -}; - - -struct PNP_EnumerateSubKeys { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetDeviceList { - struct { - const char *filter;/* [unique,charset(UTF16)] */ - uint32_t flags; - uint32_t *length;/* [ref] */ - } in; - - struct { - uint16_t *buffer;/* [ref,length_is(*length),size_is(*length)] */ - uint32_t *length;/* [ref] */ - WERROR result; - } out; - -}; - - -struct PNP_GetDeviceListSize { - struct { - const char *devicename;/* [unique,charset(UTF16)] */ - uint32_t flags; - } in; - - struct { - uint32_t *size;/* [ref] */ - WERROR result; - } out; - -}; - - -struct PNP_GetDepth { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetDeviceRegProp { - struct { - const char *devicepath;/* [ref,charset(UTF16)] */ - uint32_t property; - uint32_t flags; - enum winreg_Type *reg_data_type;/* [ref] */ - uint32_t *buffer_size;/* [ref] */ - uint32_t *needed;/* [ref] */ - } in; - - struct { - uint8_t *buffer;/* [ref,length_is(*buffer_size),size_is(*buffer_size)] */ - enum winreg_Type *reg_data_type;/* [ref] */ - uint32_t *buffer_size;/* [ref] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct PNP_SetDeviceRegProp { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetClassInstance { - struct { - WERROR result; - } out; - -}; - - -struct PNP_CreateKey { - struct { - WERROR result; - } out; - -}; - - -struct PNP_DeleteRegistryKey { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetClassCount { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetClassName { - struct { - WERROR result; - } out; - -}; - - -struct PNP_DeleteClassKey { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetInterfaceDeviceAlias { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetInterfaceDeviceList { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetInterfaceDeviceListSize { - struct { - WERROR result; - } out; - -}; - - -struct PNP_RegisterDeviceClassAssociation { - struct { - WERROR result; - } out; - -}; - - -struct PNP_UnregisterDeviceClassAssociation { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetClassRegProp { - struct { - WERROR result; - } out; - -}; - - -struct PNP_SetClassRegProp { - struct { - WERROR result; - } out; - -}; - - -struct PNP_CreateDevInst { - struct { - WERROR result; - } out; - -}; - - -struct PNP_DeviceInstanceAction { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetDeviceStatus { - struct { - WERROR result; - } out; - -}; - - -struct PNP_SetDeviceProblem { - struct { - WERROR result; - } out; - -}; - - -struct PNP_DisableDevInst { - struct { - WERROR result; - } out; - -}; - - -struct PNP_UninstallDevInst { - struct { - WERROR result; - } out; - -}; - - -struct PNP_AddID { - struct { - WERROR result; - } out; - -}; - - -struct PNP_RegisterDriver { - struct { - WERROR result; - } out; - -}; - - -struct PNP_QueryRemove { - struct { - WERROR result; - } out; - -}; - - -struct PNP_RequestDeviceEject { - struct { - WERROR result; - } out; - -}; - - -struct PNP_IsDockStationPresent { - struct { - WERROR result; - } out; - -}; - - -struct PNP_RequestEjectPC { - struct { - WERROR result; - } out; - -}; - - -struct PNP_HwProfFlags { - struct { - uint32_t action; - const char *devicepath;/* [ref,charset(UTF16)] */ - uint32_t config; - const char *unknown5;/* [unique,charset(UTF16)] */ - uint32_t name_length; - uint32_t flags; - uint32_t *profile_flags;/* [ref] */ - uint16_t *veto_type;/* [unique] */ - } in; - - struct { - const char **unknown5a;/* [unique,charset(UTF16)] */ - uint32_t *profile_flags;/* [ref] */ - uint16_t *veto_type;/* [unique] */ - WERROR result; - } out; - -}; - - -struct PNP_GetHwProfInfo { - struct { - uint32_t idx; - uint32_t size; - uint32_t flags; - struct PNP_HwProfInfo *info;/* [ref] */ - } in; - - struct { - struct PNP_HwProfInfo *info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct PNP_AddEmptyLogConf { - struct { - WERROR result; - } out; - -}; - - -struct PNP_FreeLogConf { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetFirstLogConf { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetNextLogConf { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetLogConfPriority { - struct { - WERROR result; - } out; - -}; - - -struct PNP_AddResDes { - struct { - WERROR result; - } out; - -}; - - -struct PNP_FreeResDes { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetNextResDes { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetResDesData { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetResDesDataSize { - struct { - WERROR result; - } out; - -}; - - -struct PNP_ModifyResDes { - struct { - WERROR result; - } out; - -}; - - -struct PNP_DetectResourceLimit { - struct { - WERROR result; - } out; - -}; - - -struct PNP_QueryResConfList { - struct { - WERROR result; - } out; - -}; - - -struct PNP_SetHwProf { - struct { - WERROR result; - } out; - -}; - - -struct PNP_QueryArbitratorFreeData { - struct { - WERROR result; - } out; - -}; - - -struct PNP_QueryArbitratorFreeSize { - struct { - WERROR result; - } out; - -}; - - -struct PNP_RunDetection { - struct { - WERROR result; - } out; - -}; - - -struct PNP_RegisterNotification { - struct { - WERROR result; - } out; - -}; - - -struct PNP_UnregisterNotification { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetCustomDevProp { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetVersionInternal { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetBlockedDriverInfo { - struct { - WERROR result; - } out; - -}; - - -struct PNP_GetServerSideDeviceInstallFlags { - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_ntsvcs */ diff --git a/librpc/gen_ndr/rap.h b/librpc/gen_ndr/rap.h deleted file mode 100644 index 29a17040505..00000000000 --- a/librpc/gen_ndr/rap.h +++ /dev/null @@ -1,866 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#ifndef _HEADER_rap -#define _HEADER_rap - -#define RAP_WshareEnum ( 0 ) -#define RAP_WshareGetInfo ( 1 ) -#define RAP_WshareSetInfo ( 2 ) -#define RAP_WshareAdd ( 3 ) -#define RAP_WshareDel ( 4 ) -#define RAP_NetShareCheck ( 5 ) -#define RAP_WsessionEnum ( 6 ) -#define RAP_WsessionGetInfo ( 7 ) -#define RAP_WsessionDel ( 8 ) -#define RAP_WconnectionEnum ( 9 ) -#define RAP_WfileEnum ( 10 ) -#define RAP_WfileGetInfo ( 11 ) -#define RAP_WfileClose ( 12 ) -#define RAP_WserverGetInfo ( 13 ) -#define RAP_WserverSetInfo ( 14 ) -#define RAP_WserverDiskEnum ( 15 ) -#define RAP_WserverAdminCommand ( 16 ) -#define RAP_NetAuditOpen ( 17 ) -#define RAP_WauditClear ( 18 ) -#define RAP_NetErrorLogOpen ( 19 ) -#define RAP_WerrorLogClear ( 20 ) -#define RAP_NetCharDevEnum ( 21 ) -#define RAP_NetCharDevGetInfo ( 22 ) -#define RAP_WCharDevControl ( 23 ) -#define RAP_NetCharDevQEnum ( 24 ) -#define RAP_NetCharDevQGetInfo ( 25 ) -#define RAP_WCharDevQSetInfo ( 26 ) -#define RAP_WCharDevQPurge ( 27 ) -#define RAP_WCharDevQPurgeSelf ( 28 ) -#define RAP_WMessageNameEnum ( 29 ) -#define RAP_WMessageNameGetInfo ( 30 ) -#define RAP_WMessageNameAdd ( 31 ) -#define RAP_WMessageNameDel ( 32 ) -#define RAP_WMessageNameFwd ( 33 ) -#define RAP_WMessageNameUnFwd ( 34 ) -#define RAP_WMessageBufferSend ( 35 ) -#define RAP_WMessageFileSend ( 36 ) -#define RAP_WMessageLogFileSet ( 37 ) -#define RAP_WMessageLogFileGet ( 38 ) -#define RAP_WServiceEnum ( 39 ) -#define RAP_WServiceInstall ( 40 ) -#define RAP_WServiceControl ( 41 ) -#define RAP_WAccessEnum ( 42 ) -#define RAP_WAccessGetInfo ( 43 ) -#define RAP_WAccessSetInfo ( 44 ) -#define RAP_WAccessAdd ( 45 ) -#define RAP_WAccessDel ( 46 ) -#define RAP_WGroupEnum ( 47 ) -#define RAP_WGroupAdd ( 48 ) -#define RAP_WGroupDel ( 49 ) -#define RAP_WGroupAddUser ( 50 ) -#define RAP_WGroupDelUser ( 51 ) -#define RAP_WGroupGetUsers ( 52 ) -#define RAP_WUserEnum ( 53 ) -#define RAP_WUserAdd ( 54 ) -#define RAP_WUserDel ( 55 ) -#define RAP_WUserGetInfo ( 56 ) -#define RAP_WUserSetInfo ( 57 ) -#define RAP_WUserPasswordSet ( 58 ) -#define RAP_WUserGetGroups ( 59 ) -#define RAP_WWkstaSetUID ( 62 ) -#define RAP_WWkstaGetInfo ( 63 ) -#define RAP_WWkstaSetInfo ( 64 ) -#define RAP_WUseEnum ( 65 ) -#define RAP_WUseAdd ( 66 ) -#define RAP_WUseDel ( 67 ) -#define RAP_WUseGetInfo ( 68 ) -#define RAP_WPrintQEnum ( 69 ) -#define RAP_WPrintQGetInfo ( 70 ) -#define RAP_WPrintQSetInfo ( 71 ) -#define RAP_WPrintQAdd ( 72 ) -#define RAP_WPrintQDel ( 73 ) -#define RAP_WPrintQPause ( 74 ) -#define RAP_WPrintQContinue ( 75 ) -#define RAP_WPrintJobEnum ( 76 ) -#define RAP_WPrintJobGetInfo ( 77 ) -#define RAP_WPrintJobSetInfo_OLD ( 78 ) -#define RAP_WPrintJobDel ( 81 ) -#define RAP_WPrintJobPause ( 82 ) -#define RAP_WPrintJobContinue ( 83 ) -#define RAP_WPrintDestEnum ( 84 ) -#define RAP_WPrintDestGetInfo ( 85 ) -#define RAP_WPrintDestControl ( 86 ) -#define RAP_WProfileSave ( 87 ) -#define RAP_WProfileLoad ( 88 ) -#define RAP_WStatisticsGet ( 89 ) -#define RAP_WStatisticsClear ( 90 ) -#define RAP_NetRemoteTOD ( 91 ) -#define RAP_WNetBiosEnum ( 92 ) -#define RAP_WNetBiosGetInfo ( 93 ) -#define RAP_NetServerEnum ( 94 ) -#define RAP_I_NetServerEnum ( 95 ) -#define RAP_WServiceGetInfo ( 96 ) -#define RAP_WPrintQPurge ( 103 ) -#define RAP_NetServerEnum2 ( 104 ) -#define RAP_WAccessGetUserPerms ( 105 ) -#define RAP_WGroupGetInfo ( 106 ) -#define RAP_WGroupSetInfo ( 107 ) -#define RAP_WGroupSetUsers ( 108 ) -#define RAP_WUserSetGroups ( 109 ) -#define RAP_WUserModalsGet ( 110 ) -#define RAP_WUserModalsSet ( 111 ) -#define RAP_WFileEnum2 ( 112 ) -#define RAP_WUserAdd2 ( 113 ) -#define RAP_WUserSetInfo2 ( 114 ) -#define RAP_WUserPasswordSet2 ( 115 ) -#define RAP_I_NetServerEnum2 ( 116 ) -#define RAP_WConfigGet2 ( 117 ) -#define RAP_WConfigGetAll2 ( 118 ) -#define RAP_WGetDCName ( 119 ) -#define RAP_NetHandleGetInfo ( 120 ) -#define RAP_NetHandleSetInfo ( 121 ) -#define RAP_WStatisticsGet2 ( 122 ) -#define RAP_WBuildGetInfo ( 123 ) -#define RAP_WFileGetInfo2 ( 124 ) -#define RAP_WFileClose2 ( 125 ) -#define RAP_WNetServerReqChallenge ( 126 ) -#define RAP_WNetServerAuthenticate ( 127 ) -#define RAP_WNetServerPasswordSet ( 128 ) -#define RAP_WNetAccountDeltas ( 129 ) -#define RAP_WNetAccountSync ( 130 ) -#define RAP_WUserEnum2 ( 131 ) -#define RAP_WWkstaUserLogon ( 132 ) -#define RAP_WWkstaUserLogoff ( 133 ) -#define RAP_WLogonEnum ( 134 ) -#define RAP_WErrorLogRead ( 135 ) -#define RAP_NetPathType ( 136 ) -#define RAP_NetPathCanonicalize ( 137 ) -#define RAP_NetPathCompare ( 138 ) -#define RAP_NetNameValidate ( 139 ) -#define RAP_NetNameCanonicalize ( 140 ) -#define RAP_NetNameCompare ( 141 ) -#define RAP_WAuditRead ( 142 ) -#define RAP_WPrintDestAdd ( 143 ) -#define RAP_WPrintDestSetInfo ( 144 ) -#define RAP_WPrintDestDel ( 145 ) -#define RAP_WUserValidate2 ( 146 ) -#define RAP_WPrintJobSetInfo ( 147 ) -#define RAP_TI_NetServerDiskEnum ( 148 ) -#define RAP_TI_NetServerDiskGetInfo ( 149 ) -#define RAP_TI_FTVerifyMirror ( 150 ) -#define RAP_TI_FTAbortVerify ( 151 ) -#define RAP_TI_FTGetInfo ( 152 ) -#define RAP_TI_FTSetInfo ( 153 ) -#define RAP_TI_FTLockDisk ( 154 ) -#define RAP_TI_FTFixError ( 155 ) -#define RAP_TI_FTAbortFix ( 156 ) -#define RAP_TI_FTDiagnoseError ( 157 ) -#define RAP_TI_FTGetDriveStats ( 158 ) -#define RAP_TI_FTErrorGetInfo ( 160 ) -#define RAP_NetAccessCheck ( 163 ) -#define RAP_NetAlertRaise ( 164 ) -#define RAP_NetAlertStart ( 165 ) -#define RAP_NetAlertStop ( 166 ) -#define RAP_NetAuditWrite ( 167 ) -#define RAP_NetIRemoteAPI ( 168 ) -#define RAP_NetServiceStatus ( 169 ) -#define RAP_NetServerRegister ( 170 ) -#define RAP_NetServerDeregister ( 171 ) -#define RAP_NetSessionEntryMake ( 172 ) -#define RAP_NetSessionEntryClear ( 173 ) -#define RAP_NetSessionEntryGetInfo ( 174 ) -#define RAP_NetSessionEntrySetInfo ( 175 ) -#define RAP_NetConnectionEntryMake ( 176 ) -#define RAP_NetConnectionEntryClear ( 177 ) -#define RAP_NetConnectionEntrySetInfo ( 178 ) -#define RAP_NetConnectionEntryGetInfo ( 179 ) -#define RAP_NetFileEntryMake ( 180 ) -#define RAP_NetFileEntryClear ( 181 ) -#define RAP_NetFileEntrySetInfo ( 182 ) -#define RAP_NetFileEntryGetInfo ( 183 ) -#define RAP_AltSrvMessageBufferSend ( 184 ) -#define RAP_AltSrvMessageFileSend ( 185 ) -#define RAP_wI_NetRplWkstaEnum ( 186 ) -#define RAP_wI_NetRplWkstaGetInfo ( 187 ) -#define RAP_wI_NetRplWkstaSetInfo ( 188 ) -#define RAP_wI_NetRplWkstaAdd ( 189 ) -#define RAP_wI_NetRplWkstaDel ( 190 ) -#define RAP_wI_NetRplProfileEnum ( 191 ) -#define RAP_wI_NetRplProfileGetInfo ( 192 ) -#define RAP_wI_NetRplProfileSetInfo ( 193 ) -#define RAP_wI_NetRplProfileAdd ( 194 ) -#define RAP_wI_NetRplProfileDel ( 195 ) -#define RAP_wI_NetRplProfileClone ( 196 ) -#define RAP_wI_NetRplBaseProfileEnum ( 197 ) -#define RAP_WIServerSetInfo ( 201 ) -#define RAP_WPrintDriverEnum ( 205 ) -#define RAP_WPrintQProcessorEnum ( 206 ) -#define RAP_WPrintPortEnum ( 207 ) -#define RAP_WNetWriteUpdateLog ( 208 ) -#define RAP_WNetAccountUpdate ( 209 ) -#define RAP_WNetAccountConfirmUpdate ( 210 ) -#define RAP_WConfigSet ( 211 ) -#define RAP_WAccountsReplicate ( 212 ) -#define RAP_SamOEMChgPasswordUser2_P ( 214 ) -#define RAP_NetServerEnum3 ( 215 ) -#define RAP_WprintDriverGetInfo ( 250 ) -#define RAP_WprintDriverSetInfo ( 251 ) -#define RAP_WaliasAdd ( 252 ) -#define RAP_WaliasDel ( 253 ) -#define RAP_WaliasGetInfo ( 254 ) -#define RAP_WaliasSetInfo ( 255 ) -#define RAP_WaliasEnum ( 256 ) -#define RAP_WuserGetLogonAsn ( 257 ) -#define RAP_WuserSetLogonAsn ( 258 ) -#define RAP_WuserGetAppSel ( 259 ) -#define RAP_WuserSetAppSel ( 260 ) -#define RAP_WappAdd ( 261 ) -#define RAP_WappDel ( 262 ) -#define RAP_WappGetInfo ( 263 ) -#define RAP_WappSetInfo ( 264 ) -#define RAP_WappEnum ( 265 ) -#define RAP_WUserDCDBInit ( 266 ) -#define RAP_WDASDAdd ( 267 ) -#define RAP_WDASDDel ( 268 ) -#define RAP_WDASDGetInfo ( 269 ) -#define RAP_WDASDSetInfo ( 270 ) -#define RAP_WDASDEnum ( 271 ) -#define RAP_WDASDCheck ( 272 ) -#define RAP_WDASDCtl ( 273 ) -#define RAP_WuserRemoteLogonCheck ( 274 ) -#define RAP_WUserPasswordSet3 ( 275 ) -#define RAP_WCreateRIPLMachine ( 276 ) -#define RAP_WDeleteRIPLMachine ( 277 ) -#define RAP_WGetRIPLMachineInfo ( 278 ) -#define RAP_WSetRIPLMachineInfo ( 279 ) -#define RAP_WEnumRIPLMachine ( 280 ) -#define RAP_I_ShareAdd ( 281 ) -#define RAP_AliasEnum ( 282 ) -#define RAP_WaccessApply ( 283 ) -#define RAP_WPrt16Query ( 284 ) -#define RAP_WPrt16Set ( 285 ) -#define RAP_WUserDel100 ( 286 ) -#define RAP_WUserRemoteLogonCheck2 ( 287 ) -#define RAP_WRemoteTODSet ( 294 ) -#define RAP_WprintJobMoveAll ( 295 ) -#define RAP_W16AppParmAdd ( 296 ) -#define RAP_W16AppParmDel ( 297 ) -#define RAP_W16AppParmGet ( 298 ) -#define RAP_W16AppParmSet ( 299 ) -#define RAP_W16RIPLMachineCreate ( 300 ) -#define RAP_W16RIPLMachineGetInfo ( 301 ) -#define RAP_W16RIPLMachineSetInfo ( 302 ) -#define RAP_W16RIPLMachineEnum ( 303 ) -#define RAP_W16RIPLMachineListParmEnum ( 304 ) -#define RAP_W16RIPLMachClassGetInfo ( 305 ) -#define RAP_W16RIPLMachClassEnum ( 306 ) -#define RAP_W16RIPLMachClassCreate ( 307 ) -#define RAP_W16RIPLMachClassSetInfo ( 308 ) -#define RAP_W16RIPLMachClassDelete ( 309 ) -#define RAP_W16RIPLMachClassLPEnum ( 310 ) -#define RAP_W16RIPLMachineDelete ( 311 ) -#define RAP_W16WSLevelGetInfo ( 312 ) -#define RAP_WserverNameAdd ( 313 ) -#define RAP_WserverNameDel ( 314 ) -#define RAP_WserverNameEnum ( 315 ) -#define RAP_I_WDASDEnum ( 316 ) -#define RAP_WDASDEnumTerminate ( 317 ) -#define RAP_WDASDSetInfo2 ( 318 ) -#define MAX_API ( 318 ) -#define RAP_GROUPNAME_LEN ( 21 ) -#define RAP_USERNAME_LEN ( 21 ) -#define RAP_SHARENAME_LEN ( 13 ) -#define RAP_UPASSWD_LEN ( 16 ) -#define RAP_SPASSWD_LEN ( 9 ) -#define RAP_MACHNAME_LEN ( 16 ) -#define RAP_SRVCNAME_LEN ( 16 ) -#define RAP_SRVCCMNT_LEN ( 64 ) -#define RAP_DATATYPE_LEN ( 10 ) -#define RAP_WFileEnum2_REQ ( "zzWrLehb8g8" ) -#define RAP_WFileGetInfo2_REQ ( "DWrLh" ) -#define RAP_WFileClose2_REQ ( "D" ) -#define RAP_NetGroupEnum_REQ ( "WrLeh" ) -#define RAP_NetGroupAdd_REQ ( "WsT" ) -#define RAP_NetGroupDel_REQ ( "z" ) -#define RAP_NetGroupAddUser_REQ ( "zz" ) -#define RAP_NetGroupDelUser_REQ ( "zz" ) -#define RAP_NetGroupGetUsers_REQ ( "zWrLeh" ) -#define RAP_NetGroupSetUsers_REQ ( "zWsTW" ) -#define RAP_NetUserAdd2_REQ ( "WsTWW" ) -#define RAP_NetUserEnum_REQ ( "WrLeh" ) -#define RAP_NetUserEnum2_REQ ( "WrLDieh" ) -#define RAP_NetUserGetGroups_REQ ( "zWrLeh" ) -#define RAP_NetUserSetGroups_REQ ( "zWsTW" ) -#define RAP_NetUserPasswordSet_REQ ( "zb16b16w" ) -#define RAP_NetUserPasswordSet2_REQ ( "zb16b16WW" ) -#define RAP_SAMOEMChgPasswordUser2_REQ ( "B516B16" ) -#define RAP_NetUserValidate2_REQ ( "Wb62WWrLhWW" ) -#define RAP_NetServerEnum2_REQ ( "WrLehDz" ) -#define RAP_WserverGetInfo_REQ ( "WrLh" ) -#define RAP_NetWkstatGetInfo ( "WrLh" ) -#define RAP_WShareAdd_REQ ( "WsT" ) -#define RAP_WShareEnum_REQ ( "WrLeh" ) -#define RAP_WShareDel_REQ ( "zW" ) -#define RAP_WWkstaGetInfo_REQ ( "WrLh" ) -#define RAP_NetPrintQEnum_REQ ( "WrLeh" ) -#define RAP_NetPrintQGetInfo_REQ ( "zWrLh" ) -#define RAP_NetServerAdminCommand_REQ ( "zhrLeh" ) -#define RAP_NetServiceEnum_REQ ( "WrLeh" ) -#define RAP_NetServiceControl_REQ ( "zWWrL" ) -#define RAP_NetServiceInstall_REQ ( "zF88sg88T" ) -#define RAP_NetServiceGetInfo_REQ ( "zWrLh" ) -#define RAP_NetSessionEnum_REQ ( "WrLeh" ) -#define RAP_NetSessionGetInfo_REQ ( "zWrLh" ) -#define RAP_NetSessionDel_REQ ( "zW" ) -#define RAP_NetConnectionEnum_REQ ( "zWrLeh" ) -#define RAP_NetWkstaUserLogoff_REQ ( "zzWb38WrLh" ) -#define RAP_FILE_INFO_L2 ( "D" ) -#define RAP_FILE_INFO_L3 ( "DWWzz" ) -#define RAP_GROUP_INFO_L0 ( "B21" ) -#define RAP_GROUP_INFO_L1 ( "B21Bz" ) -#define RAP_GROUP_USERS_INFO_0 ( "B21" ) -#define RAP_GROUP_USERS_INFO_1 ( "B21BN" ) -#define RAP_USER_INFO_L0 ( "B21" ) -#define RAP_USER_INFO_L1 ( "B21BB16DWzzWz" ) -#define RAP_SERVER_INFO_L0 ( "B16" ) -#define RAP_SERVER_INFO_L1 ( "B16BBDz" ) -#define RAP_SERVER_INFO_L2 ( "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWz" ) -#define RAP_SERVER_INFO_L3 ( "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWzDWz" ) -#define RAP_SERVICE_INFO_L0 ( "B16" ) -#define RAP_SERVICE_INFO_L2 ( "B16WDWB64" ) -#define RAP_SHARE_INFO_L0 ( "B13" ) -#define RAP_SHARE_INFO_L1 ( "B13BWz" ) -#define RAP_SHARE_INFO_L2 ( "B13BWzWWWzB9B" ) -#define RAP_PRINTQ_INFO_L2 ( "B13BWWWzzzzzWN" ) -#define RAP_SMB_PRINT_JOB_L1 ( "WB21BB16B10zWWzDDz" ) -#define RAP_SESSION_INFO_L2 ( "zzWWWDDDz" ) -#define RAP_CONNECTION_INFO_L1 ( "WWWWDzz" ) -#define RAP_USER_LOGOFF_INFO_L1 ( "WDW" ) -#define RAP_WKSTA_INFO_L1 ( "WDzzzzBBDWDWWWWWWWWWWWWWWWWWWWzzWzzW" ) -#define RAP_WKSTA_INFO_L10 ( "zzzBBzz" ) -enum rap_status -#ifndef USE_UINT_ENUMS - { - NERR_Success=(int)(0) -} -#else - { __donnot_use_enum_rap_status=0x7FFFFFFF} -#define NERR_Success ( 0 ) -#endif -; - -struct rap_group_info_1 { - uint8_t group_name[21]; - uint8_t reserved1; - const char * comment;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct rap_user_info_1 { - uint8_t user_name[21]; - uint8_t reserved1; - uint8_t passwrd[16]; - uint32_t pwage; - uint16_t priv; - const char * home_dir;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - const char * comment;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t userflags; - const char * logon_script;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct rap_service_info_2 { - uint8_t service_name[16]; - uint16_t status; - uint32_t installcode; - uint16_t process_num; - const char * comment;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct rap_share_info_0 { - uint8_t share_name[13]; -}; - -struct rap_share_info_1 { - uint8_t share_name[13]; - uint8_t reserved1; - uint16_t share_type; - const char * comment;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct rap_share_info_2 { - uint8_t share_name[13]; - uint8_t reserved1; - uint16_t share_type; - const char * comment;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t perms; - uint16_t maximum_users; - uint16_t active_users; - const char * path;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint8_t password[9]; - uint8_t reserved2; -}; - -union rap_share_info { - struct rap_share_info_0 info0;/* [case(0)] */ - struct rap_share_info_1 info1;/* [case] */ - struct rap_share_info_2 info2;/* [case(2)] */ -}/* [nodiscriminant] */; - -struct rap_server_info_0 { - uint8_t name[16]; -}; - -struct rap_server_info_1 { - uint8_t name[16]; - uint8_t version_major; - uint8_t version_minor; - uint32_t servertype; - const char * comment;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -union rap_server_info { - struct rap_server_info_0 info0;/* [case(0)] */ - struct rap_server_info_1 info1;/* [case] */ -}/* [nodiscriminant] */; - -enum rap_PrintJStatusCode -#ifndef USE_UINT_ENUMS - { - PRJ_QS_QUEUED=(int)(0x0000), - PRJ_QS_PAUSED=(int)(0x0001), - PRJ_QS_SPOOLING=(int)(0x0002), - PRJ_QS_PRINTING=(int)(0x0003), - PRJ_QS_ERROR=(int)(0x0010) -} -#else - { __donnot_use_enum_rap_PrintJStatusCode=0x7FFFFFFF} -#define PRJ_QS_QUEUED ( 0x0000 ) -#define PRJ_QS_PAUSED ( 0x0001 ) -#define PRJ_QS_SPOOLING ( 0x0002 ) -#define PRJ_QS_PRINTING ( 0x0003 ) -#define PRJ_QS_ERROR ( 0x0010 ) -#endif -; - -struct rap_PrintJobInfo0 { - uint16_t JobID; -}; - -struct rap_PrintJobInfo1 { - uint16_t JobID; - const char *UserName;/* [charset(DOS)] */ - uint8_t Pad; - const char *NotifyName;/* [charset(DOS)] */ - const char *DataType;/* [charset(DOS)] */ - const char * PrintParameterString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintParameterStringHigh; - uint16_t JobPosition; - enum rap_PrintJStatusCode JobStatus; - const char * JobStatusString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t JobStatusStringHigh; - time_t TimeSubmitted; - uint32_t JobSize; - const char * JobCommentString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t JobCommentStringHigh; -}; - -struct rap_PrintJobInfo2 { - uint16_t JobID; - uint16_t Priority; - const char * UserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t UserNameHigh; - uint16_t JobPosition; - enum rap_PrintJStatusCode JobStatus; - time_t TimeSubmitted; - uint32_t JobSize; - const char * JobCommentString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t JobCommentStringHigh; - const char * DocumentName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t DocumentNameHigh; -}; - -struct rap_PrintJobInfo3 { - uint16_t JobID; - uint16_t Priority; - const char * UserName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t UserNameHigh; - uint16_t JobPosition; - enum rap_PrintJStatusCode JobStatus; - time_t TimeSubmitted; - uint32_t JobSize; - const char * JobCommentString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t JobCommentStringHigh; - const char * DocumentName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t DocumentNameHigh; - const char * NotifyName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t NotifyNameHigh; - const char * DataType;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t DataTypeHigh; - const char * PrintParameterString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintParameterStringHigh; - const char * StatusString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t StatusStringHigh; - const char * QueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t QueueNameHigh; - const char * PrintProcessorName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintProcessorNameHigh; - const char * PrintProcessorParams;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintProcessorParamsHigh; - const char * DriverName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t DriverNameHigh; - const char * DriverDataOffset;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t DriverDataOffsetHigh; - const char * PrinterNameOffset;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrinterNameOffsetHigh; -}; - -union rap_printj_info { - struct rap_PrintJobInfo0 info0;/* [case(0)] */ - struct rap_PrintJobInfo1 info1;/* [case] */ - struct rap_PrintJobInfo2 info2;/* [case(2)] */ - struct rap_PrintJobInfo3 info3;/* [case(3)] */ -}/* [public,nodiscriminant] */; - -enum rap_PrintQStatusCode -#ifndef USE_UINT_ENUMS - { - PRQ_ACTIVE=(int)(0x0000), - PRQ_PAUSE=(int)(0x0001), - PRQ_ERROR=(int)(0x0002), - PRQ_PENDING=(int)(0x0003) -} -#else - { __donnot_use_enum_rap_PrintQStatusCode=0x7FFFFFFF} -#define PRQ_ACTIVE ( 0x0000 ) -#define PRQ_PAUSE ( 0x0001 ) -#define PRQ_ERROR ( 0x0002 ) -#define PRQ_PENDING ( 0x0003 ) -#endif -; - -struct rap_PrintQueue0 { - const char *PrintQName;/* [charset(DOS)] */ -}; - -struct rap_PrintQueue1 { - const char *PrintQName;/* [charset(DOS)] */ - uint8_t Pad1; - uint16_t Priority; - uint16_t StartTime; - uint16_t UntilTime; - const char * SeparatorPageFilename;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t SeparatorPageFilenameHigh; - const char * PrintProcessorDllName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintProcessorDllNameHigh; - const char * PrintDestinationsName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintDestinationsNameHigh; - const char * PrintParameterString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintParameterStringHigh; - const char * CommentString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t CommentStringHigh; - enum rap_PrintQStatusCode PrintQStatus; - uint16_t PrintJobCount; -}; - -struct rap_PrintQueue2 { - struct rap_PrintQueue1 queue; - struct rap_PrintJobInfo1 *job; -}; - -struct rap_PrintQueue3 { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintQueueNameHigh; - uint16_t Priority; - uint16_t StartTime; - uint16_t UntilTime; - uint16_t Pad; - const char * SeparatorPageFilename;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t SeparatorPageFilenameHigh; - const char * PrintProcessorDllName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintProcessorDllNameHigh; - const char * PrintParameterString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintParameterStringHigh; - const char * CommentString;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t CommentStringHigh; - enum rap_PrintQStatusCode PrintQStatus; - uint16_t PrintJobCount; - const char * Printers;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintersHigh; - const char * DriverName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t DriverNameHigh; - const char * PrintDriverData;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintDriverDataHigh; -}/* [public] */; - -struct rap_PrintQueue4 { - struct rap_PrintQueue3 queue; - struct rap_PrintJobInfo2 *job; -}; - -struct rap_PrintQueue5 { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),relative_short] */ - uint16_t PrintQueueNameHigh; -}; - -union rap_printq_info { - struct rap_PrintQueue0 info0;/* [case(0)] */ - struct rap_PrintQueue1 info1;/* [case] */ - struct rap_PrintQueue2 info2;/* [case(2)] */ - struct rap_PrintQueue3 info3;/* [case(3)] */ - struct rap_PrintQueue4 info4;/* [case(4)] */ - struct rap_PrintQueue5 info5;/* [case(5)] */ -}/* [public,nodiscriminant] */; - -enum rap_JobInfoParamNum -#ifndef USE_UINT_ENUMS - { - RAP_PARAM_JOBNUM=(int)(0x0001), - RAP_PARAM_USERNAME=(int)(0x0002), - RAP_PARAM_NOTIFYNAME=(int)(0x0003), - RAP_PARAM_DATATYPE=(int)(0x0004), - RAP_PARAM_PARAMETERS_STRING=(int)(0x0005), - RAP_PARAM_JOBPOSITION=(int)(0x0006), - RAP_PARAM_JOBSTATUS=(int)(0x0007), - RAP_PARAM_JOBSTATUSSTR=(int)(0x0008), - RAP_PARAM_TIMESUBMITTED=(int)(0x0009), - RAP_PARAM_JOBSIZE=(int)(0x000a), - RAP_PARAM_JOBCOMMENT=(int)(0x000b) -} -#else - { __donnot_use_enum_rap_JobInfoParamNum=0x7FFFFFFF} -#define RAP_PARAM_JOBNUM ( 0x0001 ) -#define RAP_PARAM_USERNAME ( 0x0002 ) -#define RAP_PARAM_NOTIFYNAME ( 0x0003 ) -#define RAP_PARAM_DATATYPE ( 0x0004 ) -#define RAP_PARAM_PARAMETERS_STRING ( 0x0005 ) -#define RAP_PARAM_JOBPOSITION ( 0x0006 ) -#define RAP_PARAM_JOBSTATUS ( 0x0007 ) -#define RAP_PARAM_JOBSTATUSSTR ( 0x0008 ) -#define RAP_PARAM_TIMESUBMITTED ( 0x0009 ) -#define RAP_PARAM_JOBSIZE ( 0x000a ) -#define RAP_PARAM_JOBCOMMENT ( 0x000b ) -#endif -; - -union rap_JobInfoParam { - uint16_t value;/* [case(RAP_PARAM_JOBNUM)] */ - const char * string;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),case(RAP_PARAM_USERNAME)] */ - uint32_t value4;/* [case(RAP_PARAM_TIMESUBMITTED)] */ -}/* [nodiscriminant] */; - - -struct rap_NetShareEnum { - struct { - uint16_t level; - uint16_t bufsize; - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t count; - uint16_t available; - union rap_share_info *info;/* [ref,switch_is(level)] */ - } out; - -}; - - -struct rap_NetServerEnum2 { - struct { - uint16_t level; - uint16_t bufsize; - uint32_t servertype; - const char * domain;/* [ref,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t count; - uint16_t available; - union rap_server_info *info;/* [switch_is(level)] */ - } out; - -}; - - -struct rap_WserverGetInfo { - struct { - uint16_t level; - uint16_t bufsize; - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t available; - union rap_server_info info;/* [switch_is(level)] */ - } out; - -}; - - -struct rap_NetPrintQEnum { - struct { - uint16_t level; - uint16_t bufsize; - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t count; - uint16_t available; - union rap_printq_info *info;/* [switch_is(level)] */ - } out; - -}; - - -struct rap_NetPrintQGetInfo { - struct { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t level; - uint16_t bufsize; - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t available; - union rap_printq_info info;/* [switch_is(level)] */ - } out; - -}; - - -struct rap_NetPrintJobPause { - struct { - uint16_t JobID; - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - - -struct rap_NetPrintJobContinue { - struct { - uint16_t JobID; - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - - -struct rap_NetPrintJobDelete { - struct { - uint16_t JobID; - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - - -struct rap_NetPrintQueuePause { - struct { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - - -struct rap_NetPrintQueueResume { - struct { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - - -struct rap_NetPrintQueuePurge { - struct { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - - -struct rap_NetPrintJobEnum { - struct { - const char * PrintQueueName;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t level; - uint16_t bufsize; - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t count; - uint16_t available; - union rap_printj_info *info;/* [switch_is(level)] */ - } out; - -}; - - -struct rap_NetPrintJobGetInfo { - struct { - uint16_t JobID; - uint16_t level; - uint16_t bufsize; - } in; - - struct { - enum rap_status status; - uint16_t convert; - uint16_t available; - union rap_printj_info info;/* [switch_is(level)] */ - } out; - -}; - - -struct rap_NetPrintJobSetInfo { - struct { - uint16_t JobID; - uint16_t level; - uint16_t bufsize; - enum rap_JobInfoParamNum ParamNum; - union rap_JobInfoParam Param;/* [switch_is(ParamNum)] */ - } in; - - struct { - enum rap_status status; - uint16_t convert; - } out; - -}; - -#endif /* _HEADER_rap */ diff --git a/librpc/gen_ndr/samr.h b/librpc/gen_ndr/samr.h deleted file mode 100644 index 75462dec730..00000000000 --- a/librpc/gen_ndr/samr.h +++ /dev/null @@ -1,1930 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/lsa.h" -#include "librpc/gen_ndr/security.h" -#ifndef _HEADER_samr -#define _HEADER_samr - -#define SAMR_ACCESS_ALL_ACCESS ( 0x0000003F ) -#define GENERIC_RIGHTS_SAM_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_ACCESS_ALL_ACCESS) ) -#define GENERIC_RIGHTS_SAM_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_ACCESS_ENUM_DOMAINS) ) -#define GENERIC_RIGHTS_SAM_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_ACCESS_CREATE_DOMAIN|SAMR_ACCESS_INITIALIZE_SERVER|SAMR_ACCESS_SHUTDOWN_SERVER) ) -#define GENERIC_RIGHTS_SAM_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_ACCESS_LOOKUP_DOMAIN|SAMR_ACCESS_CONNECT_TO_SERVER) ) -#define SAMR_USER_ACCESS_ALL_ACCESS ( 0x000007FF ) -#define GENERIC_RIGHTS_USER_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_USER_ACCESS_ALL_ACCESS) ) -#define GENERIC_RIGHTS_USER_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP|SAMR_USER_ACCESS_GET_GROUPS|SAMR_USER_ACCESS_GET_ATTRIBUTES|SAMR_USER_ACCESS_GET_LOGONINFO|SAMR_USER_ACCESS_GET_LOCALE) ) -#define GENERIC_RIGHTS_USER_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_USER_ACCESS_CHANGE_PASSWORD|SAMR_USER_ACCESS_SET_LOC_COM|SAMR_USER_ACCESS_SET_ATTRIBUTES|SAMR_USER_ACCESS_SET_PASSWORD|SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP) ) -#define GENERIC_RIGHTS_USER_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_USER_ACCESS_CHANGE_PASSWORD|SAMR_USER_ACCESS_GET_NAME_ETC) ) -#define SAMR_DOMAIN_ACCESS_ALL_ACCESS ( 0x000007FF ) -#define GENERIC_RIGHTS_DOMAIN_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_DOMAIN_ACCESS_ALL_ACCESS) ) -#define GENERIC_RIGHTS_DOMAIN_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS|SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2) ) -#define GENERIC_RIGHTS_DOMAIN_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_DOMAIN_ACCESS_SET_INFO_3|SAMR_DOMAIN_ACCESS_CREATE_ALIAS|SAMR_DOMAIN_ACCESS_CREATE_GROUP|SAMR_DOMAIN_ACCESS_CREATE_USER|SAMR_DOMAIN_ACCESS_SET_INFO_2|SAMR_DOMAIN_ACCESS_SET_INFO_1) ) -#define GENERIC_RIGHTS_DOMAIN_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT|SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS|SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1) ) -#define SAMR_GROUP_ACCESS_ALL_ACCESS ( 0x0000001F ) -#define GENERIC_RIGHTS_GROUP_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_GROUP_ACCESS_ALL_ACCESS) ) -#define GENERIC_RIGHTS_GROUP_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_GROUP_ACCESS_GET_MEMBERS) ) -#define GENERIC_RIGHTS_GROUP_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_GROUP_ACCESS_REMOVE_MEMBER|SAMR_GROUP_ACCESS_ADD_MEMBER|SAMR_GROUP_ACCESS_SET_INFO) ) -#define GENERIC_RIGHTS_GROUP_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_GROUP_ACCESS_LOOKUP_INFO) ) -#define SAMR_ALIAS_ACCESS_ALL_ACCESS ( 0x0000001F ) -#define GENERIC_RIGHTS_ALIAS_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_ALIAS_ACCESS_ALL_ACCESS) ) -#define GENERIC_RIGHTS_ALIAS_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_ALIAS_ACCESS_GET_MEMBERS) ) -#define GENERIC_RIGHTS_ALIAS_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_ALIAS_ACCESS_REMOVE_MEMBER|SAMR_ALIAS_ACCESS_ADD_MEMBER|SAMR_ALIAS_ACCESS_SET_INFO) ) -#define GENERIC_RIGHTS_ALIAS_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_ALIAS_ACCESS_LOOKUP_INFO) ) -#define SAMR_ENUM_USERS_MULTIPLIER ( 54 ) -#define PASS_MUST_CHANGE_AT_NEXT_LOGON ( 0x01 ) -#define PASS_DONT_CHANGE_AT_NEXT_LOGON ( 0x00 ) -enum netr_SamDatabaseID -#ifndef USE_UINT_ENUMS - { - SAM_DATABASE_DOMAIN=(int)(0), - SAM_DATABASE_BUILTIN=(int)(1), - SAM_DATABASE_PRIVS=(int)(2) -} -#else - { __donnot_use_enum_netr_SamDatabaseID=0x7FFFFFFF} -#define SAM_DATABASE_DOMAIN ( 0 ) -#define SAM_DATABASE_BUILTIN ( 1 ) -#define SAM_DATABASE_PRIVS ( 2 ) -#endif -; - -/* bitmap samr_AcctFlags */ -#define ACB_DISABLED ( 0x00000001 ) -#define ACB_HOMDIRREQ ( 0x00000002 ) -#define ACB_PWNOTREQ ( 0x00000004 ) -#define ACB_TEMPDUP ( 0x00000008 ) -#define ACB_NORMAL ( 0x00000010 ) -#define ACB_MNS ( 0x00000020 ) -#define ACB_DOMTRUST ( 0x00000040 ) -#define ACB_WSTRUST ( 0x00000080 ) -#define ACB_SVRTRUST ( 0x00000100 ) -#define ACB_PWNOEXP ( 0x00000200 ) -#define ACB_AUTOLOCK ( 0x00000400 ) -#define ACB_ENC_TXT_PWD_ALLOWED ( 0x00000800 ) -#define ACB_SMARTCARD_REQUIRED ( 0x00001000 ) -#define ACB_TRUSTED_FOR_DELEGATION ( 0x00002000 ) -#define ACB_NOT_DELEGATED ( 0x00004000 ) -#define ACB_USE_DES_KEY_ONLY ( 0x00008000 ) -#define ACB_DONT_REQUIRE_PREAUTH ( 0x00010000 ) -#define ACB_PW_EXPIRED ( 0x00020000 ) -#define ACB_NO_AUTH_DATA_REQD ( 0x00080000 ) - -/* bitmap samr_ConnectAccessMask */ -#define SAMR_ACCESS_CONNECT_TO_SERVER ( 0x00000001 ) -#define SAMR_ACCESS_SHUTDOWN_SERVER ( 0x00000002 ) -#define SAMR_ACCESS_INITIALIZE_SERVER ( 0x00000004 ) -#define SAMR_ACCESS_CREATE_DOMAIN ( 0x00000008 ) -#define SAMR_ACCESS_ENUM_DOMAINS ( 0x00000010 ) -#define SAMR_ACCESS_LOOKUP_DOMAIN ( 0x00000020 ) - -/* bitmap samr_UserAccessMask */ -#define SAMR_USER_ACCESS_GET_NAME_ETC ( 0x00000001 ) -#define SAMR_USER_ACCESS_GET_LOCALE ( 0x00000002 ) -#define SAMR_USER_ACCESS_SET_LOC_COM ( 0x00000004 ) -#define SAMR_USER_ACCESS_GET_LOGONINFO ( 0x00000008 ) -#define SAMR_USER_ACCESS_GET_ATTRIBUTES ( 0x00000010 ) -#define SAMR_USER_ACCESS_SET_ATTRIBUTES ( 0x00000020 ) -#define SAMR_USER_ACCESS_CHANGE_PASSWORD ( 0x00000040 ) -#define SAMR_USER_ACCESS_SET_PASSWORD ( 0x00000080 ) -#define SAMR_USER_ACCESS_GET_GROUPS ( 0x00000100 ) -#define SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP ( 0x00000200 ) -#define SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP ( 0x00000400 ) - -/* bitmap samr_DomainAccessMask */ -#define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 ( 0x00000001 ) -#define SAMR_DOMAIN_ACCESS_SET_INFO_1 ( 0x00000002 ) -#define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 ( 0x00000004 ) -#define SAMR_DOMAIN_ACCESS_SET_INFO_2 ( 0x00000008 ) -#define SAMR_DOMAIN_ACCESS_CREATE_USER ( 0x00000010 ) -#define SAMR_DOMAIN_ACCESS_CREATE_GROUP ( 0x00000020 ) -#define SAMR_DOMAIN_ACCESS_CREATE_ALIAS ( 0x00000040 ) -#define SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS ( 0x00000080 ) -#define SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS ( 0x00000100 ) -#define SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT ( 0x00000200 ) -#define SAMR_DOMAIN_ACCESS_SET_INFO_3 ( 0x00000400 ) - -/* bitmap samr_GroupAccessMask */ -#define SAMR_GROUP_ACCESS_LOOKUP_INFO ( 0x00000001 ) -#define SAMR_GROUP_ACCESS_SET_INFO ( 0x00000002 ) -#define SAMR_GROUP_ACCESS_ADD_MEMBER ( 0x00000004 ) -#define SAMR_GROUP_ACCESS_REMOVE_MEMBER ( 0x00000008 ) -#define SAMR_GROUP_ACCESS_GET_MEMBERS ( 0x00000010 ) - -/* bitmap samr_AliasAccessMask */ -#define SAMR_ALIAS_ACCESS_ADD_MEMBER ( 0x00000001 ) -#define SAMR_ALIAS_ACCESS_REMOVE_MEMBER ( 0x00000002 ) -#define SAMR_ALIAS_ACCESS_GET_MEMBERS ( 0x00000004 ) -#define SAMR_ALIAS_ACCESS_LOOKUP_INFO ( 0x00000008 ) -#define SAMR_ALIAS_ACCESS_SET_INFO ( 0x00000010 ) - -struct samr_SamEntry { - uint32_t idx; - struct lsa_String name; -}; - -struct samr_SamArray { - uint32_t count; - struct samr_SamEntry *entries;/* [unique,size_is(count)] */ -}; - -enum samr_DomainInfoClass -#ifndef USE_UINT_ENUMS - { - DomainPasswordInformation=(int)(1), - DomainGeneralInformation=(int)(2), - DomainLogoffInformation=(int)(3), - DomainOemInformation=(int)(4), - DomainNameInformation=(int)(5), - DomainReplicationInformation=(int)(6), - DomainServerRoleInformation=(int)(7), - DomainModifiedInformation=(int)(8), - DomainStateInformation=(int)(9), - DomainUasInformation=(int)(10), - DomainGeneralInformation2=(int)(11), - DomainLockoutInformation=(int)(12), - DomainModifiedInformation2=(int)(13) -} -#else - { __donnot_use_enum_samr_DomainInfoClass=0x7FFFFFFF} -#define DomainPasswordInformation ( 1 ) -#define DomainGeneralInformation ( 2 ) -#define DomainLogoffInformation ( 3 ) -#define DomainOemInformation ( 4 ) -#define DomainNameInformation ( 5 ) -#define DomainReplicationInformation ( 6 ) -#define DomainServerRoleInformation ( 7 ) -#define DomainModifiedInformation ( 8 ) -#define DomainStateInformation ( 9 ) -#define DomainUasInformation ( 10 ) -#define DomainGeneralInformation2 ( 11 ) -#define DomainLockoutInformation ( 12 ) -#define DomainModifiedInformation2 ( 13 ) -#endif -; - -enum samr_Role -#ifndef USE_UINT_ENUMS - { - SAMR_ROLE_STANDALONE=(int)(0), - SAMR_ROLE_DOMAIN_MEMBER=(int)(1), - SAMR_ROLE_DOMAIN_BDC=(int)(2), - SAMR_ROLE_DOMAIN_PDC=(int)(3) -} -#else - { __donnot_use_enum_samr_Role=0x7FFFFFFF} -#define SAMR_ROLE_STANDALONE ( 0 ) -#define SAMR_ROLE_DOMAIN_MEMBER ( 1 ) -#define SAMR_ROLE_DOMAIN_BDC ( 2 ) -#define SAMR_ROLE_DOMAIN_PDC ( 3 ) -#endif -; - -/* bitmap samr_PasswordProperties */ -#define DOMAIN_PASSWORD_COMPLEX ( 0x00000001 ) -#define DOMAIN_PASSWORD_NO_ANON_CHANGE ( 0x00000002 ) -#define DOMAIN_PASSWORD_NO_CLEAR_CHANGE ( 0x00000004 ) -#define DOMAIN_PASSWORD_LOCKOUT_ADMINS ( 0x00000008 ) -#define DOMAIN_PASSWORD_STORE_CLEARTEXT ( 0x00000010 ) -#define DOMAIN_REFUSE_PASSWORD_CHANGE ( 0x00000020 ) - -enum samr_DomainServerState -#ifndef USE_UINT_ENUMS - { - DOMAIN_SERVER_ENABLED=(int)(1), - DOMAIN_SERVER_DISABLED=(int)(2) -} -#else - { __donnot_use_enum_samr_DomainServerState=0x7FFFFFFF} -#define DOMAIN_SERVER_ENABLED ( 1 ) -#define DOMAIN_SERVER_DISABLED ( 2 ) -#endif -; - -struct samr_DomInfo1 { - uint16_t min_password_length; - uint16_t password_history_length; - uint32_t password_properties; - int64_t max_password_age; - int64_t min_password_age; -}; - -struct samr_DomGeneralInformation { - NTTIME force_logoff_time; - struct lsa_String oem_information; - struct lsa_String domain_name; - struct lsa_String primary; - uint64_t sequence_num; - enum samr_DomainServerState domain_server_state; - enum samr_Role role; - uint32_t unknown3; - uint32_t num_users; - uint32_t num_groups; - uint32_t num_aliases; -}; - -struct samr_DomInfo3 { - NTTIME force_logoff_time; -}; - -struct samr_DomOEMInformation { - struct lsa_String oem_information; -}; - -struct samr_DomInfo5 { - struct lsa_String domain_name; -}; - -struct samr_DomInfo6 { - struct lsa_String primary; -}; - -struct samr_DomInfo7 { - enum samr_Role role; -}; - -struct samr_DomInfo8 { - uint64_t sequence_num; - NTTIME domain_create_time; -}; - -struct samr_DomInfo9 { - enum samr_DomainServerState domain_server_state; -}; - -struct samr_DomGeneralInformation2 { - struct samr_DomGeneralInformation general; - uint64_t lockout_duration; - uint64_t lockout_window; - uint16_t lockout_threshold; -}; - -struct samr_DomInfo12 { - uint64_t lockout_duration; - uint64_t lockout_window; - uint16_t lockout_threshold; -}; - -struct samr_DomInfo13 { - uint64_t sequence_num; - NTTIME domain_create_time; - uint64_t modified_count_at_last_promotion; -}; - -union samr_DomainInfo { - struct samr_DomInfo1 info1;/* [case] */ - struct samr_DomGeneralInformation general;/* [case(2)] */ - struct samr_DomInfo3 info3;/* [case(3)] */ - struct samr_DomOEMInformation oem;/* [case(4)] */ - struct samr_DomInfo5 info5;/* [case(5)] */ - struct samr_DomInfo6 info6;/* [case(6)] */ - struct samr_DomInfo7 info7;/* [case(7)] */ - struct samr_DomInfo8 info8;/* [case(8)] */ - struct samr_DomInfo9 info9;/* [case(9)] */ - struct samr_DomGeneralInformation2 general2;/* [case(11)] */ - struct samr_DomInfo12 info12;/* [case(12)] */ - struct samr_DomInfo13 info13;/* [case(13)] */ -}/* [switch_type(uint16)] */; - -struct samr_Ids { - uint32_t count;/* [range(0,1024)] */ - uint32_t *ids;/* [unique,size_is(count)] */ -}; - -/* bitmap samr_GroupAttrs */ -#define SE_GROUP_MANDATORY ( 0x00000001 ) -#define SE_GROUP_ENABLED_BY_DEFAULT ( 0x00000002 ) -#define SE_GROUP_ENABLED ( 0x00000004 ) -#define SE_GROUP_OWNER ( 0x00000008 ) -#define SE_GROUP_USE_FOR_DENY_ONLY ( 0x00000010 ) -#define SE_GROUP_RESOURCE ( 0x20000000 ) -#define SE_GROUP_LOGON_ID ( 0xC0000000 ) - -struct samr_GroupInfoAll { - struct lsa_String name; - uint32_t attributes; - uint32_t num_members; - struct lsa_String description; -}; - -struct samr_GroupInfoAttributes { - uint32_t attributes; -}; - -struct samr_GroupInfoDescription { - struct lsa_String description; -}; - -enum samr_GroupInfoEnum -#ifndef USE_UINT_ENUMS - { - GROUPINFOALL=(int)(1), - GROUPINFONAME=(int)(2), - GROUPINFOATTRIBUTES=(int)(3), - GROUPINFODESCRIPTION=(int)(4), - GROUPINFOALL2=(int)(5) -} -#else - { __donnot_use_enum_samr_GroupInfoEnum=0x7FFFFFFF} -#define GROUPINFOALL ( 1 ) -#define GROUPINFONAME ( 2 ) -#define GROUPINFOATTRIBUTES ( 3 ) -#define GROUPINFODESCRIPTION ( 4 ) -#define GROUPINFOALL2 ( 5 ) -#endif -; - -union samr_GroupInfo { - struct samr_GroupInfoAll all;/* [case(GROUPINFOALL)] */ - struct lsa_String name;/* [case(GROUPINFONAME)] */ - struct samr_GroupInfoAttributes attributes;/* [case(GROUPINFOATTRIBUTES)] */ - struct lsa_String description;/* [case(GROUPINFODESCRIPTION)] */ - struct samr_GroupInfoAll all2;/* [case(GROUPINFOALL2)] */ -}/* [switch_type(samr_GroupInfoEnum)] */; - -struct samr_RidTypeArray { - uint32_t count; - uint32_t *rids;/* [unique,size_is(count)] */ - uint32_t *types;/* [unique,size_is(count)] */ -}; - -struct samr_AliasInfoAll { - struct lsa_String name; - uint32_t num_members; - struct lsa_String description; -}; - -enum samr_AliasInfoEnum -#ifndef USE_UINT_ENUMS - { - ALIASINFOALL=(int)(1), - ALIASINFONAME=(int)(2), - ALIASINFODESCRIPTION=(int)(3) -} -#else - { __donnot_use_enum_samr_AliasInfoEnum=0x7FFFFFFF} -#define ALIASINFOALL ( 1 ) -#define ALIASINFONAME ( 2 ) -#define ALIASINFODESCRIPTION ( 3 ) -#endif -; - -union samr_AliasInfo { - struct samr_AliasInfoAll all;/* [case(ALIASINFOALL)] */ - struct lsa_String name;/* [case(ALIASINFONAME)] */ - struct lsa_String description;/* [case(ALIASINFODESCRIPTION)] */ -}/* [switch_type(samr_AliasInfoEnum)] */; - -enum samr_UserInfoLevel -#ifndef USE_UINT_ENUMS - { - UserGeneralInformation=(int)(1), - UserPreferencesInformation=(int)(2), - UserLogonInformation=(int)(3), - UserLogonHoursInformation=(int)(4), - UserAccountInformation=(int)(5), - UserNameInformation=(int)(6), - UserAccountNameInformation=(int)(7), - UserFullNameInformation=(int)(8), - UserPrimaryGroupInformation=(int)(9), - UserHomeInformation=(int)(10), - UserScriptInformation=(int)(11), - UserProfileInformation=(int)(12), - UserAdminCommentInformation=(int)(13), - UserWorkStationsInformation=(int)(14), - UserControlInformation=(int)(16), - UserExpiresInformation=(int)(17), - UserInternal1Information=(int)(18), - UserParametersInformation=(int)(20), - UserAllInformation=(int)(21), - UserInternal4Information=(int)(23), - UserInternal5Information=(int)(24), - UserInternal4InformationNew=(int)(25), - UserInternal5InformationNew=(int)(26) -} -#else - { __donnot_use_enum_samr_UserInfoLevel=0x7FFFFFFF} -#define UserGeneralInformation ( 1 ) -#define UserPreferencesInformation ( 2 ) -#define UserLogonInformation ( 3 ) -#define UserLogonHoursInformation ( 4 ) -#define UserAccountInformation ( 5 ) -#define UserNameInformation ( 6 ) -#define UserAccountNameInformation ( 7 ) -#define UserFullNameInformation ( 8 ) -#define UserPrimaryGroupInformation ( 9 ) -#define UserHomeInformation ( 10 ) -#define UserScriptInformation ( 11 ) -#define UserProfileInformation ( 12 ) -#define UserAdminCommentInformation ( 13 ) -#define UserWorkStationsInformation ( 14 ) -#define UserControlInformation ( 16 ) -#define UserExpiresInformation ( 17 ) -#define UserInternal1Information ( 18 ) -#define UserParametersInformation ( 20 ) -#define UserAllInformation ( 21 ) -#define UserInternal4Information ( 23 ) -#define UserInternal5Information ( 24 ) -#define UserInternal4InformationNew ( 25 ) -#define UserInternal5InformationNew ( 26 ) -#endif -; - -struct samr_UserInfo1 { - struct lsa_String account_name; - struct lsa_String full_name; - uint32_t primary_gid; - struct lsa_String description; - struct lsa_String comment; -}; - -struct samr_UserInfo2 { - struct lsa_String comment; - struct lsa_String unknown; - uint16_t country_code; - uint16_t code_page; -}; - -struct samr_LogonHours { - uint16_t units_per_week; - uint8_t *bits;/* [unique,length_is(units_per_week/8),size_is(1260)] */ -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct samr_UserInfo3 { - struct lsa_String account_name; - struct lsa_String full_name; - uint32_t rid; - uint32_t primary_gid; - struct lsa_String home_directory; - struct lsa_String home_drive; - struct lsa_String logon_script; - struct lsa_String profile_path; - struct lsa_String workstations; - NTTIME last_logon; - NTTIME last_logoff; - NTTIME last_password_change; - NTTIME allow_password_change; - NTTIME force_password_change; - struct samr_LogonHours logon_hours; - uint16_t bad_password_count; - uint16_t logon_count; - uint32_t acct_flags; -}; - -struct samr_UserInfo4 { - struct samr_LogonHours logon_hours; -}; - -struct samr_UserInfo5 { - struct lsa_String account_name; - struct lsa_String full_name; - uint32_t rid; - uint32_t primary_gid; - struct lsa_String home_directory; - struct lsa_String home_drive; - struct lsa_String logon_script; - struct lsa_String profile_path; - struct lsa_String description; - struct lsa_String workstations; - NTTIME last_logon; - NTTIME last_logoff; - struct samr_LogonHours logon_hours; - uint16_t bad_password_count; - uint16_t logon_count; - NTTIME last_password_change; - NTTIME acct_expiry; - uint32_t acct_flags; -}; - -struct samr_UserInfo6 { - struct lsa_String account_name; - struct lsa_String full_name; -}; - -struct samr_UserInfo7 { - struct lsa_String account_name; -}; - -struct samr_UserInfo8 { - struct lsa_String full_name; -}; - -struct samr_UserInfo9 { - uint32_t primary_gid; -}; - -struct samr_UserInfo10 { - struct lsa_String home_directory; - struct lsa_String home_drive; -}; - -struct samr_UserInfo11 { - struct lsa_String logon_script; -}; - -struct samr_UserInfo12 { - struct lsa_String profile_path; -}; - -struct samr_UserInfo13 { - struct lsa_String description; -}; - -struct samr_UserInfo14 { - struct lsa_String workstations; -}; - -struct samr_UserInfo16 { - uint32_t acct_flags; -}; - -struct samr_UserInfo17 { - NTTIME acct_expiry; -}; - -struct samr_Password { - uint8_t hash[16]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct samr_UserInfo18 { - struct samr_Password nt_pwd; - struct samr_Password lm_pwd; - uint8_t nt_pwd_active; - uint8_t lm_pwd_active; - uint8_t password_expired; -}; - -struct samr_UserInfo20 { - struct lsa_BinaryString parameters; -}; - -/* bitmap samr_FieldsPresent */ -#define SAMR_FIELD_ACCOUNT_NAME ( 0x00000001 ) -#define SAMR_FIELD_FULL_NAME ( 0x00000002 ) -#define SAMR_FIELD_RID ( 0x00000004 ) -#define SAMR_FIELD_PRIMARY_GID ( 0x00000008 ) -#define SAMR_FIELD_DESCRIPTION ( 0x00000010 ) -#define SAMR_FIELD_COMMENT ( 0x00000020 ) -#define SAMR_FIELD_HOME_DIRECTORY ( 0x00000040 ) -#define SAMR_FIELD_HOME_DRIVE ( 0x00000080 ) -#define SAMR_FIELD_LOGON_SCRIPT ( 0x00000100 ) -#define SAMR_FIELD_PROFILE_PATH ( 0x00000200 ) -#define SAMR_FIELD_WORKSTATIONS ( 0x00000400 ) -#define SAMR_FIELD_LAST_LOGON ( 0x00000800 ) -#define SAMR_FIELD_LAST_LOGOFF ( 0x00001000 ) -#define SAMR_FIELD_LOGON_HOURS ( 0x00002000 ) -#define SAMR_FIELD_BAD_PWD_COUNT ( 0x00004000 ) -#define SAMR_FIELD_NUM_LOGONS ( 0x00008000 ) -#define SAMR_FIELD_ALLOW_PWD_CHANGE ( 0x00010000 ) -#define SAMR_FIELD_FORCE_PWD_CHANGE ( 0x00020000 ) -#define SAMR_FIELD_LAST_PWD_CHANGE ( 0x00040000 ) -#define SAMR_FIELD_ACCT_EXPIRY ( 0x00080000 ) -#define SAMR_FIELD_ACCT_FLAGS ( 0x00100000 ) -#define SAMR_FIELD_PARAMETERS ( 0x00200000 ) -#define SAMR_FIELD_COUNTRY_CODE ( 0x00400000 ) -#define SAMR_FIELD_CODE_PAGE ( 0x00800000 ) -#define SAMR_FIELD_NT_PASSWORD_PRESENT ( 0x01000000 ) -#define SAMR_FIELD_LM_PASSWORD_PRESENT ( 0x02000000 ) -#define SAMR_FIELD_PRIVATE_DATA ( 0x04000000 ) -#define SAMR_FIELD_EXPIRED_FLAG ( 0x08000000 ) -#define SAMR_FIELD_SEC_DESC ( 0x10000000 ) -#define SAMR_FIELD_OWF_PWD ( 0x20000000 ) - -struct samr_UserInfo21 { - NTTIME last_logon; - NTTIME last_logoff; - NTTIME last_password_change; - NTTIME acct_expiry; - NTTIME allow_password_change; - NTTIME force_password_change; - struct lsa_String account_name; - struct lsa_String full_name; - struct lsa_String home_directory; - struct lsa_String home_drive; - struct lsa_String logon_script; - struct lsa_String profile_path; - struct lsa_String description; - struct lsa_String workstations; - struct lsa_String comment; - struct lsa_BinaryString parameters; - struct lsa_BinaryString lm_owf_password; - struct lsa_BinaryString nt_owf_password; - struct lsa_String unknown3; - uint32_t buf_count; - uint8_t *buffer;/* [unique,size_is(buf_count)] */ - uint32_t rid; - uint32_t primary_gid; - uint32_t acct_flags; - uint32_t fields_present; - struct samr_LogonHours logon_hours; - uint16_t bad_password_count; - uint16_t logon_count; - uint16_t country_code; - uint16_t code_page; - uint8_t lm_password_set; - uint8_t nt_password_set; - uint8_t password_expired; - uint8_t unknown4; -}; - -struct samr_CryptPassword { - uint8_t data[516]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct samr_UserInfo23 { - struct samr_UserInfo21 info; - struct samr_CryptPassword password; -}; - -struct samr_UserInfo24 { - struct samr_CryptPassword password; - uint8_t password_expired; -}; - -struct samr_CryptPasswordEx { - uint8_t data[532]; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct samr_UserInfo25 { - struct samr_UserInfo21 info; - struct samr_CryptPasswordEx password; -}; - -struct samr_UserInfo26 { - struct samr_CryptPasswordEx password; - uint8_t password_expired; -}; - -union samr_UserInfo { - struct samr_UserInfo1 info1;/* [case] */ - struct samr_UserInfo2 info2;/* [case(2)] */ - struct samr_UserInfo3 info3;/* [case(3)] */ - struct samr_UserInfo4 info4;/* [case(4)] */ - struct samr_UserInfo5 info5;/* [case(5)] */ - struct samr_UserInfo6 info6;/* [case(6)] */ - struct samr_UserInfo7 info7;/* [case(7)] */ - struct samr_UserInfo8 info8;/* [case(8)] */ - struct samr_UserInfo9 info9;/* [case(9)] */ - struct samr_UserInfo10 info10;/* [case(10)] */ - struct samr_UserInfo11 info11;/* [case(11)] */ - struct samr_UserInfo12 info12;/* [case(12)] */ - struct samr_UserInfo13 info13;/* [case(13)] */ - struct samr_UserInfo14 info14;/* [case(14)] */ - struct samr_UserInfo16 info16;/* [case(16)] */ - struct samr_UserInfo17 info17;/* [case(17)] */ - struct samr_UserInfo18 info18;/* [case(18)] */ - struct samr_UserInfo20 info20;/* [case(20)] */ - struct samr_UserInfo21 info21;/* [case(21)] */ - struct samr_UserInfo23 info23;/* [case(23)] */ - struct samr_UserInfo24 info24;/* [case(24)] */ - struct samr_UserInfo25 info25;/* [case(25)] */ - struct samr_UserInfo26 info26;/* [case(26)] */ -}/* [switch_type(uint16)] */; - -struct samr_RidWithAttribute { - uint32_t rid; - uint32_t attributes; -}/* [public] */; - -struct samr_RidWithAttributeArray { - uint32_t count; - struct samr_RidWithAttribute *rids;/* [unique,size_is(count)] */ -}/* [public] */; - -struct samr_DispEntryGeneral { - uint32_t idx; - uint32_t rid; - uint32_t acct_flags; - struct lsa_String account_name; - struct lsa_String description; - struct lsa_String full_name; -}; - -struct samr_DispInfoGeneral { - uint32_t count; - struct samr_DispEntryGeneral *entries;/* [unique,size_is(count)] */ -}; - -struct samr_DispEntryFull { - uint32_t idx; - uint32_t rid; - uint32_t acct_flags; - struct lsa_String account_name; - struct lsa_String description; -}; - -struct samr_DispInfoFull { - uint32_t count; - struct samr_DispEntryFull *entries;/* [unique,size_is(count)] */ -}; - -struct samr_DispEntryFullGroup { - uint32_t idx; - uint32_t rid; - uint32_t acct_flags; - struct lsa_String account_name; - struct lsa_String description; -}; - -struct samr_DispInfoFullGroups { - uint32_t count; - struct samr_DispEntryFullGroup *entries;/* [unique,size_is(count)] */ -}; - -struct samr_DispEntryAscii { - uint32_t idx; - struct lsa_AsciiStringLarge account_name; -}; - -struct samr_DispInfoAscii { - uint32_t count; - struct samr_DispEntryAscii *entries;/* [unique,size_is(count)] */ -}; - -union samr_DispInfo { - struct samr_DispInfoGeneral info1;/* [case] */ - struct samr_DispInfoFull info2;/* [case(2)] */ - struct samr_DispInfoFullGroups info3;/* [case(3)] */ - struct samr_DispInfoAscii info4;/* [case(4)] */ - struct samr_DispInfoAscii info5;/* [case(5)] */ -}/* [switch_type(uint16)] */; - -struct samr_PwInfo { - uint16_t min_password_length; - uint32_t password_properties; -}; - -enum samr_ConnectVersion -#ifndef USE_UINT_ENUMS - { - SAMR_CONNECT_PRE_W2K=(int)(1), - SAMR_CONNECT_W2K=(int)(2), - SAMR_CONNECT_AFTER_W2K=(int)(3) -} -#else - { __donnot_use_enum_samr_ConnectVersion=0x7FFFFFFF} -#define SAMR_CONNECT_PRE_W2K ( 1 ) -#define SAMR_CONNECT_W2K ( 2 ) -#define SAMR_CONNECT_AFTER_W2K ( 3 ) -#endif -; - -enum samPwdChangeReason -#ifndef USE_UINT_ENUMS - { - SAM_PWD_CHANGE_NO_ERROR=(int)(0), - SAM_PWD_CHANGE_PASSWORD_TOO_SHORT=(int)(1), - SAM_PWD_CHANGE_PWD_IN_HISTORY=(int)(2), - SAM_PWD_CHANGE_USERNAME_IN_PASSWORD=(int)(3), - SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD=(int)(4), - SAM_PWD_CHANGE_NOT_COMPLEX=(int)(5), - SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT=(int)(6), - SAM_PWD_CHANGE_FAILED_BY_FILTER=(int)(7), - SAM_PWD_CHANGE_PASSWORD_TOO_LONG=(int)(8) -} -#else - { __donnot_use_enum_samPwdChangeReason=0x7FFFFFFF} -#define SAM_PWD_CHANGE_NO_ERROR ( 0 ) -#define SAM_PWD_CHANGE_PASSWORD_TOO_SHORT ( 1 ) -#define SAM_PWD_CHANGE_PWD_IN_HISTORY ( 2 ) -#define SAM_PWD_CHANGE_USERNAME_IN_PASSWORD ( 3 ) -#define SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD ( 4 ) -#define SAM_PWD_CHANGE_NOT_COMPLEX ( 5 ) -#define SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT ( 6 ) -#define SAM_PWD_CHANGE_FAILED_BY_FILTER ( 7 ) -#define SAM_PWD_CHANGE_PASSWORD_TOO_LONG ( 8 ) -#endif -; - -struct userPwdChangeFailureInformation { - enum samPwdChangeReason extendedFailureReason; - const char *filterModuleName;/* [unique,charset(UTF16)] */ -}; - -struct samr_ConnectInfo1 { - enum samr_ConnectVersion client_version; - uint32_t unknown2; -}; - -union samr_ConnectInfo { - struct samr_ConnectInfo1 info1;/* [case] */ -}; - -/* bitmap samr_ValidateFieldsPresent */ -#define SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET ( 0x00000001 ) -#define SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME ( 0x00000002 ) -#define SAMR_VALIDATE_FIELD_LOCKOUT_TIME ( 0x00000004 ) -#define SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT ( 0x00000008 ) -#define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH ( 0x00000010 ) -#define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY ( 0x00000020 ) - -enum samr_ValidatePasswordLevel -#ifndef USE_UINT_ENUMS - { - NetValidateAuthentication=(int)(1), - NetValidatePasswordChange=(int)(2), - NetValidatePasswordReset=(int)(3) -} -#else - { __donnot_use_enum_samr_ValidatePasswordLevel=0x7FFFFFFF} -#define NetValidateAuthentication ( 1 ) -#define NetValidatePasswordChange ( 2 ) -#define NetValidatePasswordReset ( 3 ) -#endif -; - -enum samr_ValidationStatus -#ifndef USE_UINT_ENUMS - { - SAMR_VALIDATION_STATUS_SUCCESS=(int)(0), - SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE=(int)(1), - SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT=(int)(2), - SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED=(int)(3), - SAMR_VALIDATION_STATUS_BAD_PASSWORD=(int)(4), - SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT=(int)(5), - SAMR_VALIDATION_STATUS_PWD_TOO_SHORT=(int)(6), - SAMR_VALIDATION_STATUS_PWD_TOO_LONG=(int)(7), - SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH=(int)(8), - SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT=(int)(9), - SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR=(int)(10) -} -#else - { __donnot_use_enum_samr_ValidationStatus=0x7FFFFFFF} -#define SAMR_VALIDATION_STATUS_SUCCESS ( 0 ) -#define SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE ( 1 ) -#define SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT ( 2 ) -#define SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED ( 3 ) -#define SAMR_VALIDATION_STATUS_BAD_PASSWORD ( 4 ) -#define SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT ( 5 ) -#define SAMR_VALIDATION_STATUS_PWD_TOO_SHORT ( 6 ) -#define SAMR_VALIDATION_STATUS_PWD_TOO_LONG ( 7 ) -#define SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH ( 8 ) -#define SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT ( 9 ) -#define SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR ( 10 ) -#endif -; - -struct samr_ValidationBlob { - uint32_t length; - uint8_t *data;/* [unique,size_is(length)] */ -}; - -struct samr_ValidatePasswordInfo { - uint32_t fields_present; - NTTIME last_password_change; - NTTIME bad_password_time; - NTTIME lockout_time; - uint32_t bad_pwd_count; - uint32_t pwd_history_len; - struct samr_ValidationBlob *pwd_history;/* [unique,size_is(pwd_history_len)] */ -}; - -struct samr_ValidatePasswordRepCtr { - struct samr_ValidatePasswordInfo info; - enum samr_ValidationStatus status; -}; - -union samr_ValidatePasswordRep { - struct samr_ValidatePasswordRepCtr ctr1;/* [case] */ - struct samr_ValidatePasswordRepCtr ctr2;/* [case(2)] */ - struct samr_ValidatePasswordRepCtr ctr3;/* [case(3)] */ -}/* [switch_type(uint16)] */; - -struct samr_ValidatePasswordReq3 { - struct samr_ValidatePasswordInfo info; - struct lsa_StringLarge password; - struct lsa_StringLarge account; - struct samr_ValidationBlob hash; - uint8_t pwd_must_change_at_next_logon; - uint8_t clear_lockout; -}; - -struct samr_ValidatePasswordReq2 { - struct samr_ValidatePasswordInfo info; - struct lsa_StringLarge password; - struct lsa_StringLarge account; - struct samr_ValidationBlob hash; - uint8_t password_matched; -}; - -struct samr_ValidatePasswordReq1 { - struct samr_ValidatePasswordInfo info; - uint8_t password_matched; -}; - -union samr_ValidatePasswordReq { - struct samr_ValidatePasswordReq1 req1;/* [case] */ - struct samr_ValidatePasswordReq2 req2;/* [case(2)] */ - struct samr_ValidatePasswordReq3 req3;/* [case(3)] */ -}/* [switch_type(uint16)] */; - - -struct samr_Connect { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *connect_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_Close { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetSecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t sec_info; - struct sec_desc_buf *sdbuf;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_QuerySecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t sec_info; - } in; - - struct { - struct sec_desc_buf **sdbuf;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_Shutdown { - struct { - struct policy_handle *connect_handle;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_LookupDomain { - struct { - struct policy_handle *connect_handle;/* [ref] */ - struct lsa_String *domain_name;/* [ref] */ - } in; - - struct { - struct dom_sid2 **sid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_EnumDomains { - struct { - struct policy_handle *connect_handle;/* [ref] */ - uint32_t buf_size; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct samr_SamArray **sam;/* [ref] */ - uint32_t *num_entries;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_OpenDomain { - struct { - struct policy_handle *connect_handle;/* [ref] */ - uint32_t access_mask; - struct dom_sid2 *sid;/* [ref] */ - } in; - - struct { - struct policy_handle *domain_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryDomainInfo { - struct { - struct policy_handle *domain_handle;/* [ref] */ - enum samr_DomainInfoClass level; - } in; - - struct { - union samr_DomainInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetDomainInfo { - struct { - struct policy_handle *domain_handle;/* [ref] */ - enum samr_DomainInfoClass level; - union samr_DomainInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_CreateDomainGroup { - struct { - struct policy_handle *domain_handle;/* [ref] */ - struct lsa_String *name;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *group_handle;/* [ref] */ - uint32_t *rid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_EnumDomainGroups { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t max_size; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct samr_SamArray **sam;/* [ref] */ - uint32_t *num_entries;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_CreateUser { - struct { - struct policy_handle *domain_handle;/* [ref] */ - struct lsa_String *account_name;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *user_handle;/* [ref] */ - uint32_t *rid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_EnumDomainUsers { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t acct_flags; - uint32_t max_size; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct samr_SamArray **sam;/* [ref] */ - uint32_t *num_entries;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_CreateDomAlias { - struct { - struct policy_handle *domain_handle;/* [ref] */ - struct lsa_String *alias_name;/* [ref] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *alias_handle;/* [ref] */ - uint32_t *rid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_EnumDomainAliases { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t max_size; - uint32_t *resume_handle;/* [ref] */ - } in; - - struct { - struct samr_SamArray **sam;/* [ref] */ - uint32_t *num_entries;/* [ref] */ - uint32_t *resume_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_GetAliasMembership { - struct { - struct policy_handle *domain_handle;/* [ref] */ - struct lsa_SidArray *sids;/* [ref] */ - } in; - - struct { - struct samr_Ids *rids;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_LookupNames { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t num_names;/* [range(0,1000)] */ - struct lsa_String *names;/* [length_is(num_names),size_is(1000)] */ - } in; - - struct { - struct samr_Ids *rids;/* [ref] */ - struct samr_Ids *types;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_LookupRids { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t num_rids;/* [range(0,1000)] */ - uint32_t *rids;/* [length_is(num_rids),size_is(1000)] */ - } in; - - struct { - struct lsa_Strings *names;/* [ref] */ - struct samr_Ids *types;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_OpenGroup { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t access_mask; - uint32_t rid; - } in; - - struct { - struct policy_handle *group_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryGroupInfo { - struct { - struct policy_handle *group_handle;/* [ref] */ - enum samr_GroupInfoEnum level; - } in; - - struct { - union samr_GroupInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetGroupInfo { - struct { - struct policy_handle *group_handle;/* [ref] */ - enum samr_GroupInfoEnum level; - union samr_GroupInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_AddGroupMember { - struct { - struct policy_handle *group_handle;/* [ref] */ - uint32_t rid; - uint32_t flags; - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_DeleteDomainGroup { - struct { - struct policy_handle *group_handle;/* [ref] */ - } in; - - struct { - struct policy_handle *group_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_DeleteGroupMember { - struct { - struct policy_handle *group_handle;/* [ref] */ - uint32_t rid; - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_QueryGroupMember { - struct { - struct policy_handle *group_handle;/* [ref] */ - } in; - - struct { - struct samr_RidTypeArray **rids;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetMemberAttributesOfGroup { - struct { - struct policy_handle *group_handle;/* [ref] */ - uint32_t unknown1; - uint32_t unknown2; - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_OpenAlias { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t access_mask; - uint32_t rid; - } in; - - struct { - struct policy_handle *alias_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryAliasInfo { - struct { - struct policy_handle *alias_handle;/* [ref] */ - enum samr_AliasInfoEnum level; - } in; - - struct { - union samr_AliasInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetAliasInfo { - struct { - struct policy_handle *alias_handle;/* [ref] */ - enum samr_AliasInfoEnum level; - union samr_AliasInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_DeleteDomAlias { - struct { - struct policy_handle *alias_handle;/* [ref] */ - } in; - - struct { - struct policy_handle *alias_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_AddAliasMember { - struct { - struct policy_handle *alias_handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_DeleteAliasMember { - struct { - struct policy_handle *alias_handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_GetMembersInAlias { - struct { - struct policy_handle *alias_handle;/* [ref] */ - } in; - - struct { - struct lsa_SidArray *sids;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_OpenUser { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t access_mask; - uint32_t rid; - } in; - - struct { - struct policy_handle *user_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_DeleteUser { - struct { - struct policy_handle *user_handle;/* [ref] */ - } in; - - struct { - struct policy_handle *user_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryUserInfo { - struct { - struct policy_handle *user_handle;/* [ref] */ - enum samr_UserInfoLevel level; - } in; - - struct { - union samr_UserInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetUserInfo { - struct { - struct policy_handle *user_handle;/* [ref] */ - enum samr_UserInfoLevel level; - union samr_UserInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_ChangePasswordUser { - struct { - struct policy_handle *user_handle;/* [ref] */ - uint8_t lm_present; - struct samr_Password *old_lm_crypted;/* [unique] */ - struct samr_Password *new_lm_crypted;/* [unique] */ - uint8_t nt_present; - struct samr_Password *old_nt_crypted;/* [unique] */ - struct samr_Password *new_nt_crypted;/* [unique] */ - uint8_t cross1_present; - struct samr_Password *nt_cross;/* [unique] */ - uint8_t cross2_present; - struct samr_Password *lm_cross;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_GetGroupsForUser { - struct { - struct policy_handle *user_handle;/* [ref] */ - } in; - - struct { - struct samr_RidWithAttributeArray **rids;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryDisplayInfo { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint16_t level; - uint32_t start_idx; - uint32_t max_entries; - uint32_t buf_size; - } in; - - struct { - uint32_t *total_size;/* [ref] */ - uint32_t *returned_size;/* [ref] */ - union samr_DispInfo *info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_GetDisplayEnumerationIndex { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint16_t level; - struct lsa_String *name;/* [ref] */ - } in; - - struct { - uint32_t *idx;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_TestPrivateFunctionsDomain { - struct { - struct policy_handle *domain_handle;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_TestPrivateFunctionsUser { - struct { - struct policy_handle *user_handle;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_GetUserPwInfo { - struct { - struct policy_handle *user_handle;/* [ref] */ - } in; - - struct { - struct samr_PwInfo *info;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_RemoveMemberFromForeignDomain { - struct { - struct policy_handle *domain_handle;/* [ref] */ - struct dom_sid2 *sid;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_QueryDomainInfo2 { - struct { - struct policy_handle *domain_handle;/* [ref] */ - enum samr_DomainInfoClass level; - } in; - - struct { - union samr_DomainInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryUserInfo2 { - struct { - struct policy_handle *user_handle;/* [ref] */ - enum samr_UserInfoLevel level; - } in; - - struct { - union samr_UserInfo **info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryDisplayInfo2 { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint16_t level; - uint32_t start_idx; - uint32_t max_entries; - uint32_t buf_size; - } in; - - struct { - uint32_t *total_size;/* [ref] */ - uint32_t *returned_size;/* [ref] */ - union samr_DispInfo *info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_GetDisplayEnumerationIndex2 { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint16_t level; - struct lsa_String *name;/* [ref] */ - } in; - - struct { - uint32_t *idx;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_CreateUser2 { - struct { - struct policy_handle *domain_handle;/* [ref] */ - struct lsa_String *account_name;/* [ref] */ - uint32_t acct_flags; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *user_handle;/* [ref] */ - uint32_t *access_granted;/* [ref] */ - uint32_t *rid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_QueryDisplayInfo3 { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint16_t level; - uint32_t start_idx; - uint32_t max_entries; - uint32_t buf_size; - } in; - - struct { - uint32_t *total_size;/* [ref] */ - uint32_t *returned_size;/* [ref] */ - union samr_DispInfo *info;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - - -struct samr_AddMultipleMembersToAlias { - struct { - struct policy_handle *alias_handle;/* [ref] */ - struct lsa_SidArray *sids;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_RemoveMultipleMembersFromAlias { - struct { - struct policy_handle *alias_handle;/* [ref] */ - struct lsa_SidArray *sids;/* [ref] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_OemChangePasswordUser2 { - struct { - struct lsa_AsciiString *server;/* [unique] */ - struct lsa_AsciiString *account;/* [ref] */ - struct samr_CryptPassword *password;/* [unique] */ - struct samr_Password *hash;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_ChangePasswordUser2 { - struct { - struct lsa_String *server;/* [unique] */ - struct lsa_String *account;/* [ref] */ - struct samr_CryptPassword *nt_password;/* [unique] */ - struct samr_Password *nt_verifier;/* [unique] */ - uint8_t lm_change; - struct samr_CryptPassword *lm_password;/* [unique] */ - struct samr_Password *lm_verifier;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_GetDomPwInfo { - struct { - struct lsa_String *domain_name;/* [unique] */ - } in; - - struct { - struct samr_PwInfo *info;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_Connect2 { - struct { - const char *system_name;/* [unique,charset(UTF16)] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *connect_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetUserInfo2 { - struct { - struct policy_handle *user_handle;/* [ref] */ - enum samr_UserInfoLevel level; - union samr_UserInfo *info;/* [ref,switch_is(level)] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_SetBootKeyInformation { - struct { - struct policy_handle *connect_handle;/* [ref] */ - uint32_t unknown1; - uint32_t unknown2; - uint32_t unknown3; - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_GetBootKeyInformation { - struct { - struct policy_handle *domain_handle;/* [ref] */ - } in; - - struct { - uint32_t *unknown;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_Connect3 { - struct { - const char *system_name;/* [unique,charset(UTF16)] */ - uint32_t unknown; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *connect_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_Connect4 { - struct { - const char *system_name;/* [unique,charset(UTF16)] */ - enum samr_ConnectVersion client_version; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *connect_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_ChangePasswordUser3 { - struct { - struct lsa_String *server;/* [unique] */ - struct lsa_String *account;/* [ref] */ - struct samr_CryptPassword *nt_password;/* [unique] */ - struct samr_Password *nt_verifier;/* [unique] */ - uint8_t lm_change; - struct samr_CryptPassword *lm_password;/* [unique] */ - struct samr_Password *lm_verifier;/* [unique] */ - struct samr_CryptPassword *password3;/* [unique] */ - } in; - - struct { - struct samr_DomInfo1 **dominfo;/* [ref] */ - struct userPwdChangeFailureInformation **reject;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_Connect5 { - struct { - const char *system_name;/* [unique,charset(UTF16)] */ - uint32_t access_mask; - uint32_t level_in; - union samr_ConnectInfo *info_in;/* [ref,switch_is(level_in)] */ - } in; - - struct { - uint32_t *level_out;/* [ref] */ - union samr_ConnectInfo *info_out;/* [ref,switch_is(*level_out)] */ - struct policy_handle *connect_handle;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_RidToSid { - struct { - struct policy_handle *domain_handle;/* [ref] */ - uint32_t rid; - } in; - - struct { - struct dom_sid2 **sid;/* [ref] */ - NTSTATUS result; - } out; - -}; - - -struct samr_SetDsrmPassword { - struct { - struct lsa_String *name;/* [unique] */ - uint32_t unknown; - struct samr_Password *hash;/* [unique] */ - } in; - - struct { - NTSTATUS result; - } out; - -}; - - -struct samr_ValidatePassword { - struct { - enum samr_ValidatePasswordLevel level; - union samr_ValidatePasswordReq *req;/* [ref,switch_is(level)] */ - } in; - - struct { - union samr_ValidatePasswordRep **rep;/* [ref,switch_is(level)] */ - NTSTATUS result; - } out; - -}; - -#endif /* _HEADER_samr */ diff --git a/librpc/gen_ndr/schannel.h b/librpc/gen_ndr/schannel.h deleted file mode 100644 index 4aab8243aff..00000000000 --- a/librpc/gen_ndr/schannel.h +++ /dev/null @@ -1,113 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/netlogon.h" -#include "librpc/gen_ndr/nbt.h" -#ifndef _HEADER_schannel -#define _HEADER_schannel - -struct netlogon_creds_CredentialState { - uint32_t negotiate_flags; - uint8_t session_key[16]; - uint32_t sequence; - struct netr_Credential seed; - struct netr_Credential client; - struct netr_Credential server; - enum netr_SchannelType secure_channel_type; - const char *computer_name;/* [charset(UTF8)] */ - const char *account_name;/* [charset(UTF8)] */ - struct dom_sid *sid;/* [unique] */ -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -enum NL_AUTH_MESSAGE_TYPE -#ifndef USE_UINT_ENUMS - { - NL_NEGOTIATE_REQUEST=(int)(0x00000000), - NL_NEGOTIATE_RESPONSE=(int)(0x00000001) -} -#else - { __donnot_use_enum_NL_AUTH_MESSAGE_TYPE=0x7FFFFFFF} -#define NL_NEGOTIATE_REQUEST ( 0x00000000 ) -#define NL_NEGOTIATE_RESPONSE ( 0x00000001 ) -#endif -; - -/* bitmap NL_AUTH_MESSAGE_FLAGS */ -#define NL_FLAG_OEM_NETBIOS_DOMAIN_NAME ( 0x00000001 ) -#define NL_FLAG_OEM_NETBIOS_COMPUTER_NAME ( 0x00000002 ) -#define NL_FLAG_UTF8_DNS_DOMAIN_NAME ( 0x00000004 ) -#define NL_FLAG_UTF8_DNS_HOST_NAME ( 0x00000008 ) -#define NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME ( 0x00000010 ) - -union NL_AUTH_MESSAGE_BUFFER { - const char * a;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),case(NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)] */ - const char * u;/* [case(NL_FLAG_UTF8_DNS_DOMAIN_NAME)] */ -}/* [noprint,nodiscriminant,public] */; - -union NL_AUTH_MESSAGE_BUFFER_REPLY { - uint32_t dummy;/* [case(NL_NEGOTIATE_RESPONSE)] */ -}/* [noprint,nodiscriminant,public] */; - -struct NL_AUTH_MESSAGE { - enum NL_AUTH_MESSAGE_TYPE MessageType; - uint32_t Flags; - union NL_AUTH_MESSAGE_BUFFER oem_netbios_domain;/* [switch_is(Flags&NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)] */ - union NL_AUTH_MESSAGE_BUFFER oem_netbios_computer;/* [switch_is(Flags&NL_FLAG_OEM_NETBIOS_COMPUTER_NAME)] */ - union NL_AUTH_MESSAGE_BUFFER utf8_dns_domain;/* [switch_is(Flags&NL_FLAG_UTF8_DNS_DOMAIN_NAME)] */ - union NL_AUTH_MESSAGE_BUFFER utf8_dns_host;/* [switch_is(Flags&NL_FLAG_UTF8_DNS_HOST_NAME)] */ - union NL_AUTH_MESSAGE_BUFFER utf8_netbios_computer;/* [switch_is(Flags&NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME)] */ - union NL_AUTH_MESSAGE_BUFFER_REPLY Buffer;/* [switch_is(MessageType&NL_NEGOTIATE_RESPONSE)] */ -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -enum NL_SIGNATURE_ALGORITHM -#ifndef USE_UINT_ENUMS - { - NL_SIGN_HMAC_SHA256=(int)(0x0013), - NL_SIGN_HMAC_MD5=(int)(0x0077) -} -#else - { __donnot_use_enum_NL_SIGNATURE_ALGORITHM=0x7FFFFFFF} -#define NL_SIGN_HMAC_SHA256 ( 0x0013 ) -#define NL_SIGN_HMAC_MD5 ( 0x0077 ) -#endif -; - -enum NL_SEAL_ALGORITHM -#ifndef USE_UINT_ENUMS - { - NL_SEAL_AES128=(int)(0x001A), - NL_SEAL_RC4=(int)(0x007A), - NL_SEAL_NONE=(int)(0xFFFF) -} -#else - { __donnot_use_enum_NL_SEAL_ALGORITHM=0x7FFFFFFF} -#define NL_SEAL_AES128 ( 0x001A ) -#define NL_SEAL_RC4 ( 0x007A ) -#define NL_SEAL_NONE ( 0xFFFF ) -#endif -; - -struct NL_AUTH_SIGNATURE { - enum NL_SIGNATURE_ALGORITHM SignatureAlgorithm;/* [value(NL_SIGN_HMAC_MD5)] */ - enum NL_SEAL_ALGORITHM SealAlgorithm; - uint16_t Pad; - uint16_t Flags; - uint8_t SequenceNumber[8]; - uint8_t Checksum[8]; - uint8_t Confounder[8]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -struct NL_AUTH_SHA2_SIGNATURE { - enum NL_SIGNATURE_ALGORITHM SignatureAlgorithm;/* [value(NL_SIGN_HMAC_SHA256)] */ - enum NL_SEAL_ALGORITHM SealAlgorithm; - uint16_t Pad; - uint16_t Flags; - uint8_t SequenceNumber[8]; - uint8_t Checksum[32]; - uint8_t Confounder[8]; -}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -#endif /* _HEADER_schannel */ diff --git a/librpc/gen_ndr/security.h b/librpc/gen_ndr/security.h deleted file mode 100644 index 6cf6cf5dc15..00000000000 --- a/librpc/gen_ndr/security.h +++ /dev/null @@ -1,403 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#define dom_sid2 dom_sid -#define dom_sid28 dom_sid -#define dom_sid0 dom_sid -#ifndef _HEADER_security -#define _HEADER_security - -#define SEC_MASK_GENERIC ( 0xF0000000 ) -#define SEC_MASK_FLAGS ( 0x0F000000 ) -#define SEC_MASK_STANDARD ( 0x00FF0000 ) -#define SEC_MASK_SPECIFIC ( 0x0000FFFF ) -#define SEC_GENERIC_ALL ( 0x10000000 ) -#define SEC_GENERIC_EXECUTE ( 0x20000000 ) -#define SEC_GENERIC_WRITE ( 0x40000000 ) -#define SEC_GENERIC_READ ( 0x80000000 ) -#define SEC_FLAG_SYSTEM_SECURITY ( 0x01000000 ) -#define SEC_FLAG_MAXIMUM_ALLOWED ( 0x02000000 ) -#define SEC_STD_DELETE ( 0x00010000 ) -#define SEC_STD_READ_CONTROL ( 0x00020000 ) -#define SEC_STD_WRITE_DAC ( 0x00040000 ) -#define SEC_STD_WRITE_OWNER ( 0x00080000 ) -#define SEC_STD_SYNCHRONIZE ( 0x00100000 ) -#define SEC_STD_REQUIRED ( 0x000F0000 ) -#define SEC_STD_ALL ( 0x001F0000 ) -#define SEC_FILE_READ_DATA ( 0x00000001 ) -#define SEC_FILE_WRITE_DATA ( 0x00000002 ) -#define SEC_FILE_APPEND_DATA ( 0x00000004 ) -#define SEC_FILE_READ_EA ( 0x00000008 ) -#define SEC_FILE_WRITE_EA ( 0x00000010 ) -#define SEC_FILE_EXECUTE ( 0x00000020 ) -#define SEC_FILE_READ_ATTRIBUTE ( 0x00000080 ) -#define SEC_FILE_WRITE_ATTRIBUTE ( 0x00000100 ) -#define SEC_FILE_ALL ( 0x000001ff ) -#define SEC_DIR_LIST ( 0x00000001 ) -#define SEC_DIR_ADD_FILE ( 0x00000002 ) -#define SEC_DIR_ADD_SUBDIR ( 0x00000004 ) -#define SEC_DIR_READ_EA ( 0x00000008 ) -#define SEC_DIR_WRITE_EA ( 0x00000010 ) -#define SEC_DIR_TRAVERSE ( 0x00000020 ) -#define SEC_DIR_DELETE_CHILD ( 0x00000040 ) -#define SEC_DIR_READ_ATTRIBUTE ( 0x00000080 ) -#define SEC_DIR_WRITE_ATTRIBUTE ( 0x00000100 ) -#define SEC_REG_QUERY_VALUE ( 0x00000001 ) -#define SEC_REG_SET_VALUE ( 0x00000002 ) -#define SEC_REG_CREATE_SUBKEY ( 0x00000004 ) -#define SEC_REG_ENUM_SUBKEYS ( 0x00000008 ) -#define SEC_REG_NOTIFY ( 0x00000010 ) -#define SEC_REG_CREATE_LINK ( 0x00000020 ) -#define SEC_ADS_CREATE_CHILD ( 0x00000001 ) -#define SEC_ADS_DELETE_CHILD ( 0x00000002 ) -#define SEC_ADS_LIST ( 0x00000004 ) -#define SEC_ADS_SELF_WRITE ( 0x00000008 ) -#define SEC_ADS_READ_PROP ( 0x00000010 ) -#define SEC_ADS_WRITE_PROP ( 0x00000020 ) -#define SEC_ADS_DELETE_TREE ( 0x00000040 ) -#define SEC_ADS_LIST_OBJECT ( 0x00000080 ) -#define SEC_ADS_CONTROL_ACCESS ( 0x00000100 ) -#define SEC_MASK_INVALID ( 0x0ce0fe00 ) -#define SEC_RIGHTS_FILE_READ ( SEC_STD_READ_CONTROL|SEC_STD_SYNCHRONIZE|SEC_FILE_READ_DATA|SEC_FILE_READ_ATTRIBUTE|SEC_FILE_READ_EA ) -#define SEC_RIGHTS_FILE_WRITE ( SEC_STD_READ_CONTROL|SEC_STD_SYNCHRONIZE|SEC_FILE_WRITE_DATA|SEC_FILE_WRITE_ATTRIBUTE|SEC_FILE_WRITE_EA|SEC_FILE_APPEND_DATA ) -#define SEC_RIGHTS_FILE_EXECUTE ( SEC_STD_SYNCHRONIZE|SEC_STD_READ_CONTROL|SEC_FILE_READ_ATTRIBUTE|SEC_FILE_EXECUTE ) -#define SEC_RIGHTS_FILE_ALL ( SEC_STD_ALL|SEC_FILE_ALL ) -#define SEC_RIGHTS_DIR_READ ( SEC_RIGHTS_FILE_READ ) -#define SEC_RIGHTS_DIR_WRITE ( SEC_RIGHTS_FILE_WRITE ) -#define SEC_RIGHTS_DIR_EXECUTE ( SEC_RIGHTS_FILE_EXECUTE ) -#define SEC_RIGHTS_DIR_ALL ( SEC_RIGHTS_FILE_ALL ) -#define SEC_RIGHTS_PRIV_BACKUP ( SEC_STD_READ_CONTROL|SEC_FLAG_SYSTEM_SECURITY|SEC_GENERIC_READ ) -#define SEC_RIGHTS_DIR_PRIV_BACKUP ( SEC_RIGHTS_PRIV_BACKUP|SEC_DIR_TRAVERSE ) -#define SEC_RIGHTS_PRIV_RESTORE ( SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER|SEC_FLAG_SYSTEM_SECURITY|SEC_STD_DELETE ) -#define SEC_RIGHTS_DIR_PRIV_RESTORE ( SEC_RIGHTS_PRIV_RESTORE|SEC_DIR_ADD_FILE|SEC_DIR_ADD_SUBDIR ) -#define STANDARD_RIGHTS_ALL_ACCESS ( SEC_STD_ALL ) -#define STANDARD_RIGHTS_MODIFY_ACCESS ( SEC_STD_READ_CONTROL ) -#define STANDARD_RIGHTS_EXECUTE_ACCESS ( SEC_STD_READ_CONTROL ) -#define STANDARD_RIGHTS_READ_ACCESS ( SEC_STD_READ_CONTROL ) -#define STANDARD_RIGHTS_WRITE_ACCESS ( (SEC_STD_WRITE_OWNER|SEC_STD_WRITE_DAC|SEC_STD_DELETE) ) -#define STANDARD_RIGHTS_REQUIRED_ACCESS ( (SEC_STD_DELETE|SEC_STD_READ_CONTROL|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) ) -#define SEC_ADS_GENERIC_ALL_DS ( (SEC_STD_DELETE|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER|SEC_ADS_CREATE_CHILD|SEC_ADS_DELETE_CHILD|SEC_ADS_DELETE_TREE|SEC_ADS_CONTROL_ACCESS) ) -#define SEC_ADS_GENERIC_EXECUTE ( SEC_STD_READ_CONTROL|SEC_ADS_LIST ) -#define SEC_ADS_GENERIC_WRITE ( (SEC_STD_READ_CONTROL|SEC_ADS_SELF_WRITE|SEC_ADS_WRITE_PROP) ) -#define SEC_ADS_GENERIC_READ ( (SEC_STD_READ_CONTROL|SEC_ADS_LIST|SEC_ADS_READ_PROP|SEC_ADS_LIST_OBJECT) ) -#define SEC_ADS_GENERIC_ALL ( (SEC_ADS_GENERIC_EXECUTE|SEC_ADS_GENERIC_WRITE|SEC_ADS_GENERIC_READ|SEC_ADS_GENERIC_ALL_DS) ) -#define SID_NULL ( "S-1-0-0" ) -#define NAME_WORLD ( "WORLD" ) -#define SID_WORLD_DOMAIN ( "S-1-1" ) -#define SID_WORLD ( "S-1-1-0" ) -#define SID_CREATOR_OWNER_DOMAIN ( "S-1-3" ) -#define SID_CREATOR_OWNER ( "S-1-3-0" ) -#define SID_CREATOR_GROUP ( "S-1-3-1" ) -#define SID_OWNER_RIGHTS ( "S-1-3-4" ) -#define NAME_NT_AUTHORITY ( "NT AUTHORITY" ) -#define SID_NT_AUTHORITY ( "S-1-5" ) -#define SID_NT_DIALUP ( "S-1-5-1" ) -#define SID_NT_NETWORK ( "S-1-5-2" ) -#define SID_NT_BATCH ( "S-1-5-3" ) -#define SID_NT_INTERACTIVE ( "S-1-5-4" ) -#define SID_NT_SERVICE ( "S-1-5-6" ) -#define SID_NT_ANONYMOUS ( "S-1-5-7" ) -#define SID_NT_PROXY ( "S-1-5-8" ) -#define SID_NT_ENTERPRISE_DCS ( "S-1-5-9" ) -#define SID_NT_SELF ( "S-1-5-10" ) -#define SID_NT_AUTHENTICATED_USERS ( "S-1-5-11" ) -#define SID_NT_RESTRICTED ( "S-1-5-12" ) -#define SID_NT_TERMINAL_SERVER_USERS ( "S-1-5-13" ) -#define SID_NT_REMOTE_INTERACTIVE ( "S-1-5-14" ) -#define SID_NT_THIS_ORGANISATION ( "S-1-5-15" ) -#define SID_NT_IUSR ( "S-1-5-17" ) -#define SID_NT_SYSTEM ( "S-1-5-18" ) -#define SID_NT_LOCAL_SERVICE ( "S-1-5-19" ) -#define SID_NT_NETWORK_SERVICE ( "S-1-5-20" ) -#define SID_NT_DIGEST_AUTHENTICATION ( "S-1-5-64-21" ) -#define SID_NT_NTLM_AUTHENTICATION ( "S-1-5-64-10" ) -#define SID_NT_SCHANNEL_AUTHENTICATION ( "S-1-5-64-14" ) -#define SID_NT_OTHER_ORGANISATION ( "S-1-5-1000" ) -#define NAME_BUILTIN ( "BUILTIN" ) -#define SID_BUILTIN ( "S-1-5-32" ) -#define SID_BUILTIN_ADMINISTRATORS ( "S-1-5-32-544" ) -#define SID_BUILTIN_USERS ( "S-1-5-32-545" ) -#define SID_BUILTIN_GUESTS ( "S-1-5-32-546" ) -#define SID_BUILTIN_POWER_USERS ( "S-1-5-32-547" ) -#define SID_BUILTIN_ACCOUNT_OPERATORS ( "S-1-5-32-548" ) -#define SID_BUILTIN_SERVER_OPERATORS ( "S-1-5-32-549" ) -#define SID_BUILTIN_PRINT_OPERATORS ( "S-1-5-32-550" ) -#define SID_BUILTIN_BACKUP_OPERATORS ( "S-1-5-32-551" ) -#define SID_BUILTIN_REPLICATOR ( "S-1-5-32-552" ) -#define SID_BUILTIN_RAS_SERVERS ( "S-1-5-32-553" ) -#define SID_BUILTIN_PREW2K ( "S-1-5-32-554" ) -#define SID_BUILTIN_REMOTE_DESKTOP_USERS ( "S-1-5-32-555" ) -#define SID_BUILTIN_NETWORK_CONF_OPERATORS ( "S-1-5-32-556" ) -#define SID_BUILTIN_INCOMING_FOREST_TRUST ( "S-1-5-32-557" ) -#define SID_BUILTIN_PERFMON_USERS ( "S-1-5-32-558" ) -#define SID_BUILTIN_PERFLOG_USERS ( "S-1-5-32-559" ) -#define SID_BUILTIN_AUTH_ACCESS ( "S-1-5-32-560" ) -#define SID_BUILTIN_TS_LICENSE_SERVERS ( "S-1-5-32-561" ) -#define NAME_NT_SERVICE ( "NT SERVICE" ) -#define SID_NT_NT_SERVICE ( "S-1-5-80" ) -#define SID_NT_TRUSTED_INSTALLER ( "S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464" ) -#define DOMAIN_RID_LOGON ( 9 ) -#define DOMAIN_RID_ENTERPRISE_READONLY_DCS ( 498 ) -#define DOMAIN_RID_ADMINISTRATOR ( 500 ) -#define DOMAIN_RID_GUEST ( 501 ) -#define DOMAIN_RID_KRBTGT ( 502 ) -#define DOMAIN_RID_ADMINS ( 512 ) -#define DOMAIN_RID_USERS ( 513 ) -#define DOMAIN_RID_GUESTS ( 514 ) -#define DOMAIN_RID_DOMAIN_MEMBERS ( 515 ) -#define DOMAIN_RID_DCS ( 516 ) -#define DOMAIN_RID_CERT_ADMINS ( 517 ) -#define DOMAIN_RID_SCHEMA_ADMINS ( 518 ) -#define DOMAIN_RID_ENTERPRISE_ADMINS ( 519 ) -#define DOMAIN_RID_POLICY_ADMINS ( 520 ) -#define DOMAIN_RID_READONLY_DCS ( 521 ) -#define DOMAIN_RID_RAS_SERVERS ( 553 ) -#define NT4_ACL_REVISION ( SECURITY_ACL_REVISION_NT4 ) -#define SD_REVISION ( SECURITY_DESCRIPTOR_REVISION_1 ) -#define GUID_DRS_ALLOCATE_RIDS ( "1abd7cf8-0a99-11d1-adbb-00c04fd8d5cd" ) -#define GUID_DRS_CHANGE_DOMAIN_MASTER ( "014bf69c-7b3b-11d1-85f6-08002be74fab" ) -#define GUID_DRS_CHANGE_INFR_MASTER ( "cc17b1fb-33d9-11d2-97d4-00c04fd8d5cd" ) -#define GUID_DRS_CHANGE_PDC ( "bae50096-4752-11d1-9052-00c04fc2d4cf" ) -#define GUID_DRS_CHANGE_RID_MASTER ( "d58d5f36-0a98-11d1-adbb-00c04fd8d5cd" ) -#define GUID_DRS_CHANGE_SCHEMA_MASTER ( "e12b56b6-0a95-11d1-adbb-00c04fd8d5cd" ) -#define GUID_DRS_GET_CHANGES ( "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2" ) -#define GUID_DRS_GET_ALL_CHANGES ( "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2" ) -#define GUID_DRS_GET_FILTERED_ATTRIBUTES ( "89e95b76-444d-4c62-991a-0facbeda640c" ) -#define GUID_DRS_MANAGE_TOPOLOGY ( "1131f6ac-9c07-11d1-f79f-00c04fc2dcd2" ) -#define GUID_DRS_MONITOR_TOPOLOGY ( "f98340fb-7c5b-4cdb-a00b-2ebdfa115a96" ) -#define GUID_DRS_REPL_SYNCRONIZE ( "1131f6ab-9c07-11d1-f79f-00c04fc2dcd2" ) -#define GUID_DRS_RO_REPL_SECRET_SYNC ( "1131f6ae-9c07-11d1-f79f-00c04fc2dcd2" ) -struct dom_sid { - uint8_t sid_rev_num; - int8_t num_auths;/* [range(0,15)] */ - uint8_t id_auth[6]; - uint32_t sub_auths[15]; -}/* [noprint,gensize,nopull,public,nopush,nosize] */; - -enum sec_privilege -#ifndef USE_UINT_ENUMS - { - SEC_PRIV_SECURITY=(int)(1), - SEC_PRIV_BACKUP=(int)(2), - SEC_PRIV_RESTORE=(int)(3), - SEC_PRIV_SYSTEMTIME=(int)(4), - SEC_PRIV_SHUTDOWN=(int)(5), - SEC_PRIV_REMOTE_SHUTDOWN=(int)(6), - SEC_PRIV_TAKE_OWNERSHIP=(int)(7), - SEC_PRIV_DEBUG=(int)(8), - SEC_PRIV_SYSTEM_ENVIRONMENT=(int)(9), - SEC_PRIV_SYSTEM_PROFILE=(int)(10), - SEC_PRIV_PROFILE_SINGLE_PROCESS=(int)(11), - SEC_PRIV_INCREASE_BASE_PRIORITY=(int)(12), - SEC_PRIV_LOAD_DRIVER=(int)(13), - SEC_PRIV_CREATE_PAGEFILE=(int)(14), - SEC_PRIV_INCREASE_QUOTA=(int)(15), - SEC_PRIV_CHANGE_NOTIFY=(int)(16), - SEC_PRIV_UNDOCK=(int)(17), - SEC_PRIV_MANAGE_VOLUME=(int)(18), - SEC_PRIV_IMPERSONATE=(int)(19), - SEC_PRIV_CREATE_GLOBAL=(int)(20), - SEC_PRIV_ENABLE_DELEGATION=(int)(21), - SEC_PRIV_INTERACTIVE_LOGON=(int)(22), - SEC_PRIV_NETWORK_LOGON=(int)(23), - SEC_PRIV_REMOTE_INTERACTIVE_LOGON=(int)(24), - SEC_PRIV_MACHINE_ACCOUNT=(int)(25) -} -#else - { __donnot_use_enum_sec_privilege=0x7FFFFFFF} -#define SEC_PRIV_SECURITY ( 1 ) -#define SEC_PRIV_BACKUP ( 2 ) -#define SEC_PRIV_RESTORE ( 3 ) -#define SEC_PRIV_SYSTEMTIME ( 4 ) -#define SEC_PRIV_SHUTDOWN ( 5 ) -#define SEC_PRIV_REMOTE_SHUTDOWN ( 6 ) -#define SEC_PRIV_TAKE_OWNERSHIP ( 7 ) -#define SEC_PRIV_DEBUG ( 8 ) -#define SEC_PRIV_SYSTEM_ENVIRONMENT ( 9 ) -#define SEC_PRIV_SYSTEM_PROFILE ( 10 ) -#define SEC_PRIV_PROFILE_SINGLE_PROCESS ( 11 ) -#define SEC_PRIV_INCREASE_BASE_PRIORITY ( 12 ) -#define SEC_PRIV_LOAD_DRIVER ( 13 ) -#define SEC_PRIV_CREATE_PAGEFILE ( 14 ) -#define SEC_PRIV_INCREASE_QUOTA ( 15 ) -#define SEC_PRIV_CHANGE_NOTIFY ( 16 ) -#define SEC_PRIV_UNDOCK ( 17 ) -#define SEC_PRIV_MANAGE_VOLUME ( 18 ) -#define SEC_PRIV_IMPERSONATE ( 19 ) -#define SEC_PRIV_CREATE_GLOBAL ( 20 ) -#define SEC_PRIV_ENABLE_DELEGATION ( 21 ) -#define SEC_PRIV_INTERACTIVE_LOGON ( 22 ) -#define SEC_PRIV_NETWORK_LOGON ( 23 ) -#define SEC_PRIV_REMOTE_INTERACTIVE_LOGON ( 24 ) -#define SEC_PRIV_MACHINE_ACCOUNT ( 25 ) -#endif -; - -/* bitmap security_ace_flags */ -#define SEC_ACE_FLAG_OBJECT_INHERIT ( 0x01 ) -#define SEC_ACE_FLAG_CONTAINER_INHERIT ( 0x02 ) -#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT ( 0x04 ) -#define SEC_ACE_FLAG_INHERIT_ONLY ( 0x08 ) -#define SEC_ACE_FLAG_INHERITED_ACE ( 0x10 ) -#define SEC_ACE_FLAG_VALID_INHERIT ( 0x0f ) -#define SEC_ACE_FLAG_SUCCESSFUL_ACCESS ( 0x40 ) -#define SEC_ACE_FLAG_FAILED_ACCESS ( 0x80 ) - -enum security_ace_type -#ifndef USE_UINT_ENUMS - { - SEC_ACE_TYPE_ACCESS_ALLOWED=(int)(0), - SEC_ACE_TYPE_ACCESS_DENIED=(int)(1), - SEC_ACE_TYPE_SYSTEM_AUDIT=(int)(2), - SEC_ACE_TYPE_SYSTEM_ALARM=(int)(3), - SEC_ACE_TYPE_ALLOWED_COMPOUND=(int)(4), - SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT=(int)(5), - SEC_ACE_TYPE_ACCESS_DENIED_OBJECT=(int)(6), - SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT=(int)(7), - SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT=(int)(8) -} -#else - { __donnot_use_enum_security_ace_type=0x7FFFFFFF} -#define SEC_ACE_TYPE_ACCESS_ALLOWED ( 0 ) -#define SEC_ACE_TYPE_ACCESS_DENIED ( 1 ) -#define SEC_ACE_TYPE_SYSTEM_AUDIT ( 2 ) -#define SEC_ACE_TYPE_SYSTEM_ALARM ( 3 ) -#define SEC_ACE_TYPE_ALLOWED_COMPOUND ( 4 ) -#define SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT ( 5 ) -#define SEC_ACE_TYPE_ACCESS_DENIED_OBJECT ( 6 ) -#define SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT ( 7 ) -#define SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT ( 8 ) -#endif -; - -/* bitmap security_ace_object_flags */ -#define SEC_ACE_OBJECT_TYPE_PRESENT ( 0x00000001 ) -#define SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT ( 0x00000002 ) - -union security_ace_object_type { - struct GUID type;/* [case(SEC_ACE_OBJECT_TYPE_PRESENT)] */ -}/* [nodiscriminant] */; - -union security_ace_object_inherited_type { - struct GUID inherited_type;/* [case(SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT)] */ -}/* [nodiscriminant] */; - -struct security_ace_object { - uint32_t flags; - union security_ace_object_type type;/* [switch_is(flags&SEC_ACE_OBJECT_TYPE_PRESENT)] */ - union security_ace_object_inherited_type inherited_type;/* [switch_is(flags&SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT)] */ -}; - -union security_ace_object_ctr { - struct security_ace_object object;/* [case(SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT)] */ -}/* [public,nodiscriminant] */; - -struct security_ace { - enum security_ace_type type; - uint8_t flags; - uint16_t size;/* [value(ndr_size_security_ace(r,ndr->iconv_convenience,ndr->flags))] */ - uint32_t access_mask; - union security_ace_object_ctr object;/* [switch_is(type)] */ - struct dom_sid trustee; -}/* [gensize,public,nopull,nosize] */; - -enum security_acl_revision -#ifndef USE_UINT_ENUMS - { - SECURITY_ACL_REVISION_NT4=(int)(2), - SECURITY_ACL_REVISION_ADS=(int)(4) -} -#else - { __donnot_use_enum_security_acl_revision=0x7FFFFFFF} -#define SECURITY_ACL_REVISION_NT4 ( 2 ) -#define SECURITY_ACL_REVISION_ADS ( 4 ) -#endif -; - -struct security_acl { - enum security_acl_revision revision; - uint16_t size;/* [value(ndr_size_security_acl(r,ndr->iconv_convenience,ndr->flags))] */ - uint32_t num_aces;/* [range(0,1000)] */ - struct security_ace *aces; -}/* [gensize,public,nosize] */; - -enum security_descriptor_revision -#ifndef USE_UINT_ENUMS - { - SECURITY_DESCRIPTOR_REVISION_1=(int)(1) -} -#else - { __donnot_use_enum_security_descriptor_revision=0x7FFFFFFF} -#define SECURITY_DESCRIPTOR_REVISION_1 ( 1 ) -#endif -; - -/* bitmap security_descriptor_type */ -#define SEC_DESC_OWNER_DEFAULTED ( 0x0001 ) -#define SEC_DESC_GROUP_DEFAULTED ( 0x0002 ) -#define SEC_DESC_DACL_PRESENT ( 0x0004 ) -#define SEC_DESC_DACL_DEFAULTED ( 0x0008 ) -#define SEC_DESC_SACL_PRESENT ( 0x0010 ) -#define SEC_DESC_SACL_DEFAULTED ( 0x0020 ) -#define SEC_DESC_DACL_TRUSTED ( 0x0040 ) -#define SEC_DESC_SERVER_SECURITY ( 0x0080 ) -#define SEC_DESC_DACL_AUTO_INHERIT_REQ ( 0x0100 ) -#define SEC_DESC_SACL_AUTO_INHERIT_REQ ( 0x0200 ) -#define SEC_DESC_DACL_AUTO_INHERITED ( 0x0400 ) -#define SEC_DESC_SACL_AUTO_INHERITED ( 0x0800 ) -#define SEC_DESC_DACL_PROTECTED ( 0x1000 ) -#define SEC_DESC_SACL_PROTECTED ( 0x2000 ) -#define SEC_DESC_RM_CONTROL_VALID ( 0x4000 ) -#define SEC_DESC_SELF_RELATIVE ( 0x8000 ) - -struct security_descriptor { - enum security_descriptor_revision revision; - uint16_t type; - struct dom_sid *owner_sid;/* [relative] */ - struct dom_sid *group_sid;/* [relative] */ - struct security_acl *sacl;/* [relative] */ - struct security_acl *dacl;/* [relative] */ -}/* [gensize,public,flag(LIBNDR_FLAG_LITTLE_ENDIAN),nosize] */; - -struct sec_desc_buf { - uint32_t sd_size;/* [value(ndr_size_security_descriptor(sd,ndr->iconv_convenience,ndr->flags)),range(0,0x40000)] */ - struct security_descriptor *sd;/* [unique,subcontext(4)] */ -}/* [public] */; - -struct security_token { - struct dom_sid *user_sid;/* [unique] */ - struct dom_sid *group_sid;/* [unique] */ - uint32_t num_sids; - struct dom_sid **sids;/* [unique,size_is(num_sids)] */ - uint64_t privilege_mask; -}/* [public] */; - -/* bitmap security_secinfo */ -#define SECINFO_OWNER ( 0x00000001 ) -#define SECINFO_GROUP ( 0x00000002 ) -#define SECINFO_DACL ( 0x00000004 ) -#define SECINFO_SACL ( 0x00000008 ) -#define SECINFO_UNPROTECTED_SACL ( 0x10000000 ) -#define SECINFO_UNPROTECTED_DACL ( 0x20000000 ) -#define SECINFO_PROTECTED_SACL ( 0x40000000 ) -#define SECINFO_PROTECTED_DACL ( 0x80000000 ) - -/* bitmap kerb_EncTypes */ -#define KERB_ENCTYPE_DES_CBC_CRC ( 0x00000001 ) -#define KERB_ENCTYPE_DES_CBC_MD5 ( 0x00000002 ) -#define KERB_ENCTYPE_RC4_HMAC_MD5 ( 0x00000004 ) -#define KERB_ENCTYPE_AES128_CTS_HMAC_SHA1_96 ( 0x00000008 ) -#define KERB_ENCTYPE_AES256_CTS_HMAC_SHA1_96 ( 0x00000010 ) - -/* bitmap security_autoinherit */ -#define SEC_DACL_AUTO_INHERIT ( 0x00000001 ) -#define SEC_SACL_AUTO_INHERIT ( 0x00000002 ) -#define SEC_DEFAULT_DESCRIPTOR ( 0x00000004 ) -#define SEC_OWNER_FROM_PARENT ( 0x00000008 ) -#define SEC_GROUP_FROM_PARENT ( 0x00000010 ) - -#endif /* _HEADER_security */ diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h deleted file mode 100644 index 20572e97c47..00000000000 --- a/librpc/gen_ndr/spoolss.h +++ /dev/null @@ -1,4204 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/winreg.h" -#define spoolss_security_descriptor security_descriptor -#ifndef _HEADER_spoolss -#define _HEADER_spoolss - -#define PRINTER_STATUS_OK ( 0x00000000 ) -#define JOB_STATUS_QUEUED ( 0x0000 ) -#define MAXDEVICENAME ( 32 ) -#define PRINTER_ENUM_ICONMASK ( (PRINTER_ENUM_ICON1|PRINTER_ENUM_ICON2|PRINTER_ENUM_ICON3|PRINTER_ENUM_ICON4|PRINTER_ENUM_ICON5|PRINTER_ENUM_ICON6|PRINTER_ENUM_ICON7|PRINTER_ENUM_ICON8) ) -#define SPL_ARCH_WIN40 ( "WIN40" ) -#define SPL_ARCH_W32X86 ( "W32X86" ) -#define SPL_ARCH_W32MIPS ( "W32MIPS" ) -#define SPL_ARCH_W32ALPHA ( "W32ALPHA" ) -#define SPL_ARCH_W32PPC ( "W32PPC" ) -#define SPL_ARCH_IA64 ( "IA64" ) -#define SPL_ARCH_X64 ( "x64" ) -#define SPOOLSS_ARCHITECTURE_ALL ( "All" ) -#define SPOOLSS_ARCHITECTURE_ALL_CLUSTER ( "AllCluster" ) -#define SPOOLSS_ARCHITECTURE_NT_X86 ( "Windows NT x86" ) -#define SPOOLSS_ARCHITECTURE_IA_64 ( "Windows IA64" ) -#define SPOOLSS_ARCHITECTURE_x64 ( "Windows x64" ) -#define SPOOLSS_ARCHITECTURE_4_0 ( "Windows 4.0" ) -#define SPOOLSS_DEFAULT_SERVER_PATH ( "C:\\WINDOWS\\system32\\spool" ) -#define SPOOL_PRINTERDATA_KEY ( "PrinterDriverData" ) -#define SPOOL_DSSPOOLER_KEY ( "DsSpooler" ) -#define SPOOL_DSDRIVER_KEY ( "DsDriver" ) -#define SPOOL_DSUSER_KEY ( "DsUser" ) -#define SPOOL_PNPDATA_KEY ( "PnPData" ) -#define SPOOL_OID_KEY ( "OID" ) -#define SPOOL_REG_ASSETNUMBER ( "assetNumber" ) -#define SPOOL_REG_BYTESPERMINUTE ( "bytesPerMinute" ) -#define SPOOL_REG_DEFAULTPRIORITY ( "defaultPriority" ) -#define SPOOL_REG_DESCRIPTION ( "description" ) -#define SPOOL_REG_DRIVERNAME ( "driverName" ) -#define SPOOL_REG_DRIVERVERSION ( "driverVersion" ) -#define SPOOL_REG_FLAGS ( "flags" ) -#define SPOOL_REG_LOCATION ( "location" ) -#define SPOOL_REG_OPERATINGSYSTEM ( "operatingSystem" ) -#define SPOOL_REG_OPERATINGSYSTEMHOTFIX ( "operatingSystemHotfix" ) -#define SPOOL_REG_OPERATINGSYSTEMSERVICEPACK ( "operatingSystemServicePack" ) -#define SPOOL_REG_OPERATINGSYSTEMVERSION ( "operatingSystemVersion" ) -#define SPOOL_REG_PORTNAME ( "portName" ) -#define SPOOL_REG_PRINTATTRIBUTES ( "printAttributes" ) -#define SPOOL_REG_PRINTBINNAMES ( "printBinNames" ) -#define SPOOL_REG_PRINTCOLLATE ( "printCollate" ) -#define SPOOL_REG_PRINTCOLOR ( "printColor" ) -#define SPOOL_REG_PRINTDUPLEXSUPPORTED ( "printDuplexSupported" ) -#define SPOOL_REG_PRINTENDTIME ( "printEndTime" ) -#define SPOOL_REG_PRINTERNAME ( "printerName" ) -#define SPOOL_REG_PRINTFORMNAME ( "printFormName" ) -#define SPOOL_REG_PRINTKEEPPRINTEDJOBS ( "printKeepPrintedJobs" ) -#define SPOOL_REG_PRINTLANGUAGE ( "printLanguage" ) -#define SPOOL_REG_PRINTMACADDRESS ( "printMACAddress" ) -#define SPOOL_REG_PRINTMAXCOPIES ( "printMaxCopies" ) -#define SPOOL_REG_PRINTMAXRESOLUTIONSUPPORTED ( "printMaxResolutionSupported" ) -#define SPOOL_REG_PRINTMAXXEXTENT ( "printMaxXExtent" ) -#define SPOOL_REG_PRINTMAXYEXTENT ( "printMaxYExtent" ) -#define SPOOL_REG_PRINTMEDIAREADY ( "printMediaReady" ) -#define SPOOL_REG_PRINTMEDIASUPPORTED ( "printMediaSupported" ) -#define SPOOL_REG_PRINTMEMORY ( "printMemory" ) -#define SPOOL_REG_PRINTMINXEXTENT ( "printMinXExtent" ) -#define SPOOL_REG_PRINTMINYEXTENT ( "printMinYExtent" ) -#define SPOOL_REG_PRINTNETWORKADDRESS ( "printNetworkAddress" ) -#define SPOOL_REG_PRINTNOTIFY ( "printNotify" ) -#define SPOOL_REG_PRINTNUMBERUP ( "printNumberUp" ) -#define SPOOL_REG_PRINTORIENTATIONSSUPPORTED ( "printOrientationsSupported" ) -#define SPOOL_REG_PRINTOWNER ( "printOwner" ) -#define SPOOL_REG_PRINTPAGESPERMINUTE ( "printPagesPerMinute" ) -#define SPOOL_REG_PRINTRATE ( "printRate" ) -#define SPOOL_REG_PRINTRATEUNIT ( "printRateUnit" ) -#define SPOOL_REG_PRINTSEPARATORFILE ( "printSeparatorFile" ) -#define SPOOL_REG_PRINTSHARENAME ( "printShareName" ) -#define SPOOL_REG_PRINTSPOOLING ( "printSpooling" ) -#define SPOOL_REGVAL_PRINTWHILESPOOLING ( "PrintWhileSpooling" ) -#define SPOOL_REGVAL_PRINTAFTERSPOOLED ( "PrintAfterSpooled" ) -#define SPOOL_REGVAL_PRINTDIRECT ( "PrintDirect" ) -#define SPOOL_REG_PRINTSTAPLINGSUPPORTED ( "printStaplingSupported" ) -#define SPOOL_REG_PRINTSTARTTIME ( "printStartTime" ) -#define SPOOL_REG_PRINTSTATUS ( "printStatus" ) -#define SPOOL_REG_PRIORITY ( "priority" ) -#define SPOOL_REG_SERVERNAME ( "serverName" ) -#define SPOOL_REG_SHORTSERVERNAME ( "shortServerName" ) -#define SPOOL_REG_UNCNAME ( "uNCName" ) -#define SPOOL_REG_URL ( "url" ) -#define SPOOL_REG_VERSIONNUMBER ( "versionNumber" ) -#define SPL_LOCAL_PORT ( "Local Port" ) -#define SPL_TCPIP_PORT ( "Standard TCP/IP Port" ) -#define SPL_XCV_MONITOR_LOCALMON ( ",XcvMonitor Local Port" ) -#define SPL_XCV_MONITOR_TCPMON ( ",XcvMonitor Standard TCP/IP Port" ) -#define PRINTER_CHANGE_PRINTER ( 0x000000FF ) -#define PRINTER_CHANGE_JOB ( 0x0000FF00 ) -#define PRINTER_CHANGE_FORM ( (PRINTER_CHANGE_ADD_FORM|PRINTER_CHANGE_SET_FORM|PRINTER_CHANGE_DELETE_FORM) ) -#define PRINTER_CHANGE_PORT ( (PRINTER_CHANGE_ADD_PORT|PRINTER_CHANGE_CONFIGURE_PORT|PRINTER_CHANGE_DELETE_PORT) ) -#define PRINTER_CHANGE_PRINT_PROCESSOR ( 0x07000000 ) -#define PRINTER_CHANGE_PRINTER_DRIVER ( (PRINTER_CHANGE_ADD_PRINTER_DRIVER|PRINTER_CHANGE_SET_PRINTER_DRIVER|PRINTER_CHANGE_DELETE_PRINTER_DRIVER) ) -#define PRINTER_CHANGE_ALL ( (PRINTER_CHANGE_PRINTER|PRINTER_CHANGE_JOB|PRINTER_CHANGE_FORM|PRINTER_CHANGE_PORT|PRINTER_CHANGE_PRINT_PROCESSOR|PRINTER_CHANGE_PRINTER_DRIVER) ) -#define SERVER_ALL_ACCESS ( SEC_STD_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE ) -#define SERVER_READ ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE ) -#define SERVER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE ) -#define SERVER_EXECUTE ( SEC_STD_READ_CONTROL|SERVER_ACCESS_ENUMERATE ) -#define PRINTER_ALL_ACCESS ( SEC_STD_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE ) -#define PRINTER_READ ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE ) -#define PRINTER_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|PRINTER_ACCESS_USE ) -#define PRINTER_EXECUTE ( SEC_STD_READ_CONTROL|PRINTER_ACCESS_USE ) -#define JOB_ALL_ACCESS ( SEC_STD_REQUIRED|JOB_ACCESS_ADMINISTER ) -#define JOB_READ ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER ) -#define JOB_WRITE ( STANDARD_RIGHTS_WRITE_ACCESS|JOB_ACCESS_ADMINISTER ) -#define JOB_EXECUTE ( SEC_STD_READ_CONTROL|JOB_ACCESS_ADMINISTER ) -#define PRINTER_ACE_FULL_CONTROL ( SEC_GENERIC_ALL|PRINTER_ALL_ACCESS ) -#define PRINTER_ACE_MANAGE_DOCUMENTS ( SEC_GENERIC_ALL|READ_CONTROL_ACCESS ) -#define PRINTER_ACE_PRINT ( GENERIC_EXECUTE_ACCESS|READ_CONTROL_ACCESS|PRINTER_ACCESS_USE ) -struct spoolss_Time { - uint16_t year; - uint16_t month; - uint16_t day_of_week; - uint16_t day; - uint16_t hour; - uint16_t minute; - uint16_t second; - uint16_t millisecond; -}/* [noprint,gensize] */; - -struct spoolss_TimeCtr { - uint32_t size;/* [value(ndr_size_spoolss_Time(time,ndr->iconv_convenience,ndr->flags))] */ - struct spoolss_Time *time;/* [unique] */ -}; - -enum spoolss_ProcessorArchitecture -#ifndef USE_UINT_ENUMS - { - PROCESSOR_ARCHITECTURE_INTEL=(int)(0x0000), - PROCESSOR_ARCHITECTURE_IA64=(int)(0x0006), - PROCESSOR_ARCHITECTURE_AMD64=(int)(0x0009) -} -#else - { __donnot_use_enum_spoolss_ProcessorArchitecture=0x7FFFFFFF} -#define PROCESSOR_ARCHITECTURE_INTEL ( 0x0000 ) -#define PROCESSOR_ARCHITECTURE_IA64 ( 0x0006 ) -#define PROCESSOR_ARCHITECTURE_AMD64 ( 0x0009 ) -#endif -; - -enum spoolss_ProcessorType -#ifndef USE_UINT_ENUMS - { - PROCESSOR_INTEL_386=(int)(0x00000182), - PROCESSOR_INTEL_486=(int)(0x000001E6), - PROCESSOR_INTEL_PENTIUM=(int)(0x0000024A), - PROCESSOR_INTEL_IA64=(int)(0x00000898), - PROCESSOR_AMD_X8664=(int)(0x000022A0) -} -#else - { __donnot_use_enum_spoolss_ProcessorType=0x7FFFFFFF} -#define PROCESSOR_INTEL_386 ( 0x00000182 ) -#define PROCESSOR_INTEL_486 ( 0x000001E6 ) -#define PROCESSOR_INTEL_PENTIUM ( 0x0000024A ) -#define PROCESSOR_INTEL_IA64 ( 0x00000898 ) -#define PROCESSOR_AMD_X8664 ( 0x000022A0 ) -#endif -; - -enum spoolss_MajorVersion -#ifndef USE_UINT_ENUMS - { - SPOOLSS_MAJOR_VERSION_NT4_95_98_ME=(int)(0x00000004), - SPOOLSS_MAJOR_VERSION_2000_2003_XP=(int)(0x00000005), - SPOOLSS_MAJOR_VERSION_2008_VISTA=(int)(0x00000006) -} -#else - { __donnot_use_enum_spoolss_MajorVersion=0x7FFFFFFF} -#define SPOOLSS_MAJOR_VERSION_NT4_95_98_ME ( 0x00000004 ) -#define SPOOLSS_MAJOR_VERSION_2000_2003_XP ( 0x00000005 ) -#define SPOOLSS_MAJOR_VERSION_2008_VISTA ( 0x00000006 ) -#endif -; - -enum spoolss_MinorVersion -#ifndef USE_UINT_ENUMS - { - SPOOLSS_MINOR_VERSION_0=(int)(0x00000000), - SPOOLSS_MINOR_VERSION_XP=(int)(0x00000001), - SPOOLSS_MINOR_VERSION_2003_XP64=(int)(0x00000002), - SPOOLSS_MINOR_VERSION_98=(int)(0x0000000a), - SPOOLSS_MINOR_VERSION_ME=(int)(0x0000005a) -} -#else - { __donnot_use_enum_spoolss_MinorVersion=0x7FFFFFFF} -#define SPOOLSS_MINOR_VERSION_0 ( 0x00000000 ) -#define SPOOLSS_MINOR_VERSION_XP ( 0x00000001 ) -#define SPOOLSS_MINOR_VERSION_2003_XP64 ( 0x00000002 ) -#define SPOOLSS_MINOR_VERSION_98 ( 0x0000000a ) -#define SPOOLSS_MINOR_VERSION_ME ( 0x0000005a ) -#endif -; - -/* bitmap spoolss_PrinterStatus */ -#define PRINTER_STATUS_PAUSED ( 0x00000001 ) -#define PRINTER_STATUS_ERROR ( 0x00000002 ) -#define PRINTER_STATUS_PENDING_DELETION ( 0x00000004 ) -#define PRINTER_STATUS_PAPER_JAM ( 0x00000008 ) -#define PRINTER_STATUS_PAPER_OUT ( 0x00000010 ) -#define PRINTER_STATUS_MANUAL_FEED ( 0x00000020 ) -#define PRINTER_STATUS_PAPER_PROBLEM ( 0x00000040 ) -#define PRINTER_STATUS_OFFLINE ( 0x00000080 ) -#define PRINTER_STATUS_IO_ACTIVE ( 0x00000100 ) -#define PRINTER_STATUS_BUSY ( 0x00000200 ) -#define PRINTER_STATUS_PRINTING ( 0x00000400 ) -#define PRINTER_STATUS_OUTPUT_BIN_FULL ( 0x00000800 ) -#define PRINTER_STATUS_NOT_AVAILABLE ( 0x00001000 ) -#define PRINTER_STATUS_WAITING ( 0x00002000 ) -#define PRINTER_STATUS_PROCESSING ( 0x00004000 ) -#define PRINTER_STATUS_INITIALIZING ( 0x00008000 ) -#define PRINTER_STATUS_WARMING_UP ( 0x00010000 ) -#define PRINTER_STATUS_TONER_LOW ( 0x00020000 ) -#define PRINTER_STATUS_NO_TONER ( 0x00040000 ) -#define PRINTER_STATUS_PAGE_PUNT ( 0x00080000 ) -#define PRINTER_STATUS_USER_INTERVENTION ( 0x00100000 ) -#define PRINTER_STATUS_OUT_OF_MEMORY ( 0x00200000 ) -#define PRINTER_STATUS_DOOR_OPEN ( 0x00400000 ) -#define PRINTER_STATUS_SERVER_UNKNOWN ( 0x00800000 ) -#define PRINTER_STATUS_POWER_SAVE ( 0x01000000 ) - -/* bitmap spoolss_JobStatus */ -#define JOB_STATUS_PAUSED ( 0x00000001 ) -#define JOB_STATUS_ERROR ( 0x00000002 ) -#define JOB_STATUS_DELETING ( 0x00000004 ) -#define JOB_STATUS_SPOOLING ( 0x00000008 ) -#define JOB_STATUS_PRINTING ( 0x00000010 ) -#define JOB_STATUS_OFFLINE ( 0x00000020 ) -#define JOB_STATUS_PAPEROUT ( 0x00000040 ) -#define JOB_STATUS_PRINTED ( 0x00000080 ) -#define JOB_STATUS_DELETED ( 0x00000100 ) -#define JOB_STATUS_BLOCKED_DEVQ ( 0x00000200 ) -#define JOB_STATUS_USER_INTERVENTION ( 0x00000400 ) -#define JOB_STATUS_RESTART ( 0x00000800 ) -#define JOB_STATUS_COMPLETE ( 0x00001000 ) - -enum spoolss_Build -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DEBUGGING_BUILD=(int)(0x00000000), - SPOOLSS_RELEASE_BUILD=(int)(0x00000001) -} -#else - { __donnot_use_enum_spoolss_Build=0x7FFFFFFF} -#define SPOOLSS_DEBUGGING_BUILD ( 0x00000000 ) -#define SPOOLSS_RELEASE_BUILD ( 0x00000001 ) -#endif -; - -struct spoolss_PrinterInfo0 { - const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t cjobs; - uint32_t total_jobs; - uint32_t total_bytes; - struct spoolss_Time time; - uint32_t global_counter; - uint32_t total_pages; - uint32_t version; - enum spoolss_Build free_build; - uint32_t spooling; - uint32_t max_spooling; - uint32_t session_counter; - uint32_t num_error_out_of_paper; - uint32_t num_error_not_ready; - uint32_t job_error; - uint32_t number_of_processors; - enum spoolss_ProcessorType processor_type; - uint32_t high_part_total_bytes; - uint32_t change_id; - WERROR last_error; - uint32_t status; - uint32_t enumerate_network_printers; - uint32_t c_setprinter; - enum spoolss_ProcessorArchitecture processor_architecture; - uint16_t processor_level; - uint32_t ref_ic; - uint32_t reserved2; - uint32_t reserved3; -}/* [gensize,public] */; - -enum spoolss_DM_Signature -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA=(int)(0x554e4944), - SPOOLSS_DM_SIGNATURE_JTEXP=(int)(0x4a544d53), - SPOOLSS_DM_SIGNATURE_PSEXTRA=(int)(0x50524956) -} -#else - { __donnot_use_enum_spoolss_DM_Signature=0x7FFFFFFF} -#define SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA ( 0x554e4944 ) -#define SPOOLSS_DM_SIGNATURE_JTEXP ( 0x4a544d53 ) -#define SPOOLSS_DM_SIGNATURE_PSEXTRA ( 0x50524956 ) -#endif -; - -enum spoolss_DM_Layout -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_LAYOUT_NUP_DISABLED=(int)(0x00000000), - SPOOLSS_DM_LAYOUT_NUP_2=(int)(0x00000001), - SPOOLSS_DM_LAYOUT_NUP_4=(int)(0x00000002), - SPOOLSS_DM_LAYOUT_NUP_6=(int)(0x00000003), - SPOOLSS_DM_LAYOUT_NUP_9=(int)(0x00000004), - SPOOLSS_DM_LAYOUT_NUP_16=(int)(0x00000005), - SPOOLSS_DM_LAYOUT_BOOKLET=(int)(0x00000006) -} -#else - { __donnot_use_enum_spoolss_DM_Layout=0x7FFFFFFF} -#define SPOOLSS_DM_LAYOUT_NUP_DISABLED ( 0x00000000 ) -#define SPOOLSS_DM_LAYOUT_NUP_2 ( 0x00000001 ) -#define SPOOLSS_DM_LAYOUT_NUP_4 ( 0x00000002 ) -#define SPOOLSS_DM_LAYOUT_NUP_6 ( 0x00000003 ) -#define SPOOLSS_DM_LAYOUT_NUP_9 ( 0x00000004 ) -#define SPOOLSS_DM_LAYOUT_NUP_16 ( 0x00000005 ) -#define SPOOLSS_DM_LAYOUT_BOOKLET ( 0x00000006 ) -#endif -; - -enum spoolss_DM_NupDirection -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_NUP_DIRECTION_L2R_T2B=(int)(0x00000001), - SPOOLSS_DM_NUP_DIRECTION_T2B_L2R=(int)(0x00000002), - SPOOLSS_DM_NUP_DIRECTION_R2L_T2B=(int)(0x00000004), - SPOOLSS_DM_NUP_DIRECTION_T2B_R2L=(int)(0x00000008) -} -#else - { __donnot_use_enum_spoolss_DM_NupDirection=0x7FFFFFFF} -#define SPOOLSS_DM_NUP_DIRECTION_L2R_T2B ( 0x00000001 ) -#define SPOOLSS_DM_NUP_DIRECTION_T2B_L2R ( 0x00000002 ) -#define SPOOLSS_DM_NUP_DIRECTION_R2L_T2B ( 0x00000004 ) -#define SPOOLSS_DM_NUP_DIRECTION_T2B_R2L ( 0x00000008 ) -#endif -; - -enum spoolss_DM_NupBorderFlags -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_NUP_BORDER_PRINT=(int)(0x00000000), - SPOOLSS_DM_NUP_BORDER_NONE=(int)(0x00000001) -} -#else - { __donnot_use_enum_spoolss_DM_NupBorderFlags=0x7FFFFFFF} -#define SPOOLSS_DM_NUP_BORDER_PRINT ( 0x00000000 ) -#define SPOOLSS_DM_NUP_BORDER_NONE ( 0x00000001 ) -#endif -; - -enum spoolss_DM_BookletFlags -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_BOOKLET_LEFT_FLIP=(int)(0x00000000), - SPOOLSS_DM_BOOKLET_RIGHT_FLIP=(int)(0x00000001) -} -#else - { __donnot_use_enum_spoolss_DM_BookletFlags=0x7FFFFFFF} -#define SPOOLSS_DM_BOOKLET_LEFT_FLIP ( 0x00000000 ) -#define SPOOLSS_DM_BOOKLET_RIGHT_FLIP ( 0x00000001 ) -#endif -; - -/* bitmap spoolss_DMPS_Flags */ -#define SPOOLSS_DM_PS_FLAGS_DRV_ERROR_HANDLER ( 0x00000002 ) -#define SPOOLSS_DM_PS_FLAGS_PRINT_MIRROR ( 0x00000004 ) -#define SPOOLSS_DM_PS_FLAGS_PRINT_NEGATIVE ( 0x00000010 ) -#define SPOOLSS_DM_PS_FLAGS_COMPRESS_BITMAP ( 0x00000040 ) -#define SPOOLSS_DM_PS_FLAGS_ROTATE_180 ( 0x00000200 ) -#define SPOOLSS_DM_PS_FLAGS_GDI_METAFILE_SPOOL ( 0x00002000 ) - -struct spoolss_PSDRVEXTRA351 { - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */ - uint32_t dwFlags; - uint32_t wchEPSFile[12]; - uint16_t caSize;/* [value(24)] */ - uint16_t caFlags; - uint16_t caIlluminantIndex; - uint16_t caRedGamma; - uint16_t caGreenGamma; - uint16_t caBlueGamma; - uint16_t caReferenceBlack; - uint16_t caReferenceWhite; - uint16_t caContrast; - uint16_t caBrightness; - uint16_t caColorfulness; - uint16_t caRedGreenTint; -}; - -struct spoolss_PSDRVEXTRA400 { - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */ - uint32_t dwFlags; - uint32_t wchEPSFile[12]; - uint16_t caSize;/* [value(24)] */ - uint16_t caFlags; - uint16_t caIlluminantIndex; - uint16_t caRedGamma; - uint16_t caGreenGamma; - uint16_t caBlueGamma; - uint16_t caReferenceBlack; - uint16_t caReferenceWhite; - uint16_t caContrast; - uint16_t caBrightness; - uint16_t caColorfulness; - uint16_t caRedGreenTint; - uint16_t wChecksum; - uint16_t wOptions; - uint32_t aubOptions[8]; -}; - -enum spoolss_DMPS_Dialect -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_PS_OPTIMIZE_SPEED=(int)(0x00000000), - SPOOLSS_DM_PS_OPTIMIZE_PORTABILITY=(int)(0x00000001), - SPOOLSS_DM_PS_OPTIMIZE_EPS=(int)(0x00000002), - SPOOLSS_DM_PS_OPTIMIZE_ARCHIVAL=(int)(0x00000003) -} -#else - { __donnot_use_enum_spoolss_DMPS_Dialect=0x7FFFFFFF} -#define SPOOLSS_DM_PS_OPTIMIZE_SPEED ( 0x00000000 ) -#define SPOOLSS_DM_PS_OPTIMIZE_PORTABILITY ( 0x00000001 ) -#define SPOOLSS_DM_PS_OPTIMIZE_EPS ( 0x00000002 ) -#define SPOOLSS_DM_PS_OPTIMIZE_ARCHIVAL ( 0x00000003 ) -#endif -; - -enum spoolss_DMPS_TTDLFmt -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_PS_TTDLFMT_DEFAULT=(int)(0x00000000), - SPOOLSS_DM_PS_TTDLFMT_TYPE_1=(int)(0x00000001), - SPOOLSS_DM_PS_TTDLFMT_TYPE_3=(int)(0x00000002), - SPOOLSS_DM_PS_TTDLFMT_TYPE_42=(int)(0x00000003) -} -#else - { __donnot_use_enum_spoolss_DMPS_TTDLFmt=0x7FFFFFFF} -#define SPOOLSS_DM_PS_TTDLFMT_DEFAULT ( 0x00000000 ) -#define SPOOLSS_DM_PS_TTDLFMT_TYPE_1 ( 0x00000001 ) -#define SPOOLSS_DM_PS_TTDLFMT_TYPE_3 ( 0x00000002 ) -#define SPOOLSS_DM_PS_TTDLFMT_TYPE_42 ( 0x00000003 ) -#endif -; - -enum spoolss_DMPS_PSLevel -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_PS_PSLEVEL_1=(int)(0x00000001), - SPOOLSS_DM_PS_PSLEVEL_2=(int)(0x00000002), - SPOOLSS_DM_PS_PSLEVEL_3=(int)(0x00000003) -} -#else - { __donnot_use_enum_spoolss_DMPS_PSLevel=0x7FFFFFFF} -#define SPOOLSS_DM_PS_PSLEVEL_1 ( 0x00000001 ) -#define SPOOLSS_DM_PS_PSLEVEL_2 ( 0x00000002 ) -#define SPOOLSS_DM_PS_PSLEVEL_3 ( 0x00000003 ) -#endif -; - -enum spoolss_DMPS_FeedDirection -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST=(int)(0x0000), - SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST=(int)(0x0001), - SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST_UPSIDEDOWN=(int)(0x0002), - SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST_UPSIDEDOWN=(int)(0x0003) -} -#else - { __donnot_use_enum_spoolss_DMPS_FeedDirection=0x7FFFFFFF} -#define SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST ( 0x0000 ) -#define SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST ( 0x0001 ) -#define SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST_UPSIDEDOWN ( 0x0002 ) -#define SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST_UPSIDEDOWN ( 0x0003 ) -#endif -; - -struct spoolss_PSDRVEXTRA500 { - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */ - uint32_t dwFlags; - uint32_t wchEPSFile[12]; - uint16_t caSize;/* [value(24)] */ - uint16_t caFlags; - uint16_t caIlluminantIndex; - uint16_t caRedGamma; - uint16_t caGreenGamma; - uint16_t caBlueGamma; - uint16_t caReferenceBlack; - uint16_t caReferenceWhite; - uint16_t caContrast; - uint16_t caBrightness; - uint16_t caColorfulness; - uint16_t caRedGreenTint; - uint16_t wReserved1; - uint16_t wSize; - uint32_t fxScrFreq; - uint32_t fxScrAngle; - enum spoolss_DMPS_Dialect iDialect; - enum spoolss_DMPS_TTDLFmt iTTDLFmt; - uint32_t bReversePrint; - enum spoolss_DM_Layout iLayout; - enum spoolss_DMPS_PSLevel iPSLevel; - uint32_t dwReserved2; - uint16_t wOEMExtra; - uint16_t wVer;/* [value(0x0010)] */ - uint32_t dwX; - uint32_t dwY; - uint32_t dwWidthOffset; - uint32_t dwHeightOffset; - enum spoolss_DMPS_FeedDirection wFeedDirection; - uint16_t wCutSheet; - uint32_t dwReserved3[4]; - uint32_t dwChecksum32; - uint32_t dwOptions; - uint32_t aOptions[128]; -}; - -struct spoolss_PSDRVEXTRA { - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] */ - uint32_t dwFlags; - uint32_t wchEPSFile[12]; - uint16_t caSize;/* [value(24)] */ - uint16_t caFlags; - uint16_t caIlluminantIndex; - uint16_t caRedGamma; - uint16_t caGreenGamma; - uint16_t caBlueGamma; - uint16_t caReferenceBlack; - uint16_t caReferenceWhite; - uint16_t caContrast; - uint16_t caBrightness; - uint16_t caColorfulness; - uint16_t caRedGreenTint; - uint16_t wCoreJTExpSize; - uint16_t wCoreFullSize;/* [value(ndr_size_spoolss_PSDRVEXTRA(r,ndr->iconv_convenience,ndr->flags)+wCoreJTExpSize)] */ - uint32_t fxScrFreq; - uint32_t fxScrAngle; - enum spoolss_DMPS_Dialect iDialect; - enum spoolss_DMPS_TTDLFmt iTTDLFmt; - uint32_t bReversePrint; - enum spoolss_DM_Layout iLayout; - enum spoolss_DMPS_PSLevel iPSLevel; - uint32_t dwReserved2; - uint16_t wOEMExtra; - uint16_t wVer;/* [value(0x0010)] */ - uint32_t dwX; - uint32_t dwY; - uint32_t dwWidthOffset; - uint32_t dwHeightOffset; - enum spoolss_DMPS_FeedDirection wFeedDirection; - uint16_t wCutSheet; - uint32_t dwReserved3[4]; - uint32_t dwChecksum32; - uint32_t dwOptions; - uint32_t aOptions[128]; - enum spoolss_DM_NupDirection dwNupDirection; - enum spoolss_DM_NupBorderFlags dwNupBorderFlags; - enum spoolss_DM_BookletFlags dwBookletFlags; - uint32_t dwPadding; -}; - -struct spoolss_UNIDRVEXTRA3_4 { - uint16_t wReserved[56]; -}; - -enum spoolss_DMUNI_Quality -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DM_UNI_QUALITY_BEST=(int)(0x00000000), - SPOOLSS_DM_UNI_QUALITY_MEDIUM=(int)(0x00000001), - SPOOLSS_DM_UNI_QUALITY_DRAFT=(int)(0x00000002) -} -#else - { __donnot_use_enum_spoolss_DMUNI_Quality=0x7FFFFFFF} -#define SPOOLSS_DM_UNI_QUALITY_BEST ( 0x00000000 ) -#define SPOOLSS_DM_UNI_QUALITY_MEDIUM ( 0x00000001 ) -#define SPOOLSS_DM_UNI_QUALITY_DRAFT ( 0x00000002 ) -#endif -; - -/* bitmap spoolss_DMUNI_Flags */ -#define SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS ( 0x00000002 ) -#define SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL ( 0x00000010 ) -#define SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING ( 0x00000080 ) - -struct spoolss_UNIDRVEXTRA500 { - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] */ - uint16_t wVer;/* [value(0x0022)] */ - uint16_t sPadding; - uint16_t wSize; - uint16_t wOEMExtra; - uint32_t dwChecksum32; - uint32_t dwFlags; - uint32_t bReversePrint; - enum spoolss_DM_Layout iLayout; - enum spoolss_DMUNI_Quality iQuality; - uint16_t wReserved[6]; - uint32_t dwOptions; - uint32_t aOptions[128]; -}; - -struct spoolss_UNIDRVEXTRA { - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] */ - uint16_t wVer;/* [value(0x0022)] */ - uint16_t wCoreJTExpSize; - uint16_t wCoreFullSize;/* [value(ndr_size_spoolss_UNIDRVEXTRA(r,ndr->iconv_convenience,ndr->flags)+wCoreJTExpSize)] */ - uint16_t wOEMExtra; - uint32_t dwChecksum32; - uint32_t dwFlags; - uint32_t bReversePrint; - enum spoolss_DM_Layout iLayout; - enum spoolss_DMUNI_Quality iQuality; - uint16_t wReserved[6]; - uint32_t dwOptions; - uint32_t aOptions[128]; - enum spoolss_DM_NupDirection dwNupDirection; - enum spoolss_DM_NupBorderFlags dwNupBorderFlags; - enum spoolss_DM_BookletFlags dwBookletFlags; -}/* [gensize,public] */; - -struct spoolss_JTEXP { - uint32_t dwSize; - enum spoolss_DM_Signature dwSignature;/* [value(SPOOLSS_DM_SIGNATURE_JTEXP)] */ - uint32_t dwVersion;/* [value(0)] */ - uint32_t wJTHdrSize;/* [value(16)] */ - uint32_t wCoreMFOSize; - const char *ModelName;/* [unique,charset(UTF16)] */ - const char ** FeatureOptionPairs;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct spoolss_OEM_DMEXTRA { - uint32_t dwSize; - enum spoolss_DM_Signature dwSignature; - uint32_t dwVersion; - DATA_BLOB Data;/* [flag(LIBNDR_FLAG_REMAINING)] */ -}; - -union spoolss_DeviceModeExtraDataPostScript { - struct spoolss_PSDRVEXTRA351 psdrvextra351;/* [case(0x0350)] */ - struct spoolss_PSDRVEXTRA400 psdrvextra400;/* [case(0x0400)] */ - struct spoolss_PSDRVEXTRA500 psdrvextra500;/* [case(0x0501)] */ - struct spoolss_PSDRVEXTRA psdrvextra;/* [case(0x0600)] */ - DATA_BLOB psblob;/* [default,flag(LIBNDR_FLAG_REMAINING)] */ -}/* [nodiscriminant] */; - -union spoolss_DeviceModeExtraDataUniDriver { - struct spoolss_UNIDRVEXTRA3_4 unidrvextra3_4;/* [case(0x0301)] */ - struct spoolss_UNIDRVEXTRA500 unidrvextra500;/* [case(0x0500)] */ - struct spoolss_UNIDRVEXTRA unidrvextra;/* [case(0x0600)] */ - DATA_BLOB uniblob;/* [default,flag(LIBNDR_FLAG_REMAINING)] */ -}/* [nodiscriminant] */; - -/* bitmap spoolss_DeviceModeFields */ -#define DEVMODE_ORIENTATION ( 0x00000001 ) -#define DEVMODE_PAPERSIZE ( 0x00000002 ) -#define DEVMODE_PAPERLENGTH ( 0x00000004 ) -#define DEVMODE_PAPERWIDTH ( 0x00000008 ) -#define DEVMODE_SCALE ( 0x00000010 ) -#define DEVMODE_POSITION ( 0x00000020 ) -#define DEVMODE_NUP ( 0x00000040 ) -#define DEVMODE_COPIES ( 0x00000100 ) -#define DEVMODE_DEFAULTSOURCE ( 0x00000200 ) -#define DEVMODE_PRINTQUALITY ( 0x00000400 ) -#define DEVMODE_COLOR ( 0x00000800 ) -#define DEVMODE_DUPLEX ( 0x00001000 ) -#define DEVMODE_YRESOLUTION ( 0x00002000 ) -#define DEVMODE_TTOPTION ( 0x00004000 ) -#define DEVMODE_COLLATE ( 0x00008000 ) -#define DEVMODE_FORMNAME ( 0x00010000 ) -#define DEVMODE_LOGPIXELS ( 0x00020000 ) -#define DEVMODE_BITSPERPEL ( 0x00040000 ) -#define DEVMODE_PELSWIDTH ( 0x00080000 ) -#define DEVMODE_PELSHEIGHT ( 0x00100000 ) -#define DEVMODE_DISPLAYFLAGS ( 0x00200000 ) -#define DEVMODE_DISPLAYFREQUENCY ( 0x00400000 ) -#define DEVMODE_ICMMETHOD ( 0x00800000 ) -#define DEVMODE_ICMINTENT ( 0x01000000 ) -#define DEVMODE_MEDIATYPE ( 0x02000000 ) -#define DEVMODE_DITHERTYPE ( 0x04000000 ) -#define DEVMODE_PANNINGWIDTH ( 0x08000000 ) -#define DEVMODE_PANNINGHEIGHT ( 0x10000000 ) - -enum spoolss_DeviceModeSpecVersion -#ifndef USE_UINT_ENUMS - { - DMSPEC_NT3=(int)(0x320), - DMSPEC_WIN95_98_ME=(int)(0x400), - DMSPEC_NT4_AND_ABOVE=(int)(0x401) -} -#else - { __donnot_use_enum_spoolss_DeviceModeSpecVersion=0x7FFFFFFF} -#define DMSPEC_NT3 ( 0x320 ) -#define DMSPEC_WIN95_98_ME ( 0x400 ) -#define DMSPEC_NT4_AND_ABOVE ( 0x401 ) -#endif -; - -enum spoolss_DeviceModeOrientation -#ifndef USE_UINT_ENUMS - { - DMORIENT_PORTRAIT=(int)(0x0001), - DMORIENT_LANDSCAPE=(int)(0x0002) -} -#else - { __donnot_use_enum_spoolss_DeviceModeOrientation=0x7FFFFFFF} -#define DMORIENT_PORTRAIT ( 0x0001 ) -#define DMORIENT_LANDSCAPE ( 0x0002 ) -#endif -; - -enum spoolss_DeviceModePaperSize -#ifndef USE_UINT_ENUMS - { - DMPAPER_LETTER=(int)(0x0001), - DMPAPER_LETTERSMALL=(int)(0x0002), - DMPAPER_TABLOID=(int)(0x0003), - DMPAPER_LEDGER=(int)(0x0004), - DMPAPER_LEGAL=(int)(0x0005), - DMPAPER_STATEMENT=(int)(0x0006), - DMPAPER_EXECUTIVE=(int)(0x0007), - DMPAPER_A3=(int)(0x0008), - DMPAPER_A4=(int)(0x0009), - DMPAPER_A4SMALL=(int)(0x000A), - DMPAPER_A5=(int)(0x000B), - DMPAPER_B4=(int)(0x000C), - DMPAPER_B5=(int)(0x000D), - DMPAPER_FOLIO=(int)(0x000E), - DMPAPER_QUARTO=(int)(0x000F), - DMPAPER_10X14=(int)(0x0010), - DMPAPER_11X17=(int)(0x0011), - DMPAPER_NOTE=(int)(0x0012), - DMPAPER_ENV_9=(int)(0x0013), - DMPAPER_ENV_10=(int)(0x0014), - DMPAPER_ENV_11=(int)(0x0015), - DMPAPER_ENV_12=(int)(0x0016), - DMPAPER_ENV_14=(int)(0x0017), - DMPAPER_CSHEET=(int)(0x0018), - DMPAPER_DSHEET=(int)(0x0019), - DMPAPER_ESHEET=(int)(0x001A), - DMPAPER_ENV_DL=(int)(0x001B), - DMPAPER_ENV_C5=(int)(0x001C), - DMPAPER_ENV_C3=(int)(0x001D), - DMPAPER_ENV_C4=(int)(0x001E), - DMPAPER_ENV_C6=(int)(0x001F), - DMPAPER_ENV_C65=(int)(0x0020), - DMPAPER_ENV_B4=(int)(0x0021), - DMPAPER_ENV_B5=(int)(0x0022), - DMPAPER_ENV_B6=(int)(0x0023), - DMPAPER_ENV_ITALY=(int)(0x0024), - DMPAPER_ENV_MONARCH=(int)(0x0025), - DMPAPER_ENV_PERSONAL=(int)(0x0026), - DMPAPER_FANFOLD_US=(int)(0x0027), - DMPAPER_FANFOLD_STD_GERMAN=(int)(0x0028), - DMPAPER_FANFOLD_LGL_GERMAN=(int)(0x0029), - DMPAPER_DBL_JAPANESE_POSTCARD=(int)(0x0045), - DMPAPER_A6=(int)(0x0046), - DMPAPER_JENV_KAKU2=(int)(0x0047), - DMPAPER_JENV_KAKU3=(int)(0x0048), - DMPAPER_JENV_CHOU3=(int)(0x0049), - DMPAPER_JENV_CHOU4=(int)(0x004A), - DMPAPER_LETTER_ROTATED=(int)(0x004B), - DMPAPER_A3_ROTATED=(int)(0x004C), - DMPAPER_A4_ROTATED=(int)(0x004D), - DMPAPER_A5_ROTATED=(int)(0x004E), - DMPAPER_B4_JIS_ROTATED=(int)(0x004F), - DMPAPER_B5_JIS_ROTATED=(int)(0x0050), - DMPAPER_JAPANESE_POSTCARD_ROTATED=(int)(0x0051), - DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED=(int)(0x0052), - DMPAPER_A6_ROTATED=(int)(0x0053), - DMPAPER_JENV_KAKU2_ROTATED=(int)(0x0054), - DMPAPER_JENV_KAKU3_ROTATED=(int)(0x0055), - DMPAPER_JENV_CHOU3_ROTATED=(int)(0x0056), - DMPAPER_JENV_CHOU4_ROTATED=(int)(0x0057), - DMPAPER_B6_JIS=(int)(0x0058), - DMPAPER_B6_JIS_ROTATED=(int)(0x0059), - DMPAPER_12X11=(int)(0x005A), - DMPAPER_JENV_YOU4=(int)(0x005B), - DMPAPER_JENV_YOU4_ROTATED=(int)(0x005C), - DMPAPER_P16K=(int)(0x005D), - DMPAPER_P32K=(int)(0x005E), - DMPAPER_P32KBIG=(int)(0x005F), - DMPAPER_PENV_1=(int)(0x0060), - DMPAPER_PENV_2=(int)(0x0061), - DMPAPER_PENV_3=(int)(0x0062), - DMPAPER_PENV_4=(int)(0x0063), - DMPAPER_PENV_5=(int)(0x0064), - DMPAPER_PENV_6=(int)(0x0065), - DMPAPER_PENV_7=(int)(0x0066), - DMPAPER_PENV_8=(int)(0x0067), - DMPAPER_PENV_9=(int)(0x0068), - DMPAPER_PENV_10=(int)(0x0069), - DMPAPER_P16K_ROTATED=(int)(0x006A), - DMPAPER_P32K_ROTATED=(int)(0x006B), - DMPAPER_P32KBIG_ROTATED=(int)(0x006C), - DMPAPER_PENV_1_ROTATED=(int)(0x006D), - DMPAPER_PENV_2_ROTATED=(int)(0x006E), - DMPAPER_PENV_3_ROTATED=(int)(0x006F), - DMPAPER_PENV_4_ROTATED=(int)(0x0070), - DMPAPER_PENV_5_ROTATED=(int)(0x0071), - DMPAPER_PENV_6_ROTATED=(int)(0x0072), - DMPAPER_PENV_7_ROTATED=(int)(0x0073), - DMPAPER_PENV_8_ROTATED=(int)(0x0074), - DMPAPER_PENV_9_ROTATED=(int)(0x0075), - DMPAPER_PENV_10_ROTATED=(int)(0x0076) -} -#else - { __donnot_use_enum_spoolss_DeviceModePaperSize=0x7FFFFFFF} -#define DMPAPER_LETTER ( 0x0001 ) -#define DMPAPER_LETTERSMALL ( 0x0002 ) -#define DMPAPER_TABLOID ( 0x0003 ) -#define DMPAPER_LEDGER ( 0x0004 ) -#define DMPAPER_LEGAL ( 0x0005 ) -#define DMPAPER_STATEMENT ( 0x0006 ) -#define DMPAPER_EXECUTIVE ( 0x0007 ) -#define DMPAPER_A3 ( 0x0008 ) -#define DMPAPER_A4 ( 0x0009 ) -#define DMPAPER_A4SMALL ( 0x000A ) -#define DMPAPER_A5 ( 0x000B ) -#define DMPAPER_B4 ( 0x000C ) -#define DMPAPER_B5 ( 0x000D ) -#define DMPAPER_FOLIO ( 0x000E ) -#define DMPAPER_QUARTO ( 0x000F ) -#define DMPAPER_10X14 ( 0x0010 ) -#define DMPAPER_11X17 ( 0x0011 ) -#define DMPAPER_NOTE ( 0x0012 ) -#define DMPAPER_ENV_9 ( 0x0013 ) -#define DMPAPER_ENV_10 ( 0x0014 ) -#define DMPAPER_ENV_11 ( 0x0015 ) -#define DMPAPER_ENV_12 ( 0x0016 ) -#define DMPAPER_ENV_14 ( 0x0017 ) -#define DMPAPER_CSHEET ( 0x0018 ) -#define DMPAPER_DSHEET ( 0x0019 ) -#define DMPAPER_ESHEET ( 0x001A ) -#define DMPAPER_ENV_DL ( 0x001B ) -#define DMPAPER_ENV_C5 ( 0x001C ) -#define DMPAPER_ENV_C3 ( 0x001D ) -#define DMPAPER_ENV_C4 ( 0x001E ) -#define DMPAPER_ENV_C6 ( 0x001F ) -#define DMPAPER_ENV_C65 ( 0x0020 ) -#define DMPAPER_ENV_B4 ( 0x0021 ) -#define DMPAPER_ENV_B5 ( 0x0022 ) -#define DMPAPER_ENV_B6 ( 0x0023 ) -#define DMPAPER_ENV_ITALY ( 0x0024 ) -#define DMPAPER_ENV_MONARCH ( 0x0025 ) -#define DMPAPER_ENV_PERSONAL ( 0x0026 ) -#define DMPAPER_FANFOLD_US ( 0x0027 ) -#define DMPAPER_FANFOLD_STD_GERMAN ( 0x0028 ) -#define DMPAPER_FANFOLD_LGL_GERMAN ( 0x0029 ) -#define DMPAPER_DBL_JAPANESE_POSTCARD ( 0x0045 ) -#define DMPAPER_A6 ( 0x0046 ) -#define DMPAPER_JENV_KAKU2 ( 0x0047 ) -#define DMPAPER_JENV_KAKU3 ( 0x0048 ) -#define DMPAPER_JENV_CHOU3 ( 0x0049 ) -#define DMPAPER_JENV_CHOU4 ( 0x004A ) -#define DMPAPER_LETTER_ROTATED ( 0x004B ) -#define DMPAPER_A3_ROTATED ( 0x004C ) -#define DMPAPER_A4_ROTATED ( 0x004D ) -#define DMPAPER_A5_ROTATED ( 0x004E ) -#define DMPAPER_B4_JIS_ROTATED ( 0x004F ) -#define DMPAPER_B5_JIS_ROTATED ( 0x0050 ) -#define DMPAPER_JAPANESE_POSTCARD_ROTATED ( 0x0051 ) -#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED ( 0x0052 ) -#define DMPAPER_A6_ROTATED ( 0x0053 ) -#define DMPAPER_JENV_KAKU2_ROTATED ( 0x0054 ) -#define DMPAPER_JENV_KAKU3_ROTATED ( 0x0055 ) -#define DMPAPER_JENV_CHOU3_ROTATED ( 0x0056 ) -#define DMPAPER_JENV_CHOU4_ROTATED ( 0x0057 ) -#define DMPAPER_B6_JIS ( 0x0058 ) -#define DMPAPER_B6_JIS_ROTATED ( 0x0059 ) -#define DMPAPER_12X11 ( 0x005A ) -#define DMPAPER_JENV_YOU4 ( 0x005B ) -#define DMPAPER_JENV_YOU4_ROTATED ( 0x005C ) -#define DMPAPER_P16K ( 0x005D ) -#define DMPAPER_P32K ( 0x005E ) -#define DMPAPER_P32KBIG ( 0x005F ) -#define DMPAPER_PENV_1 ( 0x0060 ) -#define DMPAPER_PENV_2 ( 0x0061 ) -#define DMPAPER_PENV_3 ( 0x0062 ) -#define DMPAPER_PENV_4 ( 0x0063 ) -#define DMPAPER_PENV_5 ( 0x0064 ) -#define DMPAPER_PENV_6 ( 0x0065 ) -#define DMPAPER_PENV_7 ( 0x0066 ) -#define DMPAPER_PENV_8 ( 0x0067 ) -#define DMPAPER_PENV_9 ( 0x0068 ) -#define DMPAPER_PENV_10 ( 0x0069 ) -#define DMPAPER_P16K_ROTATED ( 0x006A ) -#define DMPAPER_P32K_ROTATED ( 0x006B ) -#define DMPAPER_P32KBIG_ROTATED ( 0x006C ) -#define DMPAPER_PENV_1_ROTATED ( 0x006D ) -#define DMPAPER_PENV_2_ROTATED ( 0x006E ) -#define DMPAPER_PENV_3_ROTATED ( 0x006F ) -#define DMPAPER_PENV_4_ROTATED ( 0x0070 ) -#define DMPAPER_PENV_5_ROTATED ( 0x0071 ) -#define DMPAPER_PENV_6_ROTATED ( 0x0072 ) -#define DMPAPER_PENV_7_ROTATED ( 0x0073 ) -#define DMPAPER_PENV_8_ROTATED ( 0x0074 ) -#define DMPAPER_PENV_9_ROTATED ( 0x0075 ) -#define DMPAPER_PENV_10_ROTATED ( 0x0076 ) -#endif -; - -enum spoolss_DeviceModeDefaultSource -#ifndef USE_UINT_ENUMS - { - DMBIN_UPPER=(int)(0x0001), - DMBIN_LOWER=(int)(0x0002), - DMBIN_MIDDLE=(int)(0x0003), - DMBIN_MANUAL=(int)(0x0004), - DMBIN_ENVELOPE=(int)(0x0005), - DMBIN_ENVMANUAL=(int)(0x0006), - DMBIN_AUTO=(int)(0x0007), - DMBIN_TRACTOR=(int)(0x0008), - DMBIN_SMALLFMT=(int)(0x0009), - DMBIN_LARGEFMT=(int)(0x000a), - DMBIN_LARGECAPACITY=(int)(0x000b), - DMBIN_CASSETTE=(int)(0x000e), - DMBIN_FORMSOURCE=(int)(0x000f) -} -#else - { __donnot_use_enum_spoolss_DeviceModeDefaultSource=0x7FFFFFFF} -#define DMBIN_UPPER ( 0x0001 ) -#define DMBIN_LOWER ( 0x0002 ) -#define DMBIN_MIDDLE ( 0x0003 ) -#define DMBIN_MANUAL ( 0x0004 ) -#define DMBIN_ENVELOPE ( 0x0005 ) -#define DMBIN_ENVMANUAL ( 0x0006 ) -#define DMBIN_AUTO ( 0x0007 ) -#define DMBIN_TRACTOR ( 0x0008 ) -#define DMBIN_SMALLFMT ( 0x0009 ) -#define DMBIN_LARGEFMT ( 0x000a ) -#define DMBIN_LARGECAPACITY ( 0x000b ) -#define DMBIN_CASSETTE ( 0x000e ) -#define DMBIN_FORMSOURCE ( 0x000f ) -#endif -; - -enum spoolss_DeviceModePrintQuality -#ifndef USE_UINT_ENUMS - { - DMRES_HIGH=(int)(0xfffc), - DMRES_MEDIUM=(int)(0xfffd), - DMRES_LOW=(int)(0xfffe), - DMRES_DRAFT=(int)(0xffff) -} -#else - { __donnot_use_enum_spoolss_DeviceModePrintQuality=0x7FFFFFFF} -#define DMRES_HIGH ( 0xfffc ) -#define DMRES_MEDIUM ( 0xfffd ) -#define DMRES_LOW ( 0xfffe ) -#define DMRES_DRAFT ( 0xffff ) -#endif -; - -enum spoolss_DeviceModeColor -#ifndef USE_UINT_ENUMS - { - DMRES_MONOCHROME=(int)(0x0001), - DMRES_COLOR=(int)(0x0002) -} -#else - { __donnot_use_enum_spoolss_DeviceModeColor=0x7FFFFFFF} -#define DMRES_MONOCHROME ( 0x0001 ) -#define DMRES_COLOR ( 0x0002 ) -#endif -; - -enum spoolss_DeviceModeDuplex -#ifndef USE_UINT_ENUMS - { - DMDUP_SIMPLEX=(int)(0x0001), - DMDUP_VERTICAL=(int)(0x0002), - DMDUP_HORIZONTAL=(int)(0x0003) -} -#else - { __donnot_use_enum_spoolss_DeviceModeDuplex=0x7FFFFFFF} -#define DMDUP_SIMPLEX ( 0x0001 ) -#define DMDUP_VERTICAL ( 0x0002 ) -#define DMDUP_HORIZONTAL ( 0x0003 ) -#endif -; - -enum spoolss_DeviceModeTTOption -#ifndef USE_UINT_ENUMS - { - DMTT_BITMAP=(int)(0x0001), - DMTT_DOWNLOAD=(int)(0x0002), - DMTT_SUBDEV=(int)(0x0003), - DMTT_DOWNLOAD_OUTLINE=(int)(0x0004) -} -#else - { __donnot_use_enum_spoolss_DeviceModeTTOption=0x7FFFFFFF} -#define DMTT_BITMAP ( 0x0001 ) -#define DMTT_DOWNLOAD ( 0x0002 ) -#define DMTT_SUBDEV ( 0x0003 ) -#define DMTT_DOWNLOAD_OUTLINE ( 0x0004 ) -#endif -; - -enum spoolss_DeviceModeCollate -#ifndef USE_UINT_ENUMS - { - DMCOLLATE_FALSE=(int)(0x0000), - DMCOLLATE_TRUE=(int)(0x0001) -} -#else - { __donnot_use_enum_spoolss_DeviceModeCollate=0x7FFFFFFF} -#define DMCOLLATE_FALSE ( 0x0000 ) -#define DMCOLLATE_TRUE ( 0x0001 ) -#endif -; - -enum spoolss_DeviceModeNUp -#ifndef USE_UINT_ENUMS - { - DMNUP_SYSTEM=(int)(0x00000001), - DMNUP_ONEUP=(int)(0x00000002) -} -#else - { __donnot_use_enum_spoolss_DeviceModeNUp=0x7FFFFFFF} -#define DMNUP_SYSTEM ( 0x00000001 ) -#define DMNUP_ONEUP ( 0x00000002 ) -#endif -; - -enum spoolss_DeviceModeICMMethod -#ifndef USE_UINT_ENUMS - { - DMICMMETHOD_NONE=(int)(0x00000001), - DMICMMETHOD_SYSTEM=(int)(0x00000002), - DMICMMETHOD_DRIVER=(int)(0x00000003), - DMICMMETHOD_DEVICE=(int)(0x00000004) -} -#else - { __donnot_use_enum_spoolss_DeviceModeICMMethod=0x7FFFFFFF} -#define DMICMMETHOD_NONE ( 0x00000001 ) -#define DMICMMETHOD_SYSTEM ( 0x00000002 ) -#define DMICMMETHOD_DRIVER ( 0x00000003 ) -#define DMICMMETHOD_DEVICE ( 0x00000004 ) -#endif -; - -enum spoolss_DeviceModeICMIntent -#ifndef USE_UINT_ENUMS - { - DMICM_SATURATE=(int)(0x00000001), - DMICM_CONTRAST=(int)(0x00000002), - DMICM_COLORIMETRIC=(int)(0x00000003), - DMICM_ABS_COLORIMETRIC=(int)(0x00000004) -} -#else - { __donnot_use_enum_spoolss_DeviceModeICMIntent=0x7FFFFFFF} -#define DMICM_SATURATE ( 0x00000001 ) -#define DMICM_CONTRAST ( 0x00000002 ) -#define DMICM_COLORIMETRIC ( 0x00000003 ) -#define DMICM_ABS_COLORIMETRIC ( 0x00000004 ) -#endif -; - -enum spoolss_DeviceModeMediaType -#ifndef USE_UINT_ENUMS - { - DMMEDIA_STANDARD=(int)(0x00000001), - DMMEDIA_TRANSPARENCY=(int)(0x00000002), - DMMEDIA_GLOSSY=(int)(0x00000003) -} -#else - { __donnot_use_enum_spoolss_DeviceModeMediaType=0x7FFFFFFF} -#define DMMEDIA_STANDARD ( 0x00000001 ) -#define DMMEDIA_TRANSPARENCY ( 0x00000002 ) -#define DMMEDIA_GLOSSY ( 0x00000003 ) -#endif -; - -enum spoolss_DeviceModeDitherType -#ifndef USE_UINT_ENUMS - { - DMDITHER_NONE=(int)(0x00000001), - DMDITHER_COARSE=(int)(0x00000002), - DMDITHER_FINE=(int)(0x00000003), - DMDITHER_LINEART=(int)(0x00000004), - DMDITHER_ERRORDIFFUSION=(int)(0x00000005), - DMDITHER_RESERVED6=(int)(0x00000006), - DMDITHER_RESERVED7=(int)(0x00000007), - DMDITHER_RESERVED8=(int)(0x00000008), - DMDITHER_RESERVED9=(int)(0x00000009), - DMDITHER_GRAYSCALE=(int)(0x0000000A) -} -#else - { __donnot_use_enum_spoolss_DeviceModeDitherType=0x7FFFFFFF} -#define DMDITHER_NONE ( 0x00000001 ) -#define DMDITHER_COARSE ( 0x00000002 ) -#define DMDITHER_FINE ( 0x00000003 ) -#define DMDITHER_LINEART ( 0x00000004 ) -#define DMDITHER_ERRORDIFFUSION ( 0x00000005 ) -#define DMDITHER_RESERVED6 ( 0x00000006 ) -#define DMDITHER_RESERVED7 ( 0x00000007 ) -#define DMDITHER_RESERVED8 ( 0x00000008 ) -#define DMDITHER_RESERVED9 ( 0x00000009 ) -#define DMDITHER_GRAYSCALE ( 0x0000000A ) -#endif -; - -struct spoolss_DeviceMode { - const char *devicename;/* [charset(UTF16)] */ - enum spoolss_DeviceModeSpecVersion specversion; - uint16_t driverversion; - uint16_t size; - uint16_t __driverextra_length;/* [value(r->driverextra_data.length)] */ - uint32_t fields; - enum spoolss_DeviceModeOrientation orientation; - enum spoolss_DeviceModePaperSize papersize; - uint16_t paperlength; - uint16_t paperwidth; - uint16_t scale; - uint16_t copies; - enum spoolss_DeviceModeDefaultSource defaultsource; - enum spoolss_DeviceModePrintQuality printquality; - enum spoolss_DeviceModeColor color; - enum spoolss_DeviceModeDuplex duplex; - uint16_t yresolution; - enum spoolss_DeviceModeTTOption ttoption; - enum spoolss_DeviceModeCollate collate; - const char *formname;/* [charset(UTF16)] */ - uint16_t logpixels; - uint32_t bitsperpel; - uint32_t pelswidth; - uint32_t pelsheight; - enum spoolss_DeviceModeNUp displayflags; - uint32_t displayfrequency; - enum spoolss_DeviceModeICMMethod icmmethod; - enum spoolss_DeviceModeICMIntent icmintent; - enum spoolss_DeviceModeMediaType mediatype; - enum spoolss_DeviceModeDitherType dithertype; - uint32_t reserved1; - uint32_t reserved2; - uint32_t panningwidth; - uint32_t panningheight; - DATA_BLOB driverextra_data;/* [subcontext_size(__driverextra_length),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */ -}/* [gensize,public] */; - -/* bitmap spoolss_EnumPrinterFlags */ -#define PRINTER_ENUM_DEFAULT ( 0x00000001 ) -#define PRINTER_ENUM_LOCAL ( 0x00000002 ) -#define PRINTER_ENUM_CONNECTIONS ( 0x00000004 ) -#define PRINTER_ENUM_FAVORITE ( 0x00000004 ) -#define PRINTER_ENUM_NAME ( 0x00000008 ) -#define PRINTER_ENUM_REMOTE ( 0x00000010 ) -#define PRINTER_ENUM_SHARED ( 0x00000020 ) -#define PRINTER_ENUM_NETWORK ( 0x00000040 ) -#define PRINTER_ENUM_EXPAND ( 0x00004000 ) -#define PRINTER_ENUM_CONTAINER ( 0x00008000 ) -#define PRINTER_ENUM_ICON1 ( 0x00010000 ) -#define PRINTER_ENUM_ICON2 ( 0x00020000 ) -#define PRINTER_ENUM_ICON3 ( 0x00040000 ) -#define PRINTER_ENUM_ICON4 ( 0x00080000 ) -#define PRINTER_ENUM_ICON5 ( 0x00100000 ) -#define PRINTER_ENUM_ICON6 ( 0x00200000 ) -#define PRINTER_ENUM_ICON7 ( 0x00400000 ) -#define PRINTER_ENUM_ICON8 ( 0x00800000 ) -#define PRINTER_ENUM_HIDE ( 0x01000000 ) - -/* bitmap spoolss_PrinterAttributes */ -#define PRINTER_ATTRIBUTE_QUEUED ( 0x00000001 ) -#define PRINTER_ATTRIBUTE_DIRECT ( 0x00000002 ) -#define PRINTER_ATTRIBUTE_DEFAULT ( 0x00000004 ) -#define PRINTER_ATTRIBUTE_SHARED ( 0x00000008 ) -#define PRINTER_ATTRIBUTE_NETWORK ( 0x00000010 ) -#define PRINTER_ATTRIBUTE_HIDDEN ( 0x00000020 ) -#define PRINTER_ATTRIBUTE_LOCAL ( 0x00000040 ) -#define PRINTER_ATTRIBUTE_ENABLE_DEVQ ( 0x00000080 ) -#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS ( 0x00000100 ) -#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST ( 0x00000200 ) -#define PRINTER_ATTRIBUTE_WORK_OFFLINE ( 0x00000400 ) -#define PRINTER_ATTRIBUTE_ENABLE_BIDI ( 0x00000800 ) -#define PRINTER_ATTRIBUTE_RAW_ONLY ( 0x00001000 ) -#define PRINTER_ATTRIBUTE_PUBLISHED ( 0x00002000 ) -#define PRINTER_ATTRIBUTE_FAX ( 0x00004000 ) -#define PRINTER_ATTRIBUTE_TS ( 0x00008000 ) - -struct spoolss_PrinterInfo1 { - uint32_t flags; - const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_PrinterInfo2 { - const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * sharename;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * portname;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * drivername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * comment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * location;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - const char * sepfile;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * printprocessor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - uint32_t attributes; - uint32_t priority;/* [range(0,99)] */ - uint32_t defaultpriority; - uint32_t starttime; - uint32_t untiltime; - uint32_t status; - uint32_t cjobs; - uint32_t averageppm; -}/* [gensize,public,nopush] */; - -struct spoolss_PrinterInfo3 { - struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ -}/* [gensize,public] */; - -struct spoolss_PrinterInfo4 { - const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * servername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t attributes; -}/* [gensize,public] */; - -struct spoolss_PrinterInfo5 { - const char * printername;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * portname;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t attributes; - uint32_t device_not_selected_timeout; - uint32_t transmission_retry_timeout; -}/* [gensize,public] */; - -struct spoolss_PrinterInfo6 { - uint32_t status; -}/* [gensize,public] */; - -/* bitmap spoolss_DsPrintAction */ -#define DSPRINT_PUBLISH ( 0x00000001 ) -#define DSPRINT_UPDATE ( 0x00000002 ) -#define DSPRINT_UNPUBLISH ( 0x00000004 ) -#define DSPRINT_REPUBLISH ( 0x00000008 ) -#define DSPRINT_PENDING ( 0x80000000 ) - -struct spoolss_PrinterInfo7 { - const char * guid;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t action; -}/* [gensize,public] */; - -struct spoolss_DeviceModeInfo { - struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ -}; - -union spoolss_PrinterInfo { - struct spoolss_PrinterInfo0 info0;/* [case(0)] */ - struct spoolss_PrinterInfo1 info1;/* [case] */ - struct spoolss_PrinterInfo2 info2;/* [case(2)] */ - struct spoolss_PrinterInfo3 info3;/* [case(3)] */ - struct spoolss_PrinterInfo4 info4;/* [case(4)] */ - struct spoolss_PrinterInfo5 info5;/* [case(5)] */ - struct spoolss_PrinterInfo6 info6;/* [case(6)] */ - struct spoolss_PrinterInfo7 info7;/* [case(7)] */ - struct spoolss_DeviceModeInfo info8;/* [case(8)] */ - struct spoolss_DeviceModeInfo info9;/* [case(9)] */ -}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_DevmodeContainer { - uint32_t _ndr_size;/* [value(_ndr_size_spoolss_DeviceMode(devmode,ndr->iconv_convenience,ndr->flags))] */ - struct spoolss_DeviceMode *devmode;/* [unique,subcontext_size(_ndr_size),subcontext(4)] */ -}; - -struct spoolss_JobInfo1 { - uint32_t job_id; - const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t status; - uint32_t priority;/* [range(0,99)] */ - uint32_t position; - uint32_t total_pages; - uint32_t pages_printed; - struct spoolss_Time submitted; -}/* [gensize,public] */; - -struct spoolss_JobInfo2 { - uint32_t job_id; - const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * notify_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - uint32_t status; - uint32_t priority;/* [range(0,99)] */ - uint32_t position; - uint32_t start_time; - uint32_t until_time; - uint32_t total_pages; - uint32_t size; - struct spoolss_Time submitted; - uint32_t time; - uint32_t pages_printed; -}/* [gensize,public] */; - -struct spoolss_JobInfo3 { - uint32_t job_id; - uint32_t next_job_id; - uint32_t reserved; -}/* [gensize,public] */; - -struct spoolss_JobInfo4 { - uint32_t job_id; - const char * printer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * server_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * user_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * document_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * notify_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_type;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * parameters;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_DeviceMode *devmode;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - const char * text_status;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_security_descriptor *secdesc;/* [relative,subcontext(0),flag(LIBNDR_FLAG_ALIGN4)] */ - uint32_t status; - uint32_t priority;/* [range(0,99)] */ - uint32_t position; - uint32_t start_time; - uint32_t until_time; - uint32_t total_pages; - uint32_t size; - struct spoolss_Time submitted; - uint32_t time; - uint32_t pages_printed; - uint32_t size_high; -}/* [gensize,public] */; - -union spoolss_JobInfo { - struct spoolss_JobInfo1 info1;/* [case] */ - struct spoolss_JobInfo2 info2;/* [case(2)] */ - struct spoolss_JobInfo3 info3;/* [case(3)] */ - struct spoolss_JobInfo4 info4;/* [case(4)] */ -}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_SetJobInfo1 { - uint32_t job_id; - const char *printer_name;/* [unique,charset(UTF16)] */ - const char *server_name;/* [unique,charset(UTF16)] */ - const char *user_name;/* [unique,charset(UTF16)] */ - const char *document_name;/* [unique,charset(UTF16)] */ - const char *data_type;/* [unique,charset(UTF16)] */ - const char *text_status;/* [unique,charset(UTF16)] */ - uint32_t status; - uint32_t priority;/* [range(0,99)] */ - uint32_t position; - uint32_t total_pages; - uint32_t pages_printed; - struct spoolss_Time submitted; -}; - -struct spoolss_SetJobInfo2 { - uint32_t job_id; - const char *printer_name;/* [unique,charset(UTF16)] */ - const char *server_name;/* [unique,charset(UTF16)] */ - const char *user_name;/* [unique,charset(UTF16)] */ - const char *document_name;/* [unique,charset(UTF16)] */ - const char *notify_name;/* [unique,charset(UTF16)] */ - const char *data_type;/* [unique,charset(UTF16)] */ - const char *print_processor;/* [unique,charset(UTF16)] */ - const char *parameters;/* [unique,charset(UTF16)] */ - const char *driver_name;/* [unique,charset(UTF16)] */ - uint32_t _devmode_ptr; - const char *text_status;/* [unique,charset(UTF16)] */ - uint32_t _secdesc_ptr; - uint32_t status; - uint32_t priority;/* [range(0,99)] */ - uint32_t position; - uint32_t start_time; - uint32_t until_time; - uint32_t total_pages; - uint32_t size; - struct spoolss_Time submitted; - uint32_t time; - uint32_t pages_printed; -}; - -struct spoolss_SetJobInfo4 { - uint32_t job_id; - const char *printer_name;/* [unique,charset(UTF16)] */ - const char *server_name;/* [unique,charset(UTF16)] */ - const char *user_name;/* [unique,charset(UTF16)] */ - const char *document_name;/* [unique,charset(UTF16)] */ - const char *notify_name;/* [unique,charset(UTF16)] */ - const char *data_type;/* [unique,charset(UTF16)] */ - const char *print_processor;/* [unique,charset(UTF16)] */ - const char *parameters;/* [unique,charset(UTF16)] */ - const char *driver_name;/* [unique,charset(UTF16)] */ - uint32_t _devmode_ptr; - const char *text_status;/* [unique,charset(UTF16)] */ - uint32_t _secdesc_ptr; - uint32_t status; - uint32_t priority;/* [range(0,99)] */ - uint32_t position; - uint32_t start_time; - uint32_t until_time; - uint32_t total_pages; - uint32_t size; - struct spoolss_Time submitted; - uint32_t time; - uint32_t pages_printed; - uint32_t size_high; -}; - -union spoolss_SetJobInfo { - struct spoolss_SetJobInfo1 *info1;/* [unique,case] */ - struct spoolss_SetJobInfo2 *info2;/* [unique,case(2)] */ - struct spoolss_JobInfo3 *info3;/* [unique,case(3)] */ - struct spoolss_SetJobInfo4 *info4;/* [unique,case(4)] */ -}/* [public] */; - -struct spoolss_JobInfoContainer { - uint32_t level; - union spoolss_SetJobInfo info;/* [switch_is(level)] */ -}; - -enum spoolss_JobControl -#ifndef USE_UINT_ENUMS - { - SPOOLSS_JOB_CONTROL_PAUSE=(int)(1), - SPOOLSS_JOB_CONTROL_RESUME=(int)(2), - SPOOLSS_JOB_CONTROL_CANCEL=(int)(3), - SPOOLSS_JOB_CONTROL_RESTART=(int)(4), - SPOOLSS_JOB_CONTROL_DELETE=(int)(5), - SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER=(int)(6), - SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED=(int)(7), - SPOOLSS_JOB_CONTROL_RETAIN=(int)(8), - SPOOLSS_JOB_CONTROL_RELEASE=(int)(9) -} -#else - { __donnot_use_enum_spoolss_JobControl=0x7FFFFFFF} -#define SPOOLSS_JOB_CONTROL_PAUSE ( 1 ) -#define SPOOLSS_JOB_CONTROL_RESUME ( 2 ) -#define SPOOLSS_JOB_CONTROL_CANCEL ( 3 ) -#define SPOOLSS_JOB_CONTROL_RESTART ( 4 ) -#define SPOOLSS_JOB_CONTROL_DELETE ( 5 ) -#define SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER ( 6 ) -#define SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED ( 7 ) -#define SPOOLSS_JOB_CONTROL_RETAIN ( 8 ) -#define SPOOLSS_JOB_CONTROL_RELEASE ( 9 ) -#endif -; - -enum spoolss_PrinterControl -#ifndef USE_UINT_ENUMS - { - SPOOLSS_PRINTER_CONTROL_UNPAUSE=(int)(0), - SPOOLSS_PRINTER_CONTROL_PAUSE=(int)(1), - SPOOLSS_PRINTER_CONTROL_RESUME=(int)(2), - SPOOLSS_PRINTER_CONTROL_PURGE=(int)(3), - SPOOLSS_PRINTER_CONTROL_SET_STATUS=(int)(4) -} -#else - { __donnot_use_enum_spoolss_PrinterControl=0x7FFFFFFF} -#define SPOOLSS_PRINTER_CONTROL_UNPAUSE ( 0 ) -#define SPOOLSS_PRINTER_CONTROL_PAUSE ( 1 ) -#define SPOOLSS_PRINTER_CONTROL_RESUME ( 2 ) -#define SPOOLSS_PRINTER_CONTROL_PURGE ( 3 ) -#define SPOOLSS_PRINTER_CONTROL_SET_STATUS ( 4 ) -#endif -; - -struct spoolss_SetPrinterInfo0 { - const char *servername;/* [unique,charset(UTF16)] */ - const char *printername;/* [unique,charset(UTF16)] */ - uint32_t cjobs; - uint32_t total_jobs; - uint32_t total_bytes; - struct spoolss_Time time; - uint32_t global_counter; - uint32_t total_pages; - uint32_t version; - enum spoolss_Build free_build; - uint32_t spooling; - uint32_t max_spooling; - uint32_t session_counter; - uint32_t num_error_out_of_paper; - uint32_t num_error_not_ready; - uint32_t job_error; - uint32_t number_of_processors; - enum spoolss_ProcessorType processor_type; - uint32_t high_part_total_bytes; - uint32_t change_id; - WERROR last_error; - uint32_t status; - uint32_t enumerate_network_printers; - uint32_t c_setprinter; - enum spoolss_ProcessorArchitecture processor_architecture; - uint16_t processor_level; - uint32_t ref_ic; - uint32_t reserved2; - uint32_t reserved3; -}; - -struct spoolss_SetPrinterInfo1 { - uint32_t flags; - const char *description;/* [unique,charset(UTF16)] */ - const char *name;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ -}; - -struct spoolss_SetPrinterInfo2 { - const char *servername;/* [unique,charset(UTF16)] */ - const char *printername;/* [unique,charset(UTF16)] */ - const char *sharename;/* [unique,charset(UTF16)] */ - const char *portname;/* [unique,charset(UTF16)] */ - const char *drivername;/* [unique,charset(UTF16)] */ - const char *comment;/* [unique,charset(UTF16)] */ - const char *location;/* [unique,charset(UTF16)] */ - uint32_t devmode_ptr; - const char *sepfile;/* [unique,charset(UTF16)] */ - const char *printprocessor;/* [unique,charset(UTF16)] */ - const char *datatype;/* [unique,charset(UTF16)] */ - const char *parameters;/* [unique,charset(UTF16)] */ - uint32_t secdesc_ptr; - uint32_t attributes; - uint32_t priority;/* [range(0,99)] */ - uint32_t defaultpriority; - uint32_t starttime; - uint32_t untiltime; - uint32_t status; - uint32_t cjobs; - uint32_t averageppm; -}; - -struct spoolss_SetPrinterInfo3 { - uint32_t sec_desc_ptr; -}; - -struct spoolss_SetPrinterInfo4 { - const char *printername;/* [unique,charset(UTF16)] */ - const char *servername;/* [unique,charset(UTF16)] */ - uint32_t attributes; -}; - -struct spoolss_SetPrinterInfo5 { - const char *printername;/* [unique,charset(UTF16)] */ - const char *portname;/* [unique,charset(UTF16)] */ - uint32_t attributes; - uint32_t device_not_selected_timeout; - uint32_t transmission_retry_timeout; -}; - -struct spoolss_SetPrinterInfo6 { - uint32_t status; -}; - -struct spoolss_SetPrinterInfo7 { - const char *guid;/* [unique,charset(UTF16)] */ - uint32_t action; -}; - -struct spoolss_SetPrinterInfo8 { - uint32_t devmode_ptr; -}; - -struct spoolss_SetPrinterInfo9 { - uint32_t devmode_ptr; -}; - -union spoolss_SetPrinterInfo { - struct spoolss_SetPrinterInfo0 *info0;/* [unique,case(0)] */ - struct spoolss_SetPrinterInfo1 *info1;/* [unique,case] */ - struct spoolss_SetPrinterInfo2 *info2;/* [unique,case(2)] */ - struct spoolss_SetPrinterInfo3 *info3;/* [unique,case(3)] */ - struct spoolss_SetPrinterInfo4 *info4;/* [unique,case(4)] */ - struct spoolss_SetPrinterInfo5 *info5;/* [unique,case(5)] */ - struct spoolss_SetPrinterInfo6 *info6;/* [unique,case(6)] */ - struct spoolss_SetPrinterInfo7 *info7;/* [unique,case(7)] */ - struct spoolss_SetPrinterInfo8 *info8;/* [unique,case(8)] */ - struct spoolss_SetPrinterInfo9 *info9;/* [unique,case(9)] */ -}/* [switch_type(uint32)] */; - -struct spoolss_SetPrinterInfoCtr { - uint32_t level; - union spoolss_SetPrinterInfo info;/* [switch_is(level)] */ -}; - -struct spoolss_StringArray { - uint32_t _ndr_size;/* [value((ndr_size_spoolss_StringArray(r,ndr->iconv_convenience,ndr->flags)-4)/2)] */ - const char ** string;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [public] */; - -struct spoolss_AddDriverInfo1 { - const char *driver_name;/* [unique,charset(UTF16)] */ -}; - -enum spoolss_DriverOSVersion -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DRIVER_VERSION_9X=(int)(0), - SPOOLSS_DRIVER_VERSION_NT35=(int)(1), - SPOOLSS_DRIVER_VERSION_NT4=(int)(2), - SPOOLSS_DRIVER_VERSION_200X=(int)(3) -} -#else - { __donnot_use_enum_spoolss_DriverOSVersion=0x7FFFFFFF} -#define SPOOLSS_DRIVER_VERSION_9X ( 0 ) -#define SPOOLSS_DRIVER_VERSION_NT35 ( 1 ) -#define SPOOLSS_DRIVER_VERSION_NT4 ( 2 ) -#define SPOOLSS_DRIVER_VERSION_200X ( 3 ) -#endif -; - -struct spoolss_AddDriverInfo2 { - enum spoolss_DriverOSVersion version; - const char *driver_name;/* [unique,charset(UTF16)] */ - const char *architecture;/* [unique,charset(UTF16)] */ - const char *driver_path;/* [unique,charset(UTF16)] */ - const char *data_file;/* [unique,charset(UTF16)] */ - const char *config_file;/* [unique,charset(UTF16)] */ -}; - -struct spoolss_AddDriverInfo3 { - enum spoolss_DriverOSVersion version; - const char *driver_name;/* [unique,charset(UTF16)] */ - const char *architecture;/* [unique,charset(UTF16)] */ - const char *driver_path;/* [unique,charset(UTF16)] */ - const char *data_file;/* [unique,charset(UTF16)] */ - const char *config_file;/* [unique,charset(UTF16)] */ - const char *help_file;/* [unique,charset(UTF16)] */ - const char *monitor_name;/* [unique,charset(UTF16)] */ - const char *default_datatype;/* [unique,charset(UTF16)] */ - uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *dependent_files;/* [unique] */ -}; - -struct spoolss_AddDriverInfo4 { - enum spoolss_DriverOSVersion version; - const char *driver_name;/* [unique,charset(UTF16)] */ - const char *architecture;/* [unique,charset(UTF16)] */ - const char *driver_path;/* [unique,charset(UTF16)] */ - const char *data_file;/* [unique,charset(UTF16)] */ - const char *config_file;/* [unique,charset(UTF16)] */ - const char *help_file;/* [unique,charset(UTF16)] */ - const char *monitor_name;/* [unique,charset(UTF16)] */ - const char *default_datatype;/* [unique,charset(UTF16)] */ - uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *dependent_files;/* [unique] */ - uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *previous_names;/* [unique] */ -}; - -/* bitmap spoolss_DriverAttributes */ -#define PRINTER_DRIVER_PACKAGE_AWARE ( 0x00000002 ) - -struct spoolss_AddDriverInfo5 { - enum spoolss_DriverOSVersion version; - const char *driver_name;/* [unique,charset(UTF16)] */ - const char *architecture;/* [unique,charset(UTF16)] */ - const char *driver_path;/* [unique,charset(UTF16)] */ - const char *data_file;/* [unique,charset(UTF16)] */ - const char *config_file;/* [unique,charset(UTF16)] */ - uint32_t driver_attributes; - uint32_t config_version; - uint32_t driver_version; -}; - -struct spoolss_AddDriverInfo6 { - enum spoolss_DriverOSVersion version; - const char *driver_name;/* [unique,charset(UTF16)] */ - const char *architecture;/* [unique,charset(UTF16)] */ - const char *driver_path;/* [unique,charset(UTF16)] */ - const char *data_file;/* [unique,charset(UTF16)] */ - const char *config_file;/* [unique,charset(UTF16)] */ - const char *help_file;/* [unique,charset(UTF16)] */ - const char *monitor_name;/* [unique,charset(UTF16)] */ - const char *default_datatype;/* [unique,charset(UTF16)] */ - uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *dependent_files;/* [unique] */ - uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *previous_names;/* [unique] */ - NTTIME driver_date; - uint64_t driver_version; - const char *manufacturer_name;/* [unique,charset(UTF16)] */ - const char *manufacturer_url;/* [unique,charset(UTF16)] */ - const char *hardware_id;/* [unique,charset(UTF16)] */ - const char *provider;/* [unique,charset(UTF16)] */ -}; - -struct spoolss_AddDriverInfo8 { - enum spoolss_DriverOSVersion version; - const char *driver_name;/* [unique,charset(UTF16)] */ - const char *architecture;/* [unique,charset(UTF16)] */ - const char *driver_path;/* [unique,charset(UTF16)] */ - const char *data_file;/* [unique,charset(UTF16)] */ - const char *config_file;/* [unique,charset(UTF16)] */ - const char *help_file;/* [unique,charset(UTF16)] */ - const char *monitor_name;/* [unique,charset(UTF16)] */ - const char *default_datatype;/* [unique,charset(UTF16)] */ - uint32_t _ndr_size_dependent_files;/* [value(((ndr_size_spoolss_StringArray(dependent_files,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *dependent_files;/* [unique] */ - uint32_t _ndr_size_previous_names;/* [value(((ndr_size_spoolss_StringArray(previous_names,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *previous_names;/* [unique] */ - NTTIME driver_date; - uint64_t driver_version; - const char *manufacturer_name;/* [unique,charset(UTF16)] */ - const char *manufacturer_url;/* [unique,charset(UTF16)] */ - const char *hardware_id;/* [unique,charset(UTF16)] */ - const char *provider;/* [unique,charset(UTF16)] */ - const char *print_processor;/* [unique,charset(UTF16)] */ - const char *vendor_setup;/* [unique,charset(UTF16)] */ - uint32_t _ndr_size_color_profiles;/* [value(((ndr_size_spoolss_StringArray(color_profiles,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *color_profiles;/* [unique] */ - const char *inf_path;/* [unique,charset(UTF16)] */ - uint32_t printer_driver_attributes; - uint32_t _ndr_size_core_driver_dependencies;/* [value(((ndr_size_spoolss_StringArray(core_driver_dependencies,ndr->iconv_convenience,ndr->flags)-4)/2))] */ - struct spoolss_StringArray *core_driver_dependencies;/* [unique] */ - NTTIME min_inbox_driver_ver_date; - uint64_t min_inbox_driver_ver_version; -}; - -union spoolss_AddDriverInfo { - struct spoolss_AddDriverInfo1 *info1;/* [unique,case] */ - struct spoolss_AddDriverInfo2 *info2;/* [unique,case(2)] */ - struct spoolss_AddDriverInfo3 *info3;/* [unique,case(3)] */ - struct spoolss_AddDriverInfo4 *info4;/* [unique,case(4)] */ - struct spoolss_AddDriverInfo6 *info6;/* [unique,case(6)] */ - struct spoolss_AddDriverInfo8 *info8;/* [unique,case(8)] */ -}/* [switch_type(uint32)] */; - -struct spoolss_AddDriverInfoCtr { - uint32_t level; - union spoolss_AddDriverInfo info;/* [switch_is(level)] */ -}; - -struct spoolss_DriverInfo1 { - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_DriverInfo2 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_DriverInfo3 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_DriverInfo4 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_DriverInfo5 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t driver_attributes; - uint32_t config_version; - uint32_t driver_version; -}/* [gensize,public] */; - -struct spoolss_DriverInfo6 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - NTTIME driver_date; - uint64_t driver_version; - const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_DriverInfo7 { - uint32_t size; - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * inf_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * install_source_root;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_DriverInfo8 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * driver_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - NTTIME driver_date; - uint64_t driver_version; - const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * print_processor;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * vendor_setup;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** color_profiles;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * inf_path;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t printer_driver_attributes; - const char ** core_driver_dependencies;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - NTTIME min_inbox_driver_ver_date; - uint64_t min_inbox_driver_ver_version; -}/* [gensize,public] */; - -enum spoolss_DriverFileType -#ifndef USE_UINT_ENUMS - { - SPOOLSS_DRIVER_FILE_TYPE_RENDERING=(int)(0x00000000), - SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION=(int)(0x00000001), - SPOOLSS_DRIVER_FILE_TYPE_DATA=(int)(0x00000002), - SPOOLSS_DRIVER_FILE_TYPE_HELP=(int)(0x00000003), - SPOOLSS_DRIVER_FILE_TYPE_OTHER=(int)(0x00000004) -} -#else - { __donnot_use_enum_spoolss_DriverFileType=0x7FFFFFFF} -#define SPOOLSS_DRIVER_FILE_TYPE_RENDERING ( 0x00000000 ) -#define SPOOLSS_DRIVER_FILE_TYPE_CONFIGURATION ( 0x00000001 ) -#define SPOOLSS_DRIVER_FILE_TYPE_DATA ( 0x00000002 ) -#define SPOOLSS_DRIVER_FILE_TYPE_HELP ( 0x00000003 ) -#define SPOOLSS_DRIVER_FILE_TYPE_OTHER ( 0x00000004 ) -#endif -; - -struct spoolss_DriverFileInfo { - const char * file_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - enum spoolss_DriverFileType file_type; - uint32_t file_version; -}/* [public] */; - -struct spoolss_DriverInfo101 { - enum spoolss_DriverOSVersion version; - const char * driver_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * architecture;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_DriverFileInfo *file_info;/* [relative,size_is(file_count)] */ - uint32_t file_count; - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - NTTIME driver_date; - uint64_t driver_version; - const char * manufacturer_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * manufacturer_url;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * hardware_id;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * provider;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,nopush,public,nopull] */; - -union spoolss_DriverInfo { - struct spoolss_DriverInfo1 info1;/* [case] */ - struct spoolss_DriverInfo2 info2;/* [case(2)] */ - struct spoolss_DriverInfo3 info3;/* [case(3)] */ - struct spoolss_DriverInfo4 info4;/* [case(4)] */ - struct spoolss_DriverInfo5 info5;/* [case(5)] */ - struct spoolss_DriverInfo6 info6;/* [case(6)] */ - struct spoolss_DriverInfo7 info7;/* [case(7)] */ - struct spoolss_DriverInfo8 info8;/* [case(8)] */ - struct spoolss_DriverInfo101 info101;/* [case(101)] */ -}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_DriverDirectoryInfo1 { - const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -union spoolss_DriverDirectoryInfo { - struct spoolss_DriverDirectoryInfo1 info1;/* [case] */ -}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_PrintProcessorInfo1 { - const char * print_processor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -union spoolss_PrintProcessorInfo { - struct spoolss_PrintProcessorInfo1 info1;/* [case] */ -}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_PrintProcessorDirectoryInfo1 { - const char * directory_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -union spoolss_PrintProcessorDirectoryInfo { - struct spoolss_PrintProcessorDirectoryInfo1 info1;/* [case] */ -}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_DocumentInfo1 { - const char *document_name;/* [unique,charset(UTF16)] */ - const char *output_file;/* [unique,charset(UTF16)] */ - const char *datatype;/* [unique,charset(UTF16)] */ -}; - -union spoolss_DocumentInfo { - struct spoolss_DocumentInfo1 *info1;/* [unique,case] */ -}/* [switch_type(uint32)] */; - -struct spoolss_OSVersion { - uint32_t _ndr_size;/* [value(ndr_size_spoolss_OSVersion(r,ndr->iconv_convenience,ndr->flags))] */ - uint32_t major; - uint32_t minor; - uint32_t build; - uint32_t platform_id;/* [value(2)] */ - const char * extra_string;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_OSVersionEx { - uint32_t _ndr_size;/* [value(ndr_size_spoolss_OSVersionEx(r,ndr->iconv_convenience,ndr->flags))] */ - uint32_t major; - uint32_t minor; - uint32_t build; - uint32_t platform_id;/* [value(2)] */ - const char * extra_string;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t service_pack_major; - uint16_t service_pack_minor; - uint16_t suite_mask; - uint8_t product_type; - uint8_t reserved; -}/* [gensize,public] */; - -union spoolss_PrinterData { - const char * string;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_SZ)] */ - DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING),case(REG_BINARY)] */ - uint32_t value;/* [case(REG_DWORD)] */ - const char ** string_array;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */ - DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */ -}/* [nodiscriminant,public] */; - -enum spoolss_FormFlags -#ifndef USE_UINT_ENUMS - { - SPOOLSS_FORM_USER=(int)(0), - SPOOLSS_FORM_BUILTIN=(int)(1), - SPOOLSS_FORM_PRINTER=(int)(2) -} -#else - { __donnot_use_enum_spoolss_FormFlags=0x7FFFFFFF} -#define SPOOLSS_FORM_USER ( 0 ) -#define SPOOLSS_FORM_BUILTIN ( 1 ) -#define SPOOLSS_FORM_PRINTER ( 2 ) -#endif -; - -struct spoolss_FormSize { - uint32_t width; - uint32_t height; -}; - -struct spoolss_FormArea { - uint32_t left; - uint32_t top; - uint32_t right; - uint32_t bottom; -}; - -struct spoolss_FormInfo1 { - enum spoolss_FormFlags flags; - const char * form_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_FormSize size; - struct spoolss_FormArea area; -}/* [gensize,public] */; - -/* bitmap spoolss_FormStringType */ -#define SPOOLSS_FORM_STRING_TYPE_NONE ( 0x00000001 ) -#define SPOOLSS_FORM_STRING_TYPE_MUI_DLL ( 0x00000002 ) -#define SPOOLSS_FORM_STRING_TYPE_LANG_PAIR ( 0x00000004 ) - -struct spoolss_FormInfo2 { - enum spoolss_FormFlags flags; - const char * form_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct spoolss_FormSize size; - struct spoolss_FormArea area; - const char * keyword;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t string_type; - const char * mui_dll;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t ressource_id; - const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t lang_id; - uint16_t unused; -}/* [gensize,public] */; - -union spoolss_FormInfo { - struct spoolss_FormInfo1 info1;/* [case] */ - struct spoolss_FormInfo2 info2;/* [case(2)] */ -}/* [gensize,relative_base,nodiscriminant,public,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_AddFormInfo1 { - enum spoolss_FormFlags flags; - const char *form_name;/* [unique,charset(UTF16)] */ - struct spoolss_FormSize size; - struct spoolss_FormArea area; -}; - -struct spoolss_AddFormInfo2 { - enum spoolss_FormFlags flags; - const char *form_name;/* [unique,charset(UTF16)] */ - struct spoolss_FormSize size; - struct spoolss_FormArea area; - const char *keyword;/* [unique,charset(DOS)] */ - uint32_t string_type; - const char *mui_dll;/* [unique,charset(UTF16)] */ - uint32_t ressource_id; - const char *display_name;/* [unique,charset(UTF16)] */ - uint32_t lang_id; -}; - -union spoolss_AddFormInfo { - struct spoolss_AddFormInfo1 *info1;/* [unique,case] */ - struct spoolss_AddFormInfo2 *info2;/* [unique,case(2)] */ -}/* [switch_type(uint32)] */; - -struct spoolss_PortInfo1 { - const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -/* bitmap spoolss_PortType */ -#define SPOOLSS_PORT_TYPE_WRITE ( 0x00000001 ) -#define SPOOLSS_PORT_TYPE_READ ( 0x00000002 ) -#define SPOOLSS_PORT_TYPE_REDIRECTED ( 0x00000004 ) -#define SPOOLSS_PORT_TYPE_NET_ATTACHED ( 0x00000008 ) - -struct spoolss_PortInfo2 { - const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t port_type; - uint32_t reserved; -}/* [gensize,public] */; - -enum spoolss_PortStatus -#ifndef USE_UINT_ENUMS - { - PORT_STATUS_CLEAR=(int)(0x00000000), - PORT_STATUS_OFFLINE=(int)(0x00000001), - PORT_STATUS_PAPER_JAM=(int)(0x00000002), - PORT_STATUS_PAPER_OUT=(int)(0x00000003), - PORT_STATUS_OUTPUT_BIN_FULL=(int)(0x00000004), - PORT_STATUS_PAPER_PROBLEM=(int)(0x00000005), - PORT_STATUS_NO_TONER=(int)(0x00000006), - PORT_STATUS_DOOR_OPEN=(int)(0x00000007), - PORT_STATUS_USER_INTERVENTION=(int)(0x00000008), - PORT_STATUS_OUT_OF_MEMORY=(int)(0x00000009), - PORT_STATUS_TONER_LOW=(int)(0x0000000A), - PORT_STATUS_WARMING_UP=(int)(0x0000000B), - PORT_STATUS_POWER_SAVE=(int)(0x0000000C) -} -#else - { __donnot_use_enum_spoolss_PortStatus=0x7FFFFFFF} -#define PORT_STATUS_CLEAR ( 0x00000000 ) -#define PORT_STATUS_OFFLINE ( 0x00000001 ) -#define PORT_STATUS_PAPER_JAM ( 0x00000002 ) -#define PORT_STATUS_PAPER_OUT ( 0x00000003 ) -#define PORT_STATUS_OUTPUT_BIN_FULL ( 0x00000004 ) -#define PORT_STATUS_PAPER_PROBLEM ( 0x00000005 ) -#define PORT_STATUS_NO_TONER ( 0x00000006 ) -#define PORT_STATUS_DOOR_OPEN ( 0x00000007 ) -#define PORT_STATUS_USER_INTERVENTION ( 0x00000008 ) -#define PORT_STATUS_OUT_OF_MEMORY ( 0x00000009 ) -#define PORT_STATUS_TONER_LOW ( 0x0000000A ) -#define PORT_STATUS_WARMING_UP ( 0x0000000B ) -#define PORT_STATUS_POWER_SAVE ( 0x0000000C ) -#endif -; - -enum spoolss_PortSeverity -#ifndef USE_UINT_ENUMS - { - PORT_STATUS_TYPE_ERROR=(int)(0x00000001), - PORT_STATUS_TYPE_WARNING=(int)(0x00000002), - PORT_STATUS_TYPE_INFO=(int)(0x00000003) -} -#else - { __donnot_use_enum_spoolss_PortSeverity=0x7FFFFFFF} -#define PORT_STATUS_TYPE_ERROR ( 0x00000001 ) -#define PORT_STATUS_TYPE_WARNING ( 0x00000002 ) -#define PORT_STATUS_TYPE_INFO ( 0x00000003 ) -#endif -; - -struct spoolss_PortInfo3 { - enum spoolss_PortStatus status; - const char * status_string;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - enum spoolss_PortSeverity severity; -}/* [gensize,public] */; - -struct spoolss_PortInfoFF { - const char * port_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB monitor_data; -}/* [gensize,public] */; - -union spoolss_PortInfo { - struct spoolss_PortInfo1 info1;/* [case] */ - struct spoolss_PortInfo2 info2;/* [case(2)] */ - struct spoolss_PortInfo3 info3;/* [case(3)] */ - struct spoolss_PortInfoFF infoFF;/* [case(0xff)] */ -}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_MonitorInfo1 { - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -struct spoolss_MonitorInfo2 { - const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * environment;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * dll_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -union spoolss_MonitorInfo { - struct spoolss_MonitorInfo1 info1;/* [case] */ - struct spoolss_MonitorInfo2 info2;/* [case(2)] */ -}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -struct spoolss_PrintProcDataTypesInfo1 { - const char * name_array;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -union spoolss_PrintProcDataTypesInfo { - struct spoolss_PrintProcDataTypesInfo1 info1;/* [case] */ -}/* [relative_base,public,nodiscriminant,flag(LIBNDR_FLAG_RELATIVE_REVERSE)] */; - -/* bitmap spoolss_PrinterChangeFlags */ -#define PRINTER_CHANGE_ADD_PRINTER ( 0x00000001 ) -#define PRINTER_CHANGE_SET_PRINTER ( 0x00000002 ) -#define PRINTER_CHANGE_DELETE_PRINTER ( 0x00000004 ) -#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER ( 0x00000008 ) -#define PRINTER_CHANGE_ADD_JOB ( 0x00000100 ) -#define PRINTER_CHANGE_SET_JOB ( 0x00000200 ) -#define PRINTER_CHANGE_DELETE_JOB ( 0x00000400 ) -#define PRINTER_CHANGE_WRITE_JOB ( 0x00000800 ) -#define PRINTER_CHANGE_ADD_FORM ( 0x00010000 ) -#define PRINTER_CHANGE_SET_FORM ( 0x00020000 ) -#define PRINTER_CHANGE_DELETE_FORM ( 0x00040000 ) -#define PRINTER_CHANGE_ADD_PORT ( 0x00100000 ) -#define PRINTER_CHANGE_CONFIGURE_PORT ( 0x00200000 ) -#define PRINTER_CHANGE_DELETE_PORT ( 0x00400000 ) -#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR ( 0x01000000 ) -#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR ( 0x04000000 ) -#define PRINTER_CHANGE_SERVER ( 0x08000000 ) -#define PRINTER_CHANGE_ADD_PRINTER_DRIVER ( 0x10000000 ) -#define PRINTER_CHANGE_SET_PRINTER_DRIVER ( 0x20000000 ) -#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER ( 0x40000000 ) -#define PRINTER_CHANGE_TIMEOUT ( 0x80000000 ) - -enum spoolss_JobNotifyField -#ifndef USE_UINT_ENUMS - { - JOB_NOTIFY_FIELD_PRINTER_NAME=(int)(0x00), - JOB_NOTIFY_FIELD_MACHINE_NAME=(int)(0x01), - JOB_NOTIFY_FIELD_PORT_NAME=(int)(0x02), - JOB_NOTIFY_FIELD_USER_NAME=(int)(0x03), - JOB_NOTIFY_FIELD_NOTIFY_NAME=(int)(0x04), - JOB_NOTIFY_FIELD_DATATYPE=(int)(0x05), - JOB_NOTIFY_FIELD_PRINT_PROCESSOR=(int)(0x06), - JOB_NOTIFY_FIELD_PARAMETERS=(int)(0x07), - JOB_NOTIFY_FIELD_DRIVER_NAME=(int)(0x08), - JOB_NOTIFY_FIELD_DEVMODE=(int)(0x09), - JOB_NOTIFY_FIELD_STATUS=(int)(0x0a), - JOB_NOTIFY_FIELD_STATUS_STRING=(int)(0x0b), - JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR=(int)(0x0c), - JOB_NOTIFY_FIELD_DOCUMENT=(int)(0x0d), - JOB_NOTIFY_FIELD_PRIORITY=(int)(0x0e), - JOB_NOTIFY_FIELD_POSITION=(int)(0x0f), - JOB_NOTIFY_FIELD_SUBMITTED=(int)(0x10), - JOB_NOTIFY_FIELD_START_TIME=(int)(0x11), - JOB_NOTIFY_FIELD_UNTIL_TIME=(int)(0x12), - JOB_NOTIFY_FIELD_TIME=(int)(0x13), - JOB_NOTIFY_FIELD_TOTAL_PAGES=(int)(0x14), - JOB_NOTIFY_FIELD_PAGES_PRINTED=(int)(0x15), - JOB_NOTIFY_FIELD_TOTAL_BYTES=(int)(0x16), - JOB_NOTIFY_FIELD_BYTES_PRINTED=(int)(0x17) -} -#else - { __donnot_use_enum_spoolss_JobNotifyField=0x7FFFFFFF} -#define JOB_NOTIFY_FIELD_PRINTER_NAME ( 0x00 ) -#define JOB_NOTIFY_FIELD_MACHINE_NAME ( 0x01 ) -#define JOB_NOTIFY_FIELD_PORT_NAME ( 0x02 ) -#define JOB_NOTIFY_FIELD_USER_NAME ( 0x03 ) -#define JOB_NOTIFY_FIELD_NOTIFY_NAME ( 0x04 ) -#define JOB_NOTIFY_FIELD_DATATYPE ( 0x05 ) -#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR ( 0x06 ) -#define JOB_NOTIFY_FIELD_PARAMETERS ( 0x07 ) -#define JOB_NOTIFY_FIELD_DRIVER_NAME ( 0x08 ) -#define JOB_NOTIFY_FIELD_DEVMODE ( 0x09 ) -#define JOB_NOTIFY_FIELD_STATUS ( 0x0a ) -#define JOB_NOTIFY_FIELD_STATUS_STRING ( 0x0b ) -#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR ( 0x0c ) -#define JOB_NOTIFY_FIELD_DOCUMENT ( 0x0d ) -#define JOB_NOTIFY_FIELD_PRIORITY ( 0x0e ) -#define JOB_NOTIFY_FIELD_POSITION ( 0x0f ) -#define JOB_NOTIFY_FIELD_SUBMITTED ( 0x10 ) -#define JOB_NOTIFY_FIELD_START_TIME ( 0x11 ) -#define JOB_NOTIFY_FIELD_UNTIL_TIME ( 0x12 ) -#define JOB_NOTIFY_FIELD_TIME ( 0x13 ) -#define JOB_NOTIFY_FIELD_TOTAL_PAGES ( 0x14 ) -#define JOB_NOTIFY_FIELD_PAGES_PRINTED ( 0x15 ) -#define JOB_NOTIFY_FIELD_TOTAL_BYTES ( 0x16 ) -#define JOB_NOTIFY_FIELD_BYTES_PRINTED ( 0x17 ) -#endif -; - -enum spoolss_PrintNotifyField -#ifndef USE_UINT_ENUMS - { - PRINTER_NOTIFY_FIELD_SERVER_NAME=(int)(0x00), - PRINTER_NOTIFY_FIELD_PRINTER_NAME=(int)(0x01), - PRINTER_NOTIFY_FIELD_SHARE_NAME=(int)(0x02), - PRINTER_NOTIFY_FIELD_PORT_NAME=(int)(0x03), - PRINTER_NOTIFY_FIELD_DRIVER_NAME=(int)(0x04), - PRINTER_NOTIFY_FIELD_COMMENT=(int)(0x05), - PRINTER_NOTIFY_FIELD_LOCATION=(int)(0x06), - PRINTER_NOTIFY_FIELD_DEVMODE=(int)(0x07), - PRINTER_NOTIFY_FIELD_SEPFILE=(int)(0x08), - PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR=(int)(0x09), - PRINTER_NOTIFY_FIELD_PARAMETERS=(int)(0x0a), - PRINTER_NOTIFY_FIELD_DATATYPE=(int)(0x0b), - PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR=(int)(0x0c), - PRINTER_NOTIFY_FIELD_ATTRIBUTES=(int)(0x0d), - PRINTER_NOTIFY_FIELD_PRIORITY=(int)(0x0e), - PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY=(int)(0x0f), - PRINTER_NOTIFY_FIELD_START_TIME=(int)(0x10), - PRINTER_NOTIFY_FIELD_UNTIL_TIME=(int)(0x11), - PRINTER_NOTIFY_FIELD_STATUS=(int)(0x12), - PRINTER_NOTIFY_FIELD_STATUS_STRING=(int)(0x13), - PRINTER_NOTIFY_FIELD_CJOBS=(int)(0x14), - PRINTER_NOTIFY_FIELD_AVERAGE_PPM=(int)(0x15), - PRINTER_NOTIFY_FIELD_TOTAL_PAGES=(int)(0x16), - PRINTER_NOTIFY_FIELD_PAGES_PRINTED=(int)(0x17), - PRINTER_NOTIFY_FIELD_TOTAL_BYTES=(int)(0x18), - PRINTER_NOTIFY_FIELD_BYTES_PRINTED=(int)(0x19), - PRINTER_NOTIFY_FIELD_OBJECT_GUID=(int)(0x1a), - PRINTER_NOTIFY_FIELD_FRIENDLY_NAME=(int)(0x1b) -} -#else - { __donnot_use_enum_spoolss_PrintNotifyField=0x7FFFFFFF} -#define PRINTER_NOTIFY_FIELD_SERVER_NAME ( 0x00 ) -#define PRINTER_NOTIFY_FIELD_PRINTER_NAME ( 0x01 ) -#define PRINTER_NOTIFY_FIELD_SHARE_NAME ( 0x02 ) -#define PRINTER_NOTIFY_FIELD_PORT_NAME ( 0x03 ) -#define PRINTER_NOTIFY_FIELD_DRIVER_NAME ( 0x04 ) -#define PRINTER_NOTIFY_FIELD_COMMENT ( 0x05 ) -#define PRINTER_NOTIFY_FIELD_LOCATION ( 0x06 ) -#define PRINTER_NOTIFY_FIELD_DEVMODE ( 0x07 ) -#define PRINTER_NOTIFY_FIELD_SEPFILE ( 0x08 ) -#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR ( 0x09 ) -#define PRINTER_NOTIFY_FIELD_PARAMETERS ( 0x0a ) -#define PRINTER_NOTIFY_FIELD_DATATYPE ( 0x0b ) -#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR ( 0x0c ) -#define PRINTER_NOTIFY_FIELD_ATTRIBUTES ( 0x0d ) -#define PRINTER_NOTIFY_FIELD_PRIORITY ( 0x0e ) -#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY ( 0x0f ) -#define PRINTER_NOTIFY_FIELD_START_TIME ( 0x10 ) -#define PRINTER_NOTIFY_FIELD_UNTIL_TIME ( 0x11 ) -#define PRINTER_NOTIFY_FIELD_STATUS ( 0x12 ) -#define PRINTER_NOTIFY_FIELD_STATUS_STRING ( 0x13 ) -#define PRINTER_NOTIFY_FIELD_CJOBS ( 0x14 ) -#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM ( 0x15 ) -#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES ( 0x16 ) -#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED ( 0x17 ) -#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES ( 0x18 ) -#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED ( 0x19 ) -#define PRINTER_NOTIFY_FIELD_OBJECT_GUID ( 0x1a ) -#define PRINTER_NOTIFY_FIELD_FRIENDLY_NAME ( 0x1b ) -#endif -; - -enum spoolss_NotifyType -#ifndef USE_UINT_ENUMS - { - PRINTER_NOTIFY_TYPE=(int)(0x00), - JOB_NOTIFY_TYPE=(int)(0x01) -} -#else - { __donnot_use_enum_spoolss_NotifyType=0x7FFFFFFF} -#define PRINTER_NOTIFY_TYPE ( 0x00 ) -#define JOB_NOTIFY_TYPE ( 0x01 ) -#endif -; - -union spoolss_Field { - uint16_t field;/* [case(PRINTER_NOTIFY_TYPE)] */ -}/* [noprint,nodiscriminant] */; - -struct spoolss_NotifyOptionType { - enum spoolss_NotifyType type; - uint16_t u1; - uint32_t u2; - uint32_t u3; - uint32_t count; - union spoolss_Field *fields;/* [unique,switch_is(type),size_is(count)] */ -}; - -/* bitmap spoolssNotifyOptionFlags */ -#define PRINTER_NOTIFY_OPTIONS_REFRESH ( 0x00000001 ) - -struct spoolss_NotifyOption { - uint32_t version;/* [value(2)] */ - uint32_t flags; - uint32_t count; - struct spoolss_NotifyOptionType *types;/* [unique,size_is(count)] */ -}; - -struct spoolss_NotifyString { - uint32_t size; - const char *string;/* [unique,charset(UTF16),size_is(size/2)] */ -}; - -enum spoolss_NotifyTable -#ifndef USE_UINT_ENUMS - { - NOTIFY_TABLE_DWORD=(int)(0x0001), - NOTIFY_TABLE_STRING=(int)(0x0002), - NOTIFY_TABLE_DEVMODE=(int)(0x0003), - NOTIFY_TABLE_TIME=(int)(0x0004), - NOTIFY_TABLE_SECURITYDESCRIPTOR=(int)(0x0005) -} -#else - { __donnot_use_enum_spoolss_NotifyTable=0x7FFFFFFF} -#define NOTIFY_TABLE_DWORD ( 0x0001 ) -#define NOTIFY_TABLE_STRING ( 0x0002 ) -#define NOTIFY_TABLE_DEVMODE ( 0x0003 ) -#define NOTIFY_TABLE_TIME ( 0x0004 ) -#define NOTIFY_TABLE_SECURITYDESCRIPTOR ( 0x0005 ) -#endif -; - -union spoolss_NotifyData { - uint32_t integer[2];/* [case] */ - struct spoolss_NotifyString string;/* [case(2)] */ - struct spoolss_DevmodeContainer devmode;/* [case(3)] */ - struct spoolss_TimeCtr time;/* [case(4)] */ - struct sec_desc_buf sd;/* [case(5)] */ -}/* [switch_type(uint32)] */; - -struct spoolss_Notify { - enum spoolss_NotifyType type; - union spoolss_Field field;/* [switch_is(type)] */ - enum spoolss_NotifyTable variable_type; - uint32_t job_id; - union spoolss_NotifyData data;/* [switch_is(variable_type)] */ -}; - -struct spoolss_NotifyInfo { - uint32_t version;/* [value(2)] */ - uint32_t flags; - uint32_t count; - struct spoolss_Notify *notifies;/* [size_is(count)] */ -}; - -union spoolss_ReplyPrinterInfo { - struct spoolss_NotifyInfo *info0;/* [unique,case(0)] */ -}/* [switch_type(uint32)] */; - -/* bitmap spoolss_PrinterNotifyFlags */ -#define PRINTER_NOTIFY_INFO_DISCARDED ( 0x00000001 ) -#define PRINTER_NOTIFY_INFO_DISCARDNOTED ( 0x00010000 ) -#define PRINTER_NOTIFY_INFO_COLOR_MISMATCH ( 0x00080000 ) - -struct spoolss_UserLevel1 { - uint32_t size; - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t build; - enum spoolss_MajorVersion major; - enum spoolss_MinorVersion minor; - enum spoolss_ProcessorArchitecture processor; -}; - -struct spoolss_UserLevel2 { - uint32_t not_used; -}; - -struct spoolss_UserLevel3 { - uint32_t size; - uint32_t flags; - uint32_t size2; - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t build; - enum spoolss_MajorVersion major; - enum spoolss_MinorVersion minor; - enum spoolss_ProcessorArchitecture processor; - uint64_t reserved; -}; - -union spoolss_UserLevel { - struct spoolss_UserLevel1 *level1;/* [unique,case] */ - struct spoolss_UserLevel2 *level2;/* [unique,case(2)] */ - struct spoolss_UserLevel3 *level3;/* [unique,case(3)] */ -}/* [switch_type(uint32)] */; - -struct spoolss_UserLevelCtr { - uint32_t level; - union spoolss_UserLevel user_info;/* [switch_is(level)] */ -}; - -/* bitmap spoolss_AccessRights */ -#define SERVER_ACCESS_ADMINISTER ( 0x00000001 ) -#define SERVER_ACCESS_ENUMERATE ( 0x00000002 ) -#define PRINTER_ACCESS_ADMINISTER ( 0x00000004 ) -#define PRINTER_ACCESS_USE ( 0x00000008 ) -#define JOB_ACCESS_ADMINISTER ( 0x00000010 ) -#define JOB_ACCESS_READ ( 0x00000020 ) - -struct spoolss_PrinterEnumValues { - const char * value_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t value_name_len;/* [value(2*strlen_m_term(value_name))] */ - enum winreg_Type type; - DATA_BLOB *data;/* [relative,subcontext_size(data_length),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */ - uint32_t data_length;/* [value(data->length)] */ -}/* [relative_base,gensize,public] */; - -union spoolss_KeyNames { - const char ** string_array;/* [default,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [nodiscriminant] */; - -/* bitmap spoolss_DeleteDriverFlags */ -#define DPD_DELETE_UNUSED_FILES ( 0x00000001 ) -#define DPD_DELETE_SPECIFIC_VERSION ( 0x00000002 ) -#define DPD_DELETE_ALL_FILES ( 0x00000004 ) - -enum spoolss_PortProtocol -#ifndef USE_UINT_ENUMS - { - PROTOCOL_RAWTCP_TYPE=(int)(1), - PROTOCOL_LPR_TYPE=(int)(2) -} -#else - { __donnot_use_enum_spoolss_PortProtocol=0x7FFFFFFF} -#define PROTOCOL_RAWTCP_TYPE ( 1 ) -#define PROTOCOL_LPR_TYPE ( 2 ) -#endif -; - -struct spoolss_PortData1 { - const char *portname;/* [charset(UTF16)] */ - uint32_t version;/* [value(0x00000001)] */ - enum spoolss_PortProtocol protocol; - uint32_t size;/* [value(sizeof(r))] */ - uint32_t reserved; - const char *hostaddress;/* [charset(UTF16)] */ - const char *snmpcommunity;/* [charset(UTF16)] */ - uint32_t dblspool; - const char *queue;/* [charset(UTF16)] */ - const char *ip_address;/* [charset(UTF16)] */ - const char *hardware_address;/* [charset(UTF16)] */ - const char *device_type;/* [charset(UTF16)] */ - uint32_t port_number; - uint32_t snmp_enabled; - uint32_t snmp_dev_index; -}/* [public] */; - -struct spoolss_PortData2 { - const char *portname;/* [charset(UTF16)] */ - uint32_t version;/* [value(0x00000002)] */ - enum spoolss_PortProtocol protocol; - uint32_t size;/* [value(sizeof(r))] */ - uint32_t reserved; - const char *hostaddress;/* [charset(UTF16)] */ - const char *snmpcommunity;/* [charset(UTF16)] */ - uint32_t dblspool; - const char *queue;/* [charset(UTF16)] */ - const char *device_type;/* [charset(UTF16)] */ - uint32_t port_number; - uint32_t snmp_enabled; - uint32_t snmp_dev_index; - uint32_t port_monitor_mib_index; -}/* [public] */; - -struct spoolss_MonitorUi { - const char * dll_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [public] */; - -/* bitmap spoolss_AddPrinterDriverExFlags */ -#define APD_STRICT_UPGRADE ( 0x00000001 ) -#define APD_STRICT_DOWNGRADE ( 0x00000002 ) -#define APD_COPY_ALL_FILES ( 0x00000004 ) -#define APD_COPY_NEW_FILES ( 0x00000008 ) -#define APD_COPY_FROM_DIRECTORY ( 0x00000010 ) -#define APD_DONT_COPY_FILES_TO_CLUSTER ( 0x00001000 ) -#define APD_COPY_TO_ALL_SPOOLERS ( 0x00002000 ) -#define APD_RETURN_BLOCKING_STATUS_CODE ( 0x00010000 ) - -struct spoolss_CorePrinterDriver { - struct GUID core_driver_guid; - NTTIME driver_date; - uint64_t driver_version; - const char *formname;/* [charset(UTF8)] */ -}; - - -struct _spoolss_EnumPrinters { - struct { - uint32_t flags; - const char *server;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumPrinters { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_PrinterInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumPrinters { - struct { - uint32_t flags; - const char *server;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_PrinterInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_OpenPrinter { - struct { - const char *printername;/* [unique,charset(UTF16)] */ - const char *datatype;/* [unique,charset(UTF16)] */ - struct spoolss_DevmodeContainer devmode_ctr; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_SetJob { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t job_id; - struct spoolss_JobInfoContainer *ctr;/* [unique] */ - enum spoolss_JobControl command; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetJob { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t job_id; - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - union spoolss_JobInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct _spoolss_EnumJobs { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t firstjob; - uint32_t numjobs; - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumJobs { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_JobInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumJobs { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t firstjob; - uint32_t numjobs; - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_JobInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPrinter { - struct { - const char *server;/* [unique,charset(UTF16)] */ - struct spoolss_SetPrinterInfoCtr *info_ctr;/* [ref] */ - struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */ - struct sec_desc_buf *secdesc_ctr;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_SetPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - struct spoolss_SetPrinterInfoCtr *info_ctr;/* [ref] */ - struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */ - struct sec_desc_buf *secdesc_ctr;/* [ref] */ - enum spoolss_PrinterControl command; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - union spoolss_PrinterInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPrinterDriver { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - struct spoolss_AddDriverInfoCtr *info_ctr;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct _spoolss_EnumPrinterDrivers { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *environment;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumPrinterDrivers { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_DriverInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumPrinterDrivers { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *environment;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_DriverInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinterDriver { - struct { - struct policy_handle *handle;/* [ref] */ - const char *architecture;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - union spoolss_DriverInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinterDriverDirectory { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *environment;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - union spoolss_DriverDirectoryInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterDriver { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *architecture;/* [charset(UTF16)] */ - const char *driver;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_AddPrintProcessor { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *architecture;/* [charset(UTF16)] */ - const char *path_name;/* [charset(UTF16)] */ - const char *print_processor_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct _spoolss_EnumPrintProcessors { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - const char *environment;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumPrintProcessors { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_PrintProcessorInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumPrintProcessors { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - const char *environment;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_PrintProcessorInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_GetPrintProcessorDirectory { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *environment;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - union spoolss_PrintProcessorDirectoryInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_StartDocPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - union spoolss_DocumentInfo info;/* [switch_is(level)] */ - } in; - - struct { - uint32_t *job_id;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_StartPagePrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_WritePrinter { - struct { - struct policy_handle *handle;/* [ref] */ - DATA_BLOB data; - uint32_t _data_size;/* [value(r->in.data.length)] */ - } in; - - struct { - uint32_t *num_written;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_EndPagePrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_AbortPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_ReadPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t data_size; - } in; - - struct { - uint8_t *data;/* [ref,size_is(data_size)] */ - uint32_t *_data_size;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_EndDocPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_AddJob { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - uint32_t offered; - uint8_t *buffer;/* [unique,size_is(offered)] */ - } in; - - struct { - uint32_t *needed;/* [ref] */ - uint8_t *buffer;/* [unique,size_is(offered)] */ - WERROR result; - } out; - -}; - - -struct spoolss_ScheduleJob { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t jobid; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinterData { - struct { - struct policy_handle *handle;/* [ref] */ - const char *value_name;/* [charset(UTF16)] */ - uint32_t offered; - } in; - - struct { - enum winreg_Type *type;/* [ref] */ - uint8_t *data;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_SetPrinterData { - struct { - struct policy_handle *handle;/* [ref] */ - const char *value_name;/* [charset(UTF16)] */ - enum winreg_Type type; - uint8_t *data;/* [ref,size_is(offered)] */ - uint32_t offered; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_WaitForPrinterChange { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_ClosePrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddForm { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - union spoolss_AddFormInfo info;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeleteForm { - struct { - struct policy_handle *handle;/* [ref] */ - const char *form_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetForm { - struct { - struct policy_handle *handle;/* [ref] */ - const char *form_name;/* [charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - union spoolss_FormInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_SetForm { - struct { - struct policy_handle *handle;/* [ref] */ - const char *form_name;/* [charset(UTF16)] */ - uint32_t level; - union spoolss_AddFormInfo info;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct _spoolss_EnumForms { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumForms { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_FormInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumForms { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_FormInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct _spoolss_EnumPorts { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumPorts { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_PortInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumPorts { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_PortInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct _spoolss_EnumMonitors { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumMonitors { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_MonitorInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumMonitors { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_MonitorInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPort { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t unknown; - const char *monitor_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_ConfigurePort { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePort { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_CreatePrinterIC { - struct { - struct policy_handle *handle;/* [ref] */ - struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */ - } in; - - struct { - struct policy_handle *gdi_handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_PlayGDIScriptOnPrinterIC { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterIC { - struct { - struct policy_handle *gdi_handle;/* [ref] */ - } in; - - struct { - struct policy_handle *gdi_handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPrinterConnection { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterConnection { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_PrinterMessageBox { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_AddMonitor { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeleteMonitor { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrintProcessor { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_AddPrintProvidor { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrintProvidor { - struct { - WERROR result; - } out; - -}; - - -struct _spoolss_EnumPrintProcDataTypes { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - const char *print_processor_name;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB *info;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumPrintProcDataTypes { - struct { - uint32_t level; - uint32_t count; - } in; - - struct { - union spoolss_PrintProcDataTypesInfo *info;/* [switch_is(level)] */ - } out; - -}; - - -struct spoolss_EnumPrintProcDataTypes { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - const char *print_processor_name;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - union spoolss_PrintProcDataTypesInfo **info;/* [ref,switch_is(level),size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_ResetPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - const char *data_type;/* [unique,charset(UTF16)] */ - struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinterDriver2 { - struct { - struct policy_handle *handle;/* [ref] */ - const char *architecture;/* [unique,charset(UTF16)] */ - uint32_t level; - DATA_BLOB *buffer;/* [unique] */ - uint32_t offered; - uint32_t client_major_version; - uint32_t client_minor_version; - } in; - - struct { - union spoolss_DriverInfo *info;/* [unique,subcontext_size(offered),subcontext(4),switch_is(level)] */ - uint32_t *needed;/* [ref] */ - uint32_t *server_major_version;/* [ref] */ - uint32_t *server_minor_version;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_FindFirstPrinterChangeNotification { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_FindNextPrinterChangeNotification { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_FindClosePrinterNotify { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_RouterFindFirstPrinterChangeNotificationOld { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_ReplyOpenPrinter { - struct { - const char *server_name;/* [charset(UTF16)] */ - uint32_t printer_local; - enum winreg_Type type; - uint32_t bufsize;/* [range(0,512)] */ - uint8_t *buffer;/* [unique,size_is(bufsize)] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_RouterReplyPrinter { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t flags; - uint32_t bufsize;/* [range(0,512)] */ - uint8_t *buffer;/* [unique,size_is(bufsize)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_ReplyClosePrinter { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPortEx { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_RouterFindFirstPrinterChangeNotification { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_SpoolerInit { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_ResetPrinterEx { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_RemoteFindFirstPrinterChangeNotifyEx { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t flags; - uint32_t options; - const char *local_machine;/* [unique,charset(UTF16)] */ - uint32_t printer_local; - struct spoolss_NotifyOption *notify_options;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_RouterReplyPrinterEx { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t color; - uint32_t flags; - uint32_t reply_type; - union spoolss_ReplyPrinterInfo info;/* [switch_is(reply_type)] */ - } in; - - struct { - uint32_t *reply_result;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_RouterRefreshPrinterChangeNotify { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t change_low; - struct spoolss_NotifyOption *options;/* [unique] */ - } in; - - struct { - struct spoolss_NotifyInfo **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_44 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_OpenPrinterEx { - struct { - const char *printername;/* [unique,charset(UTF16)] */ - const char *datatype;/* [unique,charset(UTF16)] */ - struct spoolss_DevmodeContainer devmode_ctr; - uint32_t access_mask; - uint32_t level; - union spoolss_UserLevel userlevel;/* [switch_is(level)] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPrinterEx { - struct { - const char *server;/* [unique,charset(UTF16)] */ - struct spoolss_SetPrinterInfoCtr *info_ctr;/* [ref] */ - struct spoolss_DevmodeContainer *devmode_ctr;/* [ref] */ - struct sec_desc_buf *secdesc_ctr;/* [ref] */ - struct spoolss_UserLevelCtr *userlevel_ctr;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_47 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_EnumPrinterData { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t enum_index; - uint32_t value_offered; - uint32_t data_offered; - } in; - - struct { - const char *value_name;/* [charset(UTF16),size_is(value_offered/2)] */ - uint32_t *value_needed;/* [ref] */ - enum winreg_Type *type;/* [ref] */ - uint8_t *data;/* [ref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(data_offered)] */ - uint32_t *data_needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterData { - struct { - struct policy_handle *handle;/* [ref] */ - const char *value_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_4a { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_4b { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_4c { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_SetPrinterDataEx { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - const char *value_name;/* [charset(UTF16)] */ - enum winreg_Type type; - uint8_t *data;/* [ref,size_is(offered)] */ - uint32_t offered; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinterDataEx { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - const char *value_name;/* [charset(UTF16)] */ - uint32_t offered; - } in; - - struct { - enum winreg_Type *type;/* [ref] */ - uint8_t *data;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct _spoolss_EnumPrinterDataEx { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - uint32_t offered; - } in; - - struct { - DATA_BLOB info; - uint32_t *needed;/* [ref] */ - uint32_t *count;/* [ref] */ - WERROR result; - } out; - -}; - - -struct __spoolss_EnumPrinterDataEx { - struct { - uint32_t count; - } in; - - struct { - struct spoolss_PrinterEnumValues *info; - } out; - -}; - - -struct spoolss_EnumPrinterDataEx { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - uint32_t offered; - } in; - - struct { - uint32_t *count;/* [ref] */ - struct spoolss_PrinterEnumValues **info;/* [ref,size_is(,*count)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_EnumPrinterKey { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - uint32_t offered; - } in; - - struct { - uint32_t *_ndr_size;/* [ref] */ - union spoolss_KeyNames *key_buffer;/* [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterDataEx { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - const char *value_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterKey { - struct { - struct policy_handle *handle;/* [ref] */ - const char *key_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_53 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_DeletePrinterDriverEx { - struct { - const char *server;/* [unique,charset(UTF16)] */ - const char *architecture;/* [charset(UTF16)] */ - const char *driver;/* [charset(UTF16)] */ - uint32_t delete_flags; - uint32_t version; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_55 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_56 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_57 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_XcvData { - struct { - struct policy_handle *handle;/* [ref] */ - const char *function_name;/* [charset(UTF16)] */ - DATA_BLOB in_data; - uint32_t _in_data_length;/* [value(r->in.in_data.length)] */ - uint32_t out_data_size; - uint32_t *status_code;/* [ref] */ - } in; - - struct { - uint8_t *out_data;/* [ref,size_is(out_data_size)] */ - uint32_t *needed;/* [ref] */ - uint32_t *status_code;/* [ref] */ - WERROR result; - } out; - -}; - - -struct spoolss_AddPrinterDriverEx { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - struct spoolss_AddDriverInfoCtr *info_ctr;/* [ref] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct spoolss_5a { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_5b { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_5c { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_5d { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_5e { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_5f { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_60 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_61 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_62 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_63 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_64 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_65 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetCorePrinterDrivers { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - const char *architecture;/* [ref,charset(UTF16)] */ - uint32_t core_driver_size; - const char *core_driver_dependencies;/* [ref,charset(UTF16),size_is(core_driver_size)] */ - uint32_t core_printer_driver_count; - } in; - - struct { - struct spoolss_CorePrinterDriver *core_printer_drivers;/* [ref,size_is(core_printer_driver_count)] */ - WERROR result; - } out; - -}; - - -struct spoolss_67 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_GetPrinterDriverPackagePath { - struct { - const char *servername;/* [unique,charset(UTF16)] */ - const char *architecture;/* [ref,charset(UTF16)] */ - const char *language;/* [unique,charset(UTF16)] */ - const char *package_id;/* [ref,charset(UTF16)] */ - uint32_t driver_package_cab_size; - const char *driver_package_cab;/* [unique,charset(UTF16),size_is(driver_package_cab_size)] */ - } in; - - struct { - uint32_t *required;/* [ref] */ - const char *driver_package_cab;/* [unique,charset(UTF16),size_is(driver_package_cab_size)] */ - WERROR result; - } out; - -}; - - -struct spoolss_69 { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_6a { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_6b { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_6c { - struct { - WERROR result; - } out; - -}; - - -struct spoolss_6d { - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_spoolss */ diff --git a/librpc/gen_ndr/srv_dfs.c b/librpc/gen_ndr/srv_dfs.c deleted file mode 100644 index 9d35e581469..00000000000 --- a/librpc/gen_ndr/srv_dfs.c +++ /dev/null @@ -1,1931 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_dfs.h" - -static bool api_dfs_GetManagerVersion(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_GetManagerVersion *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_GETMANAGERVERSION]; - - r = talloc(talloc_tos(), struct dfs_GetManagerVersion); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_GetManagerVersion, r); - } - - ZERO_STRUCT(r->out); - r->out.version = talloc_zero(r, enum dfs_ManagerVersion); - if (r->out.version == NULL) { - talloc_free(r); - return false; - } - - _dfs_GetManagerVersion(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_GetManagerVersion, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Add(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Add *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ADD]; - - r = talloc(talloc_tos(), struct dfs_Add); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Add, r); - } - - r->out.result = _dfs_Add(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Add, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Remove(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Remove *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_REMOVE]; - - r = talloc(talloc_tos(), struct dfs_Remove); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Remove, r); - } - - r->out.result = _dfs_Remove(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Remove, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_SetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_SetInfo *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_SETINFO]; - - r = talloc(talloc_tos(), struct dfs_SetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_SetInfo, r); - } - - r->out.result = _dfs_SetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_SetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_GetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_GetInfo *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_GETINFO]; - - r = talloc(talloc_tos(), struct dfs_GetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_GetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union dfs_Info); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _dfs_GetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_GetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Enum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Enum *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ENUM]; - - r = talloc(talloc_tos(), struct dfs_Enum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Enum, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.total = r->in.total; - r->out.result = _dfs_Enum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Enum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Rename(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Rename *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_RENAME]; - - r = talloc(talloc_tos(), struct dfs_Rename); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Rename, r); - } - - r->out.result = _dfs_Rename(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Rename, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Move(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Move *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_MOVE]; - - r = talloc(talloc_tos(), struct dfs_Move); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Move, r); - } - - r->out.result = _dfs_Move(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Move, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_ManagerGetConfigInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_ManagerGetConfigInfo *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_MANAGERGETCONFIGINFO]; - - r = talloc(talloc_tos(), struct dfs_ManagerGetConfigInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_ManagerGetConfigInfo, r); - } - - r->out.result = _dfs_ManagerGetConfigInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_ManagerGetConfigInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_ManagerSendSiteInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_ManagerSendSiteInfo *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_MANAGERSENDSITEINFO]; - - r = talloc(talloc_tos(), struct dfs_ManagerSendSiteInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_ManagerSendSiteInfo, r); - } - - r->out.result = _dfs_ManagerSendSiteInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_ManagerSendSiteInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_AddFtRoot(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_AddFtRoot *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ADDFTROOT]; - - r = talloc(talloc_tos(), struct dfs_AddFtRoot); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_AddFtRoot, r); - } - - ZERO_STRUCT(r->out); - r->out.unknown2 = r->in.unknown2; - r->out.result = _dfs_AddFtRoot(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_AddFtRoot, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_RemoveFtRoot(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_RemoveFtRoot *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_REMOVEFTROOT]; - - r = talloc(talloc_tos(), struct dfs_RemoveFtRoot); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_RemoveFtRoot, r); - } - - ZERO_STRUCT(r->out); - r->out.unknown = r->in.unknown; - r->out.result = _dfs_RemoveFtRoot(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_RemoveFtRoot, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_AddStdRoot(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_AddStdRoot *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ADDSTDROOT]; - - r = talloc(talloc_tos(), struct dfs_AddStdRoot); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_AddStdRoot, r); - } - - r->out.result = _dfs_AddStdRoot(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_AddStdRoot, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_RemoveStdRoot(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_RemoveStdRoot *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_REMOVESTDROOT]; - - r = talloc(talloc_tos(), struct dfs_RemoveStdRoot); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_RemoveStdRoot, r); - } - - r->out.result = _dfs_RemoveStdRoot(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_RemoveStdRoot, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_ManagerInitialize(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_ManagerInitialize *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_MANAGERINITIALIZE]; - - r = talloc(talloc_tos(), struct dfs_ManagerInitialize); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_ManagerInitialize, r); - } - - r->out.result = _dfs_ManagerInitialize(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_ManagerInitialize, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_AddStdRootForced(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_AddStdRootForced *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ADDSTDROOTFORCED]; - - r = talloc(talloc_tos(), struct dfs_AddStdRootForced); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_AddStdRootForced, r); - } - - r->out.result = _dfs_AddStdRootForced(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_AddStdRootForced, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_GetDcAddress(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_GetDcAddress *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_GETDCADDRESS]; - - r = talloc(talloc_tos(), struct dfs_GetDcAddress); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_GetDcAddress, r); - } - - ZERO_STRUCT(r->out); - r->out.server_fullname = r->in.server_fullname; - r->out.is_root = r->in.is_root; - r->out.ttl = r->in.ttl; - r->out.result = _dfs_GetDcAddress(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_GetDcAddress, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_SetDcAddress(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_SetDcAddress *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_SETDCADDRESS]; - - r = talloc(talloc_tos(), struct dfs_SetDcAddress); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_SetDcAddress, r); - } - - r->out.result = _dfs_SetDcAddress(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_SetDcAddress, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_FlushFtTable(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_FlushFtTable *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_FLUSHFTTABLE]; - - r = talloc(talloc_tos(), struct dfs_FlushFtTable); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_FlushFtTable, r); - } - - r->out.result = _dfs_FlushFtTable(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_FlushFtTable, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Add2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Add2 *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ADD2]; - - r = talloc(talloc_tos(), struct dfs_Add2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Add2, r); - } - - r->out.result = _dfs_Add2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Add2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_Remove2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_Remove2 *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_REMOVE2]; - - r = talloc(talloc_tos(), struct dfs_Remove2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_Remove2, r); - } - - r->out.result = _dfs_Remove2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_Remove2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_EnumEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_EnumEx *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_ENUMEX]; - - r = talloc(talloc_tos(), struct dfs_EnumEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_EnumEx, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.total = r->in.total; - r->out.result = _dfs_EnumEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_EnumEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dfs_SetInfo2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dfs_SetInfo2 *r; - - call = &ndr_table_netdfs.calls[NDR_DFS_SETINFO2]; - - r = talloc(talloc_tos(), struct dfs_SetInfo2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dfs_SetInfo2, r); - } - - r->out.result = _dfs_SetInfo2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dfs_SetInfo2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_netdfs_cmds[] = -{ - {"DFS_GETMANAGERVERSION", NDR_DFS_GETMANAGERVERSION, api_dfs_GetManagerVersion}, - {"DFS_ADD", NDR_DFS_ADD, api_dfs_Add}, - {"DFS_REMOVE", NDR_DFS_REMOVE, api_dfs_Remove}, - {"DFS_SETINFO", NDR_DFS_SETINFO, api_dfs_SetInfo}, - {"DFS_GETINFO", NDR_DFS_GETINFO, api_dfs_GetInfo}, - {"DFS_ENUM", NDR_DFS_ENUM, api_dfs_Enum}, - {"DFS_RENAME", NDR_DFS_RENAME, api_dfs_Rename}, - {"DFS_MOVE", NDR_DFS_MOVE, api_dfs_Move}, - {"DFS_MANAGERGETCONFIGINFO", NDR_DFS_MANAGERGETCONFIGINFO, api_dfs_ManagerGetConfigInfo}, - {"DFS_MANAGERSENDSITEINFO", NDR_DFS_MANAGERSENDSITEINFO, api_dfs_ManagerSendSiteInfo}, - {"DFS_ADDFTROOT", NDR_DFS_ADDFTROOT, api_dfs_AddFtRoot}, - {"DFS_REMOVEFTROOT", NDR_DFS_REMOVEFTROOT, api_dfs_RemoveFtRoot}, - {"DFS_ADDSTDROOT", NDR_DFS_ADDSTDROOT, api_dfs_AddStdRoot}, - {"DFS_REMOVESTDROOT", NDR_DFS_REMOVESTDROOT, api_dfs_RemoveStdRoot}, - {"DFS_MANAGERINITIALIZE", NDR_DFS_MANAGERINITIALIZE, api_dfs_ManagerInitialize}, - {"DFS_ADDSTDROOTFORCED", NDR_DFS_ADDSTDROOTFORCED, api_dfs_AddStdRootForced}, - {"DFS_GETDCADDRESS", NDR_DFS_GETDCADDRESS, api_dfs_GetDcAddress}, - {"DFS_SETDCADDRESS", NDR_DFS_SETDCADDRESS, api_dfs_SetDcAddress}, - {"DFS_FLUSHFTTABLE", NDR_DFS_FLUSHFTTABLE, api_dfs_FlushFtTable}, - {"DFS_ADD2", NDR_DFS_ADD2, api_dfs_Add2}, - {"DFS_REMOVE2", NDR_DFS_REMOVE2, api_dfs_Remove2}, - {"DFS_ENUMEX", NDR_DFS_ENUMEX, api_dfs_EnumEx}, - {"DFS_SETINFO2", NDR_DFS_SETINFO2, api_dfs_SetInfo2}, -}; - -void netdfs_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_netdfs_cmds; - *n_fns = sizeof(api_netdfs_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_netdfs_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_DFS_GETMANAGERVERSION: { - struct dfs_GetManagerVersion *r = (struct dfs_GetManagerVersion *)_r; - ZERO_STRUCT(r->out); - r->out.version = talloc_zero(mem_ctx, enum dfs_ManagerVersion); - if (r->out.version == NULL) { - return NT_STATUS_NO_MEMORY; - } - - _dfs_GetManagerVersion(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ADD: { - struct dfs_Add *r = (struct dfs_Add *)_r; - r->out.result = _dfs_Add(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_REMOVE: { - struct dfs_Remove *r = (struct dfs_Remove *)_r; - r->out.result = _dfs_Remove(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_SETINFO: { - struct dfs_SetInfo *r = (struct dfs_SetInfo *)_r; - r->out.result = _dfs_SetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_GETINFO: { - struct dfs_GetInfo *r = (struct dfs_GetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union dfs_Info); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _dfs_GetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ENUM: { - struct dfs_Enum *r = (struct dfs_Enum *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.total = r->in.total; - r->out.result = _dfs_Enum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_RENAME: { - struct dfs_Rename *r = (struct dfs_Rename *)_r; - r->out.result = _dfs_Rename(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_MOVE: { - struct dfs_Move *r = (struct dfs_Move *)_r; - r->out.result = _dfs_Move(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_MANAGERGETCONFIGINFO: { - struct dfs_ManagerGetConfigInfo *r = (struct dfs_ManagerGetConfigInfo *)_r; - r->out.result = _dfs_ManagerGetConfigInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_MANAGERSENDSITEINFO: { - struct dfs_ManagerSendSiteInfo *r = (struct dfs_ManagerSendSiteInfo *)_r; - r->out.result = _dfs_ManagerSendSiteInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ADDFTROOT: { - struct dfs_AddFtRoot *r = (struct dfs_AddFtRoot *)_r; - ZERO_STRUCT(r->out); - r->out.unknown2 = r->in.unknown2; - r->out.result = _dfs_AddFtRoot(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_REMOVEFTROOT: { - struct dfs_RemoveFtRoot *r = (struct dfs_RemoveFtRoot *)_r; - ZERO_STRUCT(r->out); - r->out.unknown = r->in.unknown; - r->out.result = _dfs_RemoveFtRoot(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ADDSTDROOT: { - struct dfs_AddStdRoot *r = (struct dfs_AddStdRoot *)_r; - r->out.result = _dfs_AddStdRoot(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_REMOVESTDROOT: { - struct dfs_RemoveStdRoot *r = (struct dfs_RemoveStdRoot *)_r; - r->out.result = _dfs_RemoveStdRoot(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_MANAGERINITIALIZE: { - struct dfs_ManagerInitialize *r = (struct dfs_ManagerInitialize *)_r; - r->out.result = _dfs_ManagerInitialize(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ADDSTDROOTFORCED: { - struct dfs_AddStdRootForced *r = (struct dfs_AddStdRootForced *)_r; - r->out.result = _dfs_AddStdRootForced(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_GETDCADDRESS: { - struct dfs_GetDcAddress *r = (struct dfs_GetDcAddress *)_r; - ZERO_STRUCT(r->out); - r->out.server_fullname = r->in.server_fullname; - r->out.is_root = r->in.is_root; - r->out.ttl = r->in.ttl; - r->out.result = _dfs_GetDcAddress(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_SETDCADDRESS: { - struct dfs_SetDcAddress *r = (struct dfs_SetDcAddress *)_r; - r->out.result = _dfs_SetDcAddress(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_FLUSHFTTABLE: { - struct dfs_FlushFtTable *r = (struct dfs_FlushFtTable *)_r; - r->out.result = _dfs_FlushFtTable(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ADD2: { - struct dfs_Add2 *r = (struct dfs_Add2 *)_r; - r->out.result = _dfs_Add2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_REMOVE2: { - struct dfs_Remove2 *r = (struct dfs_Remove2 *)_r; - r->out.result = _dfs_Remove2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_ENUMEX: { - struct dfs_EnumEx *r = (struct dfs_EnumEx *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.total = r->in.total; - r->out.result = _dfs_EnumEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DFS_SETINFO2: { - struct dfs_SetInfo2 *r = (struct dfs_SetInfo2 *)_r; - r->out.result = _dfs_SetInfo2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_netdfs_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "netdfs", "netdfs", &ndr_table_netdfs, api_netdfs_cmds, sizeof(api_netdfs_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_dfs.h b/librpc/gen_ndr/srv_dfs.h deleted file mode 100644 index 89f3ed1a185..00000000000 --- a/librpc/gen_ndr/srv_dfs.h +++ /dev/null @@ -1,53 +0,0 @@ -#include "../librpc/gen_ndr/ndr_dfs.h" -#ifndef __SRV_NETDFS__ -#define __SRV_NETDFS__ -void _dfs_GetManagerVersion(pipes_struct *p, struct dfs_GetManagerVersion *r); -WERROR _dfs_Add(pipes_struct *p, struct dfs_Add *r); -WERROR _dfs_Remove(pipes_struct *p, struct dfs_Remove *r); -WERROR _dfs_SetInfo(pipes_struct *p, struct dfs_SetInfo *r); -WERROR _dfs_GetInfo(pipes_struct *p, struct dfs_GetInfo *r); -WERROR _dfs_Enum(pipes_struct *p, struct dfs_Enum *r); -WERROR _dfs_Rename(pipes_struct *p, struct dfs_Rename *r); -WERROR _dfs_Move(pipes_struct *p, struct dfs_Move *r); -WERROR _dfs_ManagerGetConfigInfo(pipes_struct *p, struct dfs_ManagerGetConfigInfo *r); -WERROR _dfs_ManagerSendSiteInfo(pipes_struct *p, struct dfs_ManagerSendSiteInfo *r); -WERROR _dfs_AddFtRoot(pipes_struct *p, struct dfs_AddFtRoot *r); -WERROR _dfs_RemoveFtRoot(pipes_struct *p, struct dfs_RemoveFtRoot *r); -WERROR _dfs_AddStdRoot(pipes_struct *p, struct dfs_AddStdRoot *r); -WERROR _dfs_RemoveStdRoot(pipes_struct *p, struct dfs_RemoveStdRoot *r); -WERROR _dfs_ManagerInitialize(pipes_struct *p, struct dfs_ManagerInitialize *r); -WERROR _dfs_AddStdRootForced(pipes_struct *p, struct dfs_AddStdRootForced *r); -WERROR _dfs_GetDcAddress(pipes_struct *p, struct dfs_GetDcAddress *r); -WERROR _dfs_SetDcAddress(pipes_struct *p, struct dfs_SetDcAddress *r); -WERROR _dfs_FlushFtTable(pipes_struct *p, struct dfs_FlushFtTable *r); -WERROR _dfs_Add2(pipes_struct *p, struct dfs_Add2 *r); -WERROR _dfs_Remove2(pipes_struct *p, struct dfs_Remove2 *r); -WERROR _dfs_EnumEx(pipes_struct *p, struct dfs_EnumEx *r); -WERROR _dfs_SetInfo2(pipes_struct *p, struct dfs_SetInfo2 *r); -void netdfs_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_netdfs_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -void _dfs_GetManagerVersion(pipes_struct *p, struct dfs_GetManagerVersion *r); -WERROR _dfs_Add(pipes_struct *p, struct dfs_Add *r); -WERROR _dfs_Remove(pipes_struct *p, struct dfs_Remove *r); -WERROR _dfs_SetInfo(pipes_struct *p, struct dfs_SetInfo *r); -WERROR _dfs_GetInfo(pipes_struct *p, struct dfs_GetInfo *r); -WERROR _dfs_Enum(pipes_struct *p, struct dfs_Enum *r); -WERROR _dfs_Rename(pipes_struct *p, struct dfs_Rename *r); -WERROR _dfs_Move(pipes_struct *p, struct dfs_Move *r); -WERROR _dfs_ManagerGetConfigInfo(pipes_struct *p, struct dfs_ManagerGetConfigInfo *r); -WERROR _dfs_ManagerSendSiteInfo(pipes_struct *p, struct dfs_ManagerSendSiteInfo *r); -WERROR _dfs_AddFtRoot(pipes_struct *p, struct dfs_AddFtRoot *r); -WERROR _dfs_RemoveFtRoot(pipes_struct *p, struct dfs_RemoveFtRoot *r); -WERROR _dfs_AddStdRoot(pipes_struct *p, struct dfs_AddStdRoot *r); -WERROR _dfs_RemoveStdRoot(pipes_struct *p, struct dfs_RemoveStdRoot *r); -WERROR _dfs_ManagerInitialize(pipes_struct *p, struct dfs_ManagerInitialize *r); -WERROR _dfs_AddStdRootForced(pipes_struct *p, struct dfs_AddStdRootForced *r); -WERROR _dfs_GetDcAddress(pipes_struct *p, struct dfs_GetDcAddress *r); -WERROR _dfs_SetDcAddress(pipes_struct *p, struct dfs_SetDcAddress *r); -WERROR _dfs_FlushFtTable(pipes_struct *p, struct dfs_FlushFtTable *r); -WERROR _dfs_Add2(pipes_struct *p, struct dfs_Add2 *r); -WERROR _dfs_Remove2(pipes_struct *p, struct dfs_Remove2 *r); -WERROR _dfs_EnumEx(pipes_struct *p, struct dfs_EnumEx *r); -WERROR _dfs_SetInfo2(pipes_struct *p, struct dfs_SetInfo2 *r); -NTSTATUS rpc_netdfs_init(void); -#endif /* __SRV_NETDFS__ */ diff --git a/librpc/gen_ndr/srv_dssetup.c b/librpc/gen_ndr/srv_dssetup.c deleted file mode 100644 index 9585bf379dc..00000000000 --- a/librpc/gen_ndr/srv_dssetup.c +++ /dev/null @@ -1,930 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_dssetup.h" - -static bool api_dssetup_DsRoleGetPrimaryDomainInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleGetPrimaryDomainInformation *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleGetPrimaryDomainInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union dssetup_DsRoleInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _dssetup_DsRoleGetPrimaryDomainInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetPrimaryDomainInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleDnsNameToFlatName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleDnsNameToFlatName *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleDnsNameToFlatName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleDnsNameToFlatName, r); - } - - r->out.result = _dssetup_DsRoleDnsNameToFlatName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDnsNameToFlatName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleDcAsDc(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleDcAsDc *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEDCASDC]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleDcAsDc); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsDc, r); - } - - r->out.result = _dssetup_DsRoleDcAsDc(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsDc, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleDcAsReplica(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleDcAsReplica *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEDCASREPLICA]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleDcAsReplica); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleDcAsReplica, r); - } - - r->out.result = _dssetup_DsRoleDcAsReplica(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDcAsReplica, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleDemoteDc(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleDemoteDc *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEDEMOTEDC]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleDemoteDc); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleDemoteDc, r); - } - - r->out.result = _dssetup_DsRoleDemoteDc(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleDemoteDc, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleGetDcOperationProgress(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleGetDcOperationProgress *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleGetDcOperationProgress); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationProgress, r); - } - - r->out.result = _dssetup_DsRoleGetDcOperationProgress(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationProgress, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleGetDcOperationResults(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleGetDcOperationResults *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleGetDcOperationResults); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleGetDcOperationResults, r); - } - - r->out.result = _dssetup_DsRoleGetDcOperationResults(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleGetDcOperationResults, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleCancel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleCancel *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLECANCEL]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleCancel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleCancel, r); - } - - r->out.result = _dssetup_DsRoleCancel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleCancel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleServerSaveStateForUpgrade(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleServerSaveStateForUpgrade *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleServerSaveStateForUpgrade); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade, r); - } - - r->out.result = _dssetup_DsRoleServerSaveStateForUpgrade(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleServerSaveStateForUpgrade, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleUpgradeDownlevelServer(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleUpgradeDownlevelServer *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleUpgradeDownlevelServer); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleUpgradeDownlevelServer, r); - } - - r->out.result = _dssetup_DsRoleUpgradeDownlevelServer(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleUpgradeDownlevelServer, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_dssetup_DsRoleAbortDownlevelServerUpgrade(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct dssetup_DsRoleAbortDownlevelServerUpgrade *r; - - call = &ndr_table_dssetup.calls[NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE]; - - r = talloc(talloc_tos(), struct dssetup_DsRoleAbortDownlevelServerUpgrade); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade, r); - } - - r->out.result = _dssetup_DsRoleAbortDownlevelServerUpgrade(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(dssetup_DsRoleAbortDownlevelServerUpgrade, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_dssetup_cmds[] = -{ - {"DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION", NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION, api_dssetup_DsRoleGetPrimaryDomainInformation}, - {"DSSETUP_DSROLEDNSNAMETOFLATNAME", NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME, api_dssetup_DsRoleDnsNameToFlatName}, - {"DSSETUP_DSROLEDCASDC", NDR_DSSETUP_DSROLEDCASDC, api_dssetup_DsRoleDcAsDc}, - {"DSSETUP_DSROLEDCASREPLICA", NDR_DSSETUP_DSROLEDCASREPLICA, api_dssetup_DsRoleDcAsReplica}, - {"DSSETUP_DSROLEDEMOTEDC", NDR_DSSETUP_DSROLEDEMOTEDC, api_dssetup_DsRoleDemoteDc}, - {"DSSETUP_DSROLEGETDCOPERATIONPROGRESS", NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS, api_dssetup_DsRoleGetDcOperationProgress}, - {"DSSETUP_DSROLEGETDCOPERATIONRESULTS", NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS, api_dssetup_DsRoleGetDcOperationResults}, - {"DSSETUP_DSROLECANCEL", NDR_DSSETUP_DSROLECANCEL, api_dssetup_DsRoleCancel}, - {"DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE", NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE, api_dssetup_DsRoleServerSaveStateForUpgrade}, - {"DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER", NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER, api_dssetup_DsRoleUpgradeDownlevelServer}, - {"DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE", NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE, api_dssetup_DsRoleAbortDownlevelServerUpgrade}, -}; - -void dssetup_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_dssetup_cmds; - *n_fns = sizeof(api_dssetup_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_dssetup_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_DSSETUP_DSROLEGETPRIMARYDOMAININFORMATION: { - struct dssetup_DsRoleGetPrimaryDomainInformation *r = (struct dssetup_DsRoleGetPrimaryDomainInformation *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union dssetup_DsRoleInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _dssetup_DsRoleGetPrimaryDomainInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEDNSNAMETOFLATNAME: { - struct dssetup_DsRoleDnsNameToFlatName *r = (struct dssetup_DsRoleDnsNameToFlatName *)_r; - r->out.result = _dssetup_DsRoleDnsNameToFlatName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEDCASDC: { - struct dssetup_DsRoleDcAsDc *r = (struct dssetup_DsRoleDcAsDc *)_r; - r->out.result = _dssetup_DsRoleDcAsDc(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEDCASREPLICA: { - struct dssetup_DsRoleDcAsReplica *r = (struct dssetup_DsRoleDcAsReplica *)_r; - r->out.result = _dssetup_DsRoleDcAsReplica(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEDEMOTEDC: { - struct dssetup_DsRoleDemoteDc *r = (struct dssetup_DsRoleDemoteDc *)_r; - r->out.result = _dssetup_DsRoleDemoteDc(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEGETDCOPERATIONPROGRESS: { - struct dssetup_DsRoleGetDcOperationProgress *r = (struct dssetup_DsRoleGetDcOperationProgress *)_r; - r->out.result = _dssetup_DsRoleGetDcOperationProgress(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEGETDCOPERATIONRESULTS: { - struct dssetup_DsRoleGetDcOperationResults *r = (struct dssetup_DsRoleGetDcOperationResults *)_r; - r->out.result = _dssetup_DsRoleGetDcOperationResults(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLECANCEL: { - struct dssetup_DsRoleCancel *r = (struct dssetup_DsRoleCancel *)_r; - r->out.result = _dssetup_DsRoleCancel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLESERVERSAVESTATEFORUPGRADE: { - struct dssetup_DsRoleServerSaveStateForUpgrade *r = (struct dssetup_DsRoleServerSaveStateForUpgrade *)_r; - r->out.result = _dssetup_DsRoleServerSaveStateForUpgrade(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEUPGRADEDOWNLEVELSERVER: { - struct dssetup_DsRoleUpgradeDownlevelServer *r = (struct dssetup_DsRoleUpgradeDownlevelServer *)_r; - r->out.result = _dssetup_DsRoleUpgradeDownlevelServer(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_DSSETUP_DSROLEABORTDOWNLEVELSERVERUPGRADE: { - struct dssetup_DsRoleAbortDownlevelServerUpgrade *r = (struct dssetup_DsRoleAbortDownlevelServerUpgrade *)_r; - r->out.result = _dssetup_DsRoleAbortDownlevelServerUpgrade(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_dssetup_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "dssetup", "dssetup", &ndr_table_dssetup, api_dssetup_cmds, sizeof(api_dssetup_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_dssetup.h b/librpc/gen_ndr/srv_dssetup.h deleted file mode 100644 index 33ec07de864..00000000000 --- a/librpc/gen_ndr/srv_dssetup.h +++ /dev/null @@ -1,29 +0,0 @@ -#include "../librpc/gen_ndr/ndr_dssetup.h" -#ifndef __SRV_DSSETUP__ -#define __SRV_DSSETUP__ -WERROR _dssetup_DsRoleGetPrimaryDomainInformation(pipes_struct *p, struct dssetup_DsRoleGetPrimaryDomainInformation *r); -WERROR _dssetup_DsRoleDnsNameToFlatName(pipes_struct *p, struct dssetup_DsRoleDnsNameToFlatName *r); -WERROR _dssetup_DsRoleDcAsDc(pipes_struct *p, struct dssetup_DsRoleDcAsDc *r); -WERROR _dssetup_DsRoleDcAsReplica(pipes_struct *p, struct dssetup_DsRoleDcAsReplica *r); -WERROR _dssetup_DsRoleDemoteDc(pipes_struct *p, struct dssetup_DsRoleDemoteDc *r); -WERROR _dssetup_DsRoleGetDcOperationProgress(pipes_struct *p, struct dssetup_DsRoleGetDcOperationProgress *r); -WERROR _dssetup_DsRoleGetDcOperationResults(pipes_struct *p, struct dssetup_DsRoleGetDcOperationResults *r); -WERROR _dssetup_DsRoleCancel(pipes_struct *p, struct dssetup_DsRoleCancel *r); -WERROR _dssetup_DsRoleServerSaveStateForUpgrade(pipes_struct *p, struct dssetup_DsRoleServerSaveStateForUpgrade *r); -WERROR _dssetup_DsRoleUpgradeDownlevelServer(pipes_struct *p, struct dssetup_DsRoleUpgradeDownlevelServer *r); -WERROR _dssetup_DsRoleAbortDownlevelServerUpgrade(pipes_struct *p, struct dssetup_DsRoleAbortDownlevelServerUpgrade *r); -void dssetup_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_dssetup_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _dssetup_DsRoleGetPrimaryDomainInformation(pipes_struct *p, struct dssetup_DsRoleGetPrimaryDomainInformation *r); -WERROR _dssetup_DsRoleDnsNameToFlatName(pipes_struct *p, struct dssetup_DsRoleDnsNameToFlatName *r); -WERROR _dssetup_DsRoleDcAsDc(pipes_struct *p, struct dssetup_DsRoleDcAsDc *r); -WERROR _dssetup_DsRoleDcAsReplica(pipes_struct *p, struct dssetup_DsRoleDcAsReplica *r); -WERROR _dssetup_DsRoleDemoteDc(pipes_struct *p, struct dssetup_DsRoleDemoteDc *r); -WERROR _dssetup_DsRoleGetDcOperationProgress(pipes_struct *p, struct dssetup_DsRoleGetDcOperationProgress *r); -WERROR _dssetup_DsRoleGetDcOperationResults(pipes_struct *p, struct dssetup_DsRoleGetDcOperationResults *r); -WERROR _dssetup_DsRoleCancel(pipes_struct *p, struct dssetup_DsRoleCancel *r); -WERROR _dssetup_DsRoleServerSaveStateForUpgrade(pipes_struct *p, struct dssetup_DsRoleServerSaveStateForUpgrade *r); -WERROR _dssetup_DsRoleUpgradeDownlevelServer(pipes_struct *p, struct dssetup_DsRoleUpgradeDownlevelServer *r); -WERROR _dssetup_DsRoleAbortDownlevelServerUpgrade(pipes_struct *p, struct dssetup_DsRoleAbortDownlevelServerUpgrade *r); -NTSTATUS rpc_dssetup_init(void); -#endif /* __SRV_DSSETUP__ */ diff --git a/librpc/gen_ndr/srv_echo.c b/librpc/gen_ndr/srv_echo.c deleted file mode 100644 index b4c21dd2703..00000000000 --- a/librpc/gen_ndr/srv_echo.c +++ /dev/null @@ -1,914 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_echo.h" - -static bool api_echo_AddOne(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_AddOne *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_ADDONE]; - - r = talloc(talloc_tos(), struct echo_AddOne); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_AddOne, r); - } - - ZERO_STRUCT(r->out); - r->out.out_data = talloc_zero(r, uint32_t); - if (r->out.out_data == NULL) { - talloc_free(r); - return false; - } - - _echo_AddOne(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_AddOne, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_EchoData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_EchoData *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_ECHODATA]; - - r = talloc(talloc_tos(), struct echo_EchoData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_EchoData, r); - } - - ZERO_STRUCT(r->out); - r->out.out_data = talloc_zero_array(r, uint8_t, r->in.len); - if (r->out.out_data == NULL) { - talloc_free(r); - return false; - } - - _echo_EchoData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_EchoData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_SinkData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_SinkData *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_SINKDATA]; - - r = talloc(talloc_tos(), struct echo_SinkData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_SinkData, r); - } - - _echo_SinkData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_SinkData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_SourceData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_SourceData *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_SOURCEDATA]; - - r = talloc(talloc_tos(), struct echo_SourceData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_SourceData, r); - } - - ZERO_STRUCT(r->out); - r->out.data = talloc_zero_array(r, uint8_t, r->in.len); - if (r->out.data == NULL) { - talloc_free(r); - return false; - } - - _echo_SourceData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_SourceData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_TestCall(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_TestCall *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTCALL]; - - r = talloc(talloc_tos(), struct echo_TestCall); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_TestCall, r); - } - - ZERO_STRUCT(r->out); - r->out.s2 = talloc_zero(r, const char *); - if (r->out.s2 == NULL) { - talloc_free(r); - return false; - } - - _echo_TestCall(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_TestCall, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_TestCall2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_TestCall2 *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTCALL2]; - - r = talloc(talloc_tos(), struct echo_TestCall2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_TestCall2, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union echo_Info); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _echo_TestCall2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_TestCall2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_TestSleep(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_TestSleep *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTSLEEP]; - - r = talloc(talloc_tos(), struct echo_TestSleep); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_TestSleep, r); - } - - r->out.result = _echo_TestSleep(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_TestSleep, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_TestEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_TestEnum *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTENUM]; - - r = talloc(talloc_tos(), struct echo_TestEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_TestEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.foo1 = r->in.foo1; - r->out.foo2 = r->in.foo2; - r->out.foo3 = r->in.foo3; - _echo_TestEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_TestEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_TestSurrounding(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_TestSurrounding *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTSURROUNDING]; - - r = talloc(talloc_tos(), struct echo_TestSurrounding); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_TestSurrounding, r); - } - - ZERO_STRUCT(r->out); - r->out.data = r->in.data; - _echo_TestSurrounding(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_TestSurrounding, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_echo_TestDoublePointer(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct echo_TestDoublePointer *r; - - call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTDOUBLEPOINTER]; - - r = talloc(talloc_tos(), struct echo_TestDoublePointer); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(echo_TestDoublePointer, r); - } - - r->out.result = _echo_TestDoublePointer(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(echo_TestDoublePointer, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_rpcecho_cmds[] = -{ - {"ECHO_ADDONE", NDR_ECHO_ADDONE, api_echo_AddOne}, - {"ECHO_ECHODATA", NDR_ECHO_ECHODATA, api_echo_EchoData}, - {"ECHO_SINKDATA", NDR_ECHO_SINKDATA, api_echo_SinkData}, - {"ECHO_SOURCEDATA", NDR_ECHO_SOURCEDATA, api_echo_SourceData}, - {"ECHO_TESTCALL", NDR_ECHO_TESTCALL, api_echo_TestCall}, - {"ECHO_TESTCALL2", NDR_ECHO_TESTCALL2, api_echo_TestCall2}, - {"ECHO_TESTSLEEP", NDR_ECHO_TESTSLEEP, api_echo_TestSleep}, - {"ECHO_TESTENUM", NDR_ECHO_TESTENUM, api_echo_TestEnum}, - {"ECHO_TESTSURROUNDING", NDR_ECHO_TESTSURROUNDING, api_echo_TestSurrounding}, - {"ECHO_TESTDOUBLEPOINTER", NDR_ECHO_TESTDOUBLEPOINTER, api_echo_TestDoublePointer}, -}; - -void rpcecho_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_rpcecho_cmds; - *n_fns = sizeof(api_rpcecho_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_rpcecho_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_ECHO_ADDONE: { - struct echo_AddOne *r = (struct echo_AddOne *)_r; - ZERO_STRUCT(r->out); - r->out.out_data = talloc_zero(mem_ctx, uint32_t); - if (r->out.out_data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - _echo_AddOne(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_ECHODATA: { - struct echo_EchoData *r = (struct echo_EchoData *)_r; - ZERO_STRUCT(r->out); - r->out.out_data = talloc_zero_array(mem_ctx, uint8_t, r->in.len); - if (r->out.out_data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - _echo_EchoData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_SINKDATA: { - struct echo_SinkData *r = (struct echo_SinkData *)_r; - _echo_SinkData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_SOURCEDATA: { - struct echo_SourceData *r = (struct echo_SourceData *)_r; - ZERO_STRUCT(r->out); - r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.len); - if (r->out.data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - _echo_SourceData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_TESTCALL: { - struct echo_TestCall *r = (struct echo_TestCall *)_r; - ZERO_STRUCT(r->out); - r->out.s2 = talloc_zero(mem_ctx, const char *); - if (r->out.s2 == NULL) { - return NT_STATUS_NO_MEMORY; - } - - _echo_TestCall(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_TESTCALL2: { - struct echo_TestCall2 *r = (struct echo_TestCall2 *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union echo_Info); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _echo_TestCall2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_TESTSLEEP: { - struct echo_TestSleep *r = (struct echo_TestSleep *)_r; - r->out.result = _echo_TestSleep(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_TESTENUM: { - struct echo_TestEnum *r = (struct echo_TestEnum *)_r; - ZERO_STRUCT(r->out); - r->out.foo1 = r->in.foo1; - r->out.foo2 = r->in.foo2; - r->out.foo3 = r->in.foo3; - _echo_TestEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_TESTSURROUNDING: { - struct echo_TestSurrounding *r = (struct echo_TestSurrounding *)_r; - ZERO_STRUCT(r->out); - r->out.data = r->in.data; - _echo_TestSurrounding(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ECHO_TESTDOUBLEPOINTER: { - struct echo_TestDoublePointer *r = (struct echo_TestDoublePointer *)_r; - r->out.result = _echo_TestDoublePointer(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_rpcecho_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "rpcecho", "rpcecho", &ndr_table_rpcecho, api_rpcecho_cmds, sizeof(api_rpcecho_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_echo.h b/librpc/gen_ndr/srv_echo.h deleted file mode 100644 index 3e1cbd5059d..00000000000 --- a/librpc/gen_ndr/srv_echo.h +++ /dev/null @@ -1,27 +0,0 @@ -#include "../librpc/gen_ndr/ndr_echo.h" -#ifndef __SRV_RPCECHO__ -#define __SRV_RPCECHO__ -void _echo_AddOne(pipes_struct *p, struct echo_AddOne *r); -void _echo_EchoData(pipes_struct *p, struct echo_EchoData *r); -void _echo_SinkData(pipes_struct *p, struct echo_SinkData *r); -void _echo_SourceData(pipes_struct *p, struct echo_SourceData *r); -void _echo_TestCall(pipes_struct *p, struct echo_TestCall *r); -NTSTATUS _echo_TestCall2(pipes_struct *p, struct echo_TestCall2 *r); -uint32 _echo_TestSleep(pipes_struct *p, struct echo_TestSleep *r); -void _echo_TestEnum(pipes_struct *p, struct echo_TestEnum *r); -void _echo_TestSurrounding(pipes_struct *p, struct echo_TestSurrounding *r); -uint16 _echo_TestDoublePointer(pipes_struct *p, struct echo_TestDoublePointer *r); -void rpcecho_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_rpcecho_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -void _echo_AddOne(pipes_struct *p, struct echo_AddOne *r); -void _echo_EchoData(pipes_struct *p, struct echo_EchoData *r); -void _echo_SinkData(pipes_struct *p, struct echo_SinkData *r); -void _echo_SourceData(pipes_struct *p, struct echo_SourceData *r); -void _echo_TestCall(pipes_struct *p, struct echo_TestCall *r); -NTSTATUS _echo_TestCall2(pipes_struct *p, struct echo_TestCall2 *r); -uint32 _echo_TestSleep(pipes_struct *p, struct echo_TestSleep *r); -void _echo_TestEnum(pipes_struct *p, struct echo_TestEnum *r); -void _echo_TestSurrounding(pipes_struct *p, struct echo_TestSurrounding *r); -uint16 _echo_TestDoublePointer(pipes_struct *p, struct echo_TestDoublePointer *r); -NTSTATUS rpc_rpcecho_init(void); -#endif /* __SRV_RPCECHO__ */ diff --git a/librpc/gen_ndr/srv_epmapper.c b/librpc/gen_ndr/srv_epmapper.c deleted file mode 100644 index 07a75b682d8..00000000000 --- a/librpc/gen_ndr/srv_epmapper.c +++ /dev/null @@ -1,733 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_epmapper.h" - -static bool api_epm_Insert(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_Insert *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_INSERT]; - - r = talloc(talloc_tos(), struct epm_Insert); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_Insert, r); - } - - r->out.result = _epm_Insert(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_Insert, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_Delete(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_Delete *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_DELETE]; - - r = talloc(talloc_tos(), struct epm_Delete); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_Delete, r); - } - - r->out.result = _epm_Delete(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_Delete, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_Lookup(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_Lookup *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_LOOKUP]; - - r = talloc(talloc_tos(), struct epm_Lookup); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_Lookup, r); - } - - ZERO_STRUCT(r->out); - r->out.entry_handle = r->in.entry_handle; - r->out.num_ents = talloc_zero(r, uint32_t); - if (r->out.num_ents == NULL) { - talloc_free(r); - return false; - } - - r->out.entries = talloc_zero_array(r, struct epm_entry_t, r->in.max_ents); - if (r->out.entries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _epm_Lookup(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_Lookup, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_Map(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_Map *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_MAP]; - - r = talloc(talloc_tos(), struct epm_Map); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_Map, r); - } - - ZERO_STRUCT(r->out); - r->out.entry_handle = r->in.entry_handle; - r->out.num_towers = talloc_zero(r, uint32_t); - if (r->out.num_towers == NULL) { - talloc_free(r); - return false; - } - - r->out.towers = talloc_zero_array(r, struct epm_twr_p_t, r->in.max_towers); - if (r->out.towers == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _epm_Map(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_Map, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_LookupHandleFree(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_LookupHandleFree *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_LOOKUPHANDLEFREE]; - - r = talloc(talloc_tos(), struct epm_LookupHandleFree); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_LookupHandleFree, r); - } - - ZERO_STRUCT(r->out); - r->out.entry_handle = r->in.entry_handle; - r->out.result = _epm_LookupHandleFree(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_LookupHandleFree, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_InqObject(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_InqObject *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_INQOBJECT]; - - r = talloc(talloc_tos(), struct epm_InqObject); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_InqObject, r); - } - - r->out.result = _epm_InqObject(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_InqObject, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_MgmtDelete(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_MgmtDelete *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_MGMTDELETE]; - - r = talloc(talloc_tos(), struct epm_MgmtDelete); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_MgmtDelete, r); - } - - r->out.result = _epm_MgmtDelete(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_MgmtDelete, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_epm_MapAuth(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct epm_MapAuth *r; - - call = &ndr_table_epmapper.calls[NDR_EPM_MAPAUTH]; - - r = talloc(talloc_tos(), struct epm_MapAuth); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(epm_MapAuth, r); - } - - r->out.result = _epm_MapAuth(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(epm_MapAuth, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_epmapper_cmds[] = -{ - {"EPM_INSERT", NDR_EPM_INSERT, api_epm_Insert}, - {"EPM_DELETE", NDR_EPM_DELETE, api_epm_Delete}, - {"EPM_LOOKUP", NDR_EPM_LOOKUP, api_epm_Lookup}, - {"EPM_MAP", NDR_EPM_MAP, api_epm_Map}, - {"EPM_LOOKUPHANDLEFREE", NDR_EPM_LOOKUPHANDLEFREE, api_epm_LookupHandleFree}, - {"EPM_INQOBJECT", NDR_EPM_INQOBJECT, api_epm_InqObject}, - {"EPM_MGMTDELETE", NDR_EPM_MGMTDELETE, api_epm_MgmtDelete}, - {"EPM_MAPAUTH", NDR_EPM_MAPAUTH, api_epm_MapAuth}, -}; - -void epmapper_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_epmapper_cmds; - *n_fns = sizeof(api_epmapper_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_epmapper_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_EPM_INSERT: { - struct epm_Insert *r = (struct epm_Insert *)_r; - r->out.result = _epm_Insert(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_DELETE: { - struct epm_Delete *r = (struct epm_Delete *)_r; - r->out.result = _epm_Delete(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_LOOKUP: { - struct epm_Lookup *r = (struct epm_Lookup *)_r; - ZERO_STRUCT(r->out); - r->out.entry_handle = r->in.entry_handle; - r->out.num_ents = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_ents == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.entries = talloc_zero_array(mem_ctx, struct epm_entry_t, r->in.max_ents); - if (r->out.entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _epm_Lookup(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_MAP: { - struct epm_Map *r = (struct epm_Map *)_r; - ZERO_STRUCT(r->out); - r->out.entry_handle = r->in.entry_handle; - r->out.num_towers = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_towers == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.towers = talloc_zero_array(mem_ctx, struct epm_twr_p_t, r->in.max_towers); - if (r->out.towers == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _epm_Map(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_LOOKUPHANDLEFREE: { - struct epm_LookupHandleFree *r = (struct epm_LookupHandleFree *)_r; - ZERO_STRUCT(r->out); - r->out.entry_handle = r->in.entry_handle; - r->out.result = _epm_LookupHandleFree(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_INQOBJECT: { - struct epm_InqObject *r = (struct epm_InqObject *)_r; - r->out.result = _epm_InqObject(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_MGMTDELETE: { - struct epm_MgmtDelete *r = (struct epm_MgmtDelete *)_r; - r->out.result = _epm_MgmtDelete(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EPM_MAPAUTH: { - struct epm_MapAuth *r = (struct epm_MapAuth *)_r; - r->out.result = _epm_MapAuth(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_epmapper_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "epmapper", "epmapper", &ndr_table_epmapper, api_epmapper_cmds, sizeof(api_epmapper_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_epmapper.h b/librpc/gen_ndr/srv_epmapper.h deleted file mode 100644 index 4cf074778f4..00000000000 --- a/librpc/gen_ndr/srv_epmapper.h +++ /dev/null @@ -1,23 +0,0 @@ -#include "../librpc/gen_ndr/ndr_epmapper.h" -#ifndef __SRV_EPMAPPER__ -#define __SRV_EPMAPPER__ -uint32 _epm_Insert(pipes_struct *p, struct epm_Insert *r); -uint32 _epm_Delete(pipes_struct *p, struct epm_Delete *r); -uint32 _epm_Lookup(pipes_struct *p, struct epm_Lookup *r); -uint32 _epm_Map(pipes_struct *p, struct epm_Map *r); -uint32 _epm_LookupHandleFree(pipes_struct *p, struct epm_LookupHandleFree *r); -uint32 _epm_InqObject(pipes_struct *p, struct epm_InqObject *r); -uint32 _epm_MgmtDelete(pipes_struct *p, struct epm_MgmtDelete *r); -uint32 _epm_MapAuth(pipes_struct *p, struct epm_MapAuth *r); -void epmapper_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_epmapper_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -uint32 _epm_Insert(pipes_struct *p, struct epm_Insert *r); -uint32 _epm_Delete(pipes_struct *p, struct epm_Delete *r); -uint32 _epm_Lookup(pipes_struct *p, struct epm_Lookup *r); -uint32 _epm_Map(pipes_struct *p, struct epm_Map *r); -uint32 _epm_LookupHandleFree(pipes_struct *p, struct epm_LookupHandleFree *r); -uint32 _epm_InqObject(pipes_struct *p, struct epm_InqObject *r); -uint32 _epm_MgmtDelete(pipes_struct *p, struct epm_MgmtDelete *r); -uint32 _epm_MapAuth(pipes_struct *p, struct epm_MapAuth *r); -NTSTATUS rpc_epmapper_init(void); -#endif /* __SRV_EPMAPPER__ */ diff --git a/librpc/gen_ndr/srv_eventlog.c b/librpc/gen_ndr/srv_eventlog.c deleted file mode 100644 index 79154ae3717..00000000000 --- a/librpc/gen_ndr/srv_eventlog.c +++ /dev/null @@ -1,2181 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_eventlog.h" - -static bool api_eventlog_ClearEventLogW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ClearEventLogW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_CLEAREVENTLOGW]; - - r = talloc(talloc_tos(), struct eventlog_ClearEventLogW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ClearEventLogW, r); - } - - r->out.result = _eventlog_ClearEventLogW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ClearEventLogW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_BackupEventLogW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_BackupEventLogW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_BACKUPEVENTLOGW]; - - r = talloc(talloc_tos(), struct eventlog_BackupEventLogW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_BackupEventLogW, r); - } - - r->out.result = _eventlog_BackupEventLogW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_BackupEventLogW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_CloseEventLog(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_CloseEventLog *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_CLOSEEVENTLOG]; - - r = talloc(talloc_tos(), struct eventlog_CloseEventLog); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_CloseEventLog, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _eventlog_CloseEventLog(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_CloseEventLog, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_DeregisterEventSource(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_DeregisterEventSource *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_DEREGISTEREVENTSOURCE]; - - r = talloc(talloc_tos(), struct eventlog_DeregisterEventSource); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_DeregisterEventSource, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _eventlog_DeregisterEventSource(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_DeregisterEventSource, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_GetNumRecords(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_GetNumRecords *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_GETNUMRECORDS]; - - r = talloc(talloc_tos(), struct eventlog_GetNumRecords); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_GetNumRecords, r); - } - - ZERO_STRUCT(r->out); - r->out.number = talloc_zero(r, uint32_t); - if (r->out.number == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_GetNumRecords(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_GetNumRecords, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_GetOldestRecord(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_GetOldestRecord *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_GETOLDESTRECORD]; - - r = talloc(talloc_tos(), struct eventlog_GetOldestRecord); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_GetOldestRecord, r); - } - - ZERO_STRUCT(r->out); - r->out.oldest_entry = talloc_zero(r, uint32_t); - if (r->out.oldest_entry == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_GetOldestRecord(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_GetOldestRecord, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ChangeNotify(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ChangeNotify *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_CHANGENOTIFY]; - - r = talloc(talloc_tos(), struct eventlog_ChangeNotify); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ChangeNotify, r); - } - - r->out.result = _eventlog_ChangeNotify(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ChangeNotify, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_OpenEventLogW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_OpenEventLogW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_OPENEVENTLOGW]; - - r = talloc(talloc_tos(), struct eventlog_OpenEventLogW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_OpenEventLogW, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_OpenEventLogW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_OpenEventLogW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_RegisterEventSourceW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_RegisterEventSourceW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REGISTEREVENTSOURCEW]; - - r = talloc(talloc_tos(), struct eventlog_RegisterEventSourceW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_RegisterEventSourceW, r); - } - - ZERO_STRUCT(r->out); - r->out.log_handle = talloc_zero(r, struct policy_handle); - if (r->out.log_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_RegisterEventSourceW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_RegisterEventSourceW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_OpenBackupEventLogW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_OpenBackupEventLogW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_OPENBACKUPEVENTLOGW]; - - r = talloc(talloc_tos(), struct eventlog_OpenBackupEventLogW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_OpenBackupEventLogW, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_OpenBackupEventLogW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_OpenBackupEventLogW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ReadEventLogW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ReadEventLogW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_READEVENTLOGW]; - - r = talloc(talloc_tos(), struct eventlog_ReadEventLogW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ReadEventLogW, r); - } - - ZERO_STRUCT(r->out); - r->out.data = talloc_zero_array(r, uint8_t, r->in.number_of_bytes); - if (r->out.data == NULL) { - talloc_free(r); - return false; - } - - r->out.sent_size = talloc_zero(r, uint32_t); - if (r->out.sent_size == NULL) { - talloc_free(r); - return false; - } - - r->out.real_size = talloc_zero(r, uint32_t); - if (r->out.real_size == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_ReadEventLogW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ReadEventLogW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ReportEventW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ReportEventW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REPORTEVENTW]; - - r = talloc(talloc_tos(), struct eventlog_ReportEventW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ReportEventW, r); - } - - ZERO_STRUCT(r->out); - r->out.record_number = r->in.record_number; - r->out.time_written = r->in.time_written; - r->out.result = _eventlog_ReportEventW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ReportEventW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ClearEventLogA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ClearEventLogA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_CLEAREVENTLOGA]; - - r = talloc(talloc_tos(), struct eventlog_ClearEventLogA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ClearEventLogA, r); - } - - r->out.result = _eventlog_ClearEventLogA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ClearEventLogA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_BackupEventLogA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_BackupEventLogA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_BACKUPEVENTLOGA]; - - r = talloc(talloc_tos(), struct eventlog_BackupEventLogA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_BackupEventLogA, r); - } - - r->out.result = _eventlog_BackupEventLogA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_BackupEventLogA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_OpenEventLogA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_OpenEventLogA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_OPENEVENTLOGA]; - - r = talloc(talloc_tos(), struct eventlog_OpenEventLogA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_OpenEventLogA, r); - } - - r->out.result = _eventlog_OpenEventLogA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_OpenEventLogA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_RegisterEventSourceA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_RegisterEventSourceA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REGISTEREVENTSOURCEA]; - - r = talloc(talloc_tos(), struct eventlog_RegisterEventSourceA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_RegisterEventSourceA, r); - } - - r->out.result = _eventlog_RegisterEventSourceA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_RegisterEventSourceA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_OpenBackupEventLogA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_OpenBackupEventLogA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_OPENBACKUPEVENTLOGA]; - - r = talloc(talloc_tos(), struct eventlog_OpenBackupEventLogA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_OpenBackupEventLogA, r); - } - - r->out.result = _eventlog_OpenBackupEventLogA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_OpenBackupEventLogA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ReadEventLogA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ReadEventLogA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_READEVENTLOGA]; - - r = talloc(talloc_tos(), struct eventlog_ReadEventLogA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ReadEventLogA, r); - } - - r->out.result = _eventlog_ReadEventLogA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ReadEventLogA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ReportEventA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ReportEventA *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REPORTEVENTA]; - - r = talloc(talloc_tos(), struct eventlog_ReportEventA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ReportEventA, r); - } - - r->out.result = _eventlog_ReportEventA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ReportEventA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_RegisterClusterSvc(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_RegisterClusterSvc *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REGISTERCLUSTERSVC]; - - r = talloc(talloc_tos(), struct eventlog_RegisterClusterSvc); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_RegisterClusterSvc, r); - } - - r->out.result = _eventlog_RegisterClusterSvc(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_RegisterClusterSvc, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_DeregisterClusterSvc(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_DeregisterClusterSvc *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_DEREGISTERCLUSTERSVC]; - - r = talloc(talloc_tos(), struct eventlog_DeregisterClusterSvc); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_DeregisterClusterSvc, r); - } - - r->out.result = _eventlog_DeregisterClusterSvc(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_DeregisterClusterSvc, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_WriteClusterEvents(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_WriteClusterEvents *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_WRITECLUSTEREVENTS]; - - r = talloc(talloc_tos(), struct eventlog_WriteClusterEvents); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_WriteClusterEvents, r); - } - - r->out.result = _eventlog_WriteClusterEvents(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_WriteClusterEvents, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_GetLogInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_GetLogInformation *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_GETLOGINFORMATION]; - - r = talloc(talloc_tos(), struct eventlog_GetLogInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_GetLogInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(r, uint8_t, r->in.buf_size); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.bytes_needed = talloc_zero(r, uint32_t); - if (r->out.bytes_needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _eventlog_GetLogInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_GetLogInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_FlushEventLog(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_FlushEventLog *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_FLUSHEVENTLOG]; - - r = talloc(talloc_tos(), struct eventlog_FlushEventLog); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_FlushEventLog, r); - } - - r->out.result = _eventlog_FlushEventLog(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_FlushEventLog, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_eventlog_ReportEventAndSourceW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct eventlog_ReportEventAndSourceW *r; - - call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REPORTEVENTANDSOURCEW]; - - r = talloc(talloc_tos(), struct eventlog_ReportEventAndSourceW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(eventlog_ReportEventAndSourceW, r); - } - - ZERO_STRUCT(r->out); - r->out.record_number = r->in.record_number; - r->out.time_written = r->in.time_written; - r->out.result = _eventlog_ReportEventAndSourceW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(eventlog_ReportEventAndSourceW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_eventlog_cmds[] = -{ - {"EVENTLOG_CLEAREVENTLOGW", NDR_EVENTLOG_CLEAREVENTLOGW, api_eventlog_ClearEventLogW}, - {"EVENTLOG_BACKUPEVENTLOGW", NDR_EVENTLOG_BACKUPEVENTLOGW, api_eventlog_BackupEventLogW}, - {"EVENTLOG_CLOSEEVENTLOG", NDR_EVENTLOG_CLOSEEVENTLOG, api_eventlog_CloseEventLog}, - {"EVENTLOG_DEREGISTEREVENTSOURCE", NDR_EVENTLOG_DEREGISTEREVENTSOURCE, api_eventlog_DeregisterEventSource}, - {"EVENTLOG_GETNUMRECORDS", NDR_EVENTLOG_GETNUMRECORDS, api_eventlog_GetNumRecords}, - {"EVENTLOG_GETOLDESTRECORD", NDR_EVENTLOG_GETOLDESTRECORD, api_eventlog_GetOldestRecord}, - {"EVENTLOG_CHANGENOTIFY", NDR_EVENTLOG_CHANGENOTIFY, api_eventlog_ChangeNotify}, - {"EVENTLOG_OPENEVENTLOGW", NDR_EVENTLOG_OPENEVENTLOGW, api_eventlog_OpenEventLogW}, - {"EVENTLOG_REGISTEREVENTSOURCEW", NDR_EVENTLOG_REGISTEREVENTSOURCEW, api_eventlog_RegisterEventSourceW}, - {"EVENTLOG_OPENBACKUPEVENTLOGW", NDR_EVENTLOG_OPENBACKUPEVENTLOGW, api_eventlog_OpenBackupEventLogW}, - {"EVENTLOG_READEVENTLOGW", NDR_EVENTLOG_READEVENTLOGW, api_eventlog_ReadEventLogW}, - {"EVENTLOG_REPORTEVENTW", NDR_EVENTLOG_REPORTEVENTW, api_eventlog_ReportEventW}, - {"EVENTLOG_CLEAREVENTLOGA", NDR_EVENTLOG_CLEAREVENTLOGA, api_eventlog_ClearEventLogA}, - {"EVENTLOG_BACKUPEVENTLOGA", NDR_EVENTLOG_BACKUPEVENTLOGA, api_eventlog_BackupEventLogA}, - {"EVENTLOG_OPENEVENTLOGA", NDR_EVENTLOG_OPENEVENTLOGA, api_eventlog_OpenEventLogA}, - {"EVENTLOG_REGISTEREVENTSOURCEA", NDR_EVENTLOG_REGISTEREVENTSOURCEA, api_eventlog_RegisterEventSourceA}, - {"EVENTLOG_OPENBACKUPEVENTLOGA", NDR_EVENTLOG_OPENBACKUPEVENTLOGA, api_eventlog_OpenBackupEventLogA}, - {"EVENTLOG_READEVENTLOGA", NDR_EVENTLOG_READEVENTLOGA, api_eventlog_ReadEventLogA}, - {"EVENTLOG_REPORTEVENTA", NDR_EVENTLOG_REPORTEVENTA, api_eventlog_ReportEventA}, - {"EVENTLOG_REGISTERCLUSTERSVC", NDR_EVENTLOG_REGISTERCLUSTERSVC, api_eventlog_RegisterClusterSvc}, - {"EVENTLOG_DEREGISTERCLUSTERSVC", NDR_EVENTLOG_DEREGISTERCLUSTERSVC, api_eventlog_DeregisterClusterSvc}, - {"EVENTLOG_WRITECLUSTEREVENTS", NDR_EVENTLOG_WRITECLUSTEREVENTS, api_eventlog_WriteClusterEvents}, - {"EVENTLOG_GETLOGINFORMATION", NDR_EVENTLOG_GETLOGINFORMATION, api_eventlog_GetLogInformation}, - {"EVENTLOG_FLUSHEVENTLOG", NDR_EVENTLOG_FLUSHEVENTLOG, api_eventlog_FlushEventLog}, - {"EVENTLOG_REPORTEVENTANDSOURCEW", NDR_EVENTLOG_REPORTEVENTANDSOURCEW, api_eventlog_ReportEventAndSourceW}, -}; - -void eventlog_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_eventlog_cmds; - *n_fns = sizeof(api_eventlog_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_EVENTLOG_CLEAREVENTLOGW: { - struct eventlog_ClearEventLogW *r = (struct eventlog_ClearEventLogW *)_r; - r->out.result = _eventlog_ClearEventLogW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_BACKUPEVENTLOGW: { - struct eventlog_BackupEventLogW *r = (struct eventlog_BackupEventLogW *)_r; - r->out.result = _eventlog_BackupEventLogW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_CLOSEEVENTLOG: { - struct eventlog_CloseEventLog *r = (struct eventlog_CloseEventLog *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _eventlog_CloseEventLog(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_DEREGISTEREVENTSOURCE: { - struct eventlog_DeregisterEventSource *r = (struct eventlog_DeregisterEventSource *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _eventlog_DeregisterEventSource(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_GETNUMRECORDS: { - struct eventlog_GetNumRecords *r = (struct eventlog_GetNumRecords *)_r; - ZERO_STRUCT(r->out); - r->out.number = talloc_zero(mem_ctx, uint32_t); - if (r->out.number == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_GetNumRecords(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_GETOLDESTRECORD: { - struct eventlog_GetOldestRecord *r = (struct eventlog_GetOldestRecord *)_r; - ZERO_STRUCT(r->out); - r->out.oldest_entry = talloc_zero(mem_ctx, uint32_t); - if (r->out.oldest_entry == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_GetOldestRecord(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_CHANGENOTIFY: { - struct eventlog_ChangeNotify *r = (struct eventlog_ChangeNotify *)_r; - r->out.result = _eventlog_ChangeNotify(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_OPENEVENTLOGW: { - struct eventlog_OpenEventLogW *r = (struct eventlog_OpenEventLogW *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_OpenEventLogW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_REGISTEREVENTSOURCEW: { - struct eventlog_RegisterEventSourceW *r = (struct eventlog_RegisterEventSourceW *)_r; - ZERO_STRUCT(r->out); - r->out.log_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.log_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_RegisterEventSourceW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_OPENBACKUPEVENTLOGW: { - struct eventlog_OpenBackupEventLogW *r = (struct eventlog_OpenBackupEventLogW *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_OpenBackupEventLogW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_READEVENTLOGW: { - struct eventlog_ReadEventLogW *r = (struct eventlog_ReadEventLogW *)_r; - ZERO_STRUCT(r->out); - r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.number_of_bytes); - if (r->out.data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.sent_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.sent_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.real_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.real_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_ReadEventLogW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_REPORTEVENTW: { - struct eventlog_ReportEventW *r = (struct eventlog_ReportEventW *)_r; - ZERO_STRUCT(r->out); - r->out.record_number = r->in.record_number; - r->out.time_written = r->in.time_written; - r->out.result = _eventlog_ReportEventW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_CLEAREVENTLOGA: { - struct eventlog_ClearEventLogA *r = (struct eventlog_ClearEventLogA *)_r; - r->out.result = _eventlog_ClearEventLogA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_BACKUPEVENTLOGA: { - struct eventlog_BackupEventLogA *r = (struct eventlog_BackupEventLogA *)_r; - r->out.result = _eventlog_BackupEventLogA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_OPENEVENTLOGA: { - struct eventlog_OpenEventLogA *r = (struct eventlog_OpenEventLogA *)_r; - r->out.result = _eventlog_OpenEventLogA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_REGISTEREVENTSOURCEA: { - struct eventlog_RegisterEventSourceA *r = (struct eventlog_RegisterEventSourceA *)_r; - r->out.result = _eventlog_RegisterEventSourceA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_OPENBACKUPEVENTLOGA: { - struct eventlog_OpenBackupEventLogA *r = (struct eventlog_OpenBackupEventLogA *)_r; - r->out.result = _eventlog_OpenBackupEventLogA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_READEVENTLOGA: { - struct eventlog_ReadEventLogA *r = (struct eventlog_ReadEventLogA *)_r; - r->out.result = _eventlog_ReadEventLogA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_REPORTEVENTA: { - struct eventlog_ReportEventA *r = (struct eventlog_ReportEventA *)_r; - r->out.result = _eventlog_ReportEventA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_REGISTERCLUSTERSVC: { - struct eventlog_RegisterClusterSvc *r = (struct eventlog_RegisterClusterSvc *)_r; - r->out.result = _eventlog_RegisterClusterSvc(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_DEREGISTERCLUSTERSVC: { - struct eventlog_DeregisterClusterSvc *r = (struct eventlog_DeregisterClusterSvc *)_r; - r->out.result = _eventlog_DeregisterClusterSvc(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_WRITECLUSTEREVENTS: { - struct eventlog_WriteClusterEvents *r = (struct eventlog_WriteClusterEvents *)_r; - r->out.result = _eventlog_WriteClusterEvents(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_GETLOGINFORMATION: { - struct eventlog_GetLogInformation *r = (struct eventlog_GetLogInformation *)_r; - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, r->in.buf_size); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.bytes_needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.bytes_needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _eventlog_GetLogInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_FLUSHEVENTLOG: { - struct eventlog_FlushEventLog *r = (struct eventlog_FlushEventLog *)_r; - r->out.result = _eventlog_FlushEventLog(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_EVENTLOG_REPORTEVENTANDSOURCEW: { - struct eventlog_ReportEventAndSourceW *r = (struct eventlog_ReportEventAndSourceW *)_r; - ZERO_STRUCT(r->out); - r->out.record_number = r->in.record_number; - r->out.time_written = r->in.time_written; - r->out.result = _eventlog_ReportEventAndSourceW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_eventlog_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "eventlog", "eventlog", &ndr_table_eventlog, api_eventlog_cmds, sizeof(api_eventlog_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_eventlog.h b/librpc/gen_ndr/srv_eventlog.h deleted file mode 100644 index 7da7cddbd23..00000000000 --- a/librpc/gen_ndr/srv_eventlog.h +++ /dev/null @@ -1,57 +0,0 @@ -#include "../librpc/gen_ndr/ndr_eventlog.h" -#ifndef __SRV_EVENTLOG__ -#define __SRV_EVENTLOG__ -NTSTATUS _eventlog_ClearEventLogW(pipes_struct *p, struct eventlog_ClearEventLogW *r); -NTSTATUS _eventlog_BackupEventLogW(pipes_struct *p, struct eventlog_BackupEventLogW *r); -NTSTATUS _eventlog_CloseEventLog(pipes_struct *p, struct eventlog_CloseEventLog *r); -NTSTATUS _eventlog_DeregisterEventSource(pipes_struct *p, struct eventlog_DeregisterEventSource *r); -NTSTATUS _eventlog_GetNumRecords(pipes_struct *p, struct eventlog_GetNumRecords *r); -NTSTATUS _eventlog_GetOldestRecord(pipes_struct *p, struct eventlog_GetOldestRecord *r); -NTSTATUS _eventlog_ChangeNotify(pipes_struct *p, struct eventlog_ChangeNotify *r); -NTSTATUS _eventlog_OpenEventLogW(pipes_struct *p, struct eventlog_OpenEventLogW *r); -NTSTATUS _eventlog_RegisterEventSourceW(pipes_struct *p, struct eventlog_RegisterEventSourceW *r); -NTSTATUS _eventlog_OpenBackupEventLogW(pipes_struct *p, struct eventlog_OpenBackupEventLogW *r); -NTSTATUS _eventlog_ReadEventLogW(pipes_struct *p, struct eventlog_ReadEventLogW *r); -NTSTATUS _eventlog_ReportEventW(pipes_struct *p, struct eventlog_ReportEventW *r); -NTSTATUS _eventlog_ClearEventLogA(pipes_struct *p, struct eventlog_ClearEventLogA *r); -NTSTATUS _eventlog_BackupEventLogA(pipes_struct *p, struct eventlog_BackupEventLogA *r); -NTSTATUS _eventlog_OpenEventLogA(pipes_struct *p, struct eventlog_OpenEventLogA *r); -NTSTATUS _eventlog_RegisterEventSourceA(pipes_struct *p, struct eventlog_RegisterEventSourceA *r); -NTSTATUS _eventlog_OpenBackupEventLogA(pipes_struct *p, struct eventlog_OpenBackupEventLogA *r); -NTSTATUS _eventlog_ReadEventLogA(pipes_struct *p, struct eventlog_ReadEventLogA *r); -NTSTATUS _eventlog_ReportEventA(pipes_struct *p, struct eventlog_ReportEventA *r); -NTSTATUS _eventlog_RegisterClusterSvc(pipes_struct *p, struct eventlog_RegisterClusterSvc *r); -NTSTATUS _eventlog_DeregisterClusterSvc(pipes_struct *p, struct eventlog_DeregisterClusterSvc *r); -NTSTATUS _eventlog_WriteClusterEvents(pipes_struct *p, struct eventlog_WriteClusterEvents *r); -NTSTATUS _eventlog_GetLogInformation(pipes_struct *p, struct eventlog_GetLogInformation *r); -NTSTATUS _eventlog_FlushEventLog(pipes_struct *p, struct eventlog_FlushEventLog *r); -NTSTATUS _eventlog_ReportEventAndSourceW(pipes_struct *p, struct eventlog_ReportEventAndSourceW *r); -void eventlog_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -NTSTATUS _eventlog_ClearEventLogW(pipes_struct *p, struct eventlog_ClearEventLogW *r); -NTSTATUS _eventlog_BackupEventLogW(pipes_struct *p, struct eventlog_BackupEventLogW *r); -NTSTATUS _eventlog_CloseEventLog(pipes_struct *p, struct eventlog_CloseEventLog *r); -NTSTATUS _eventlog_DeregisterEventSource(pipes_struct *p, struct eventlog_DeregisterEventSource *r); -NTSTATUS _eventlog_GetNumRecords(pipes_struct *p, struct eventlog_GetNumRecords *r); -NTSTATUS _eventlog_GetOldestRecord(pipes_struct *p, struct eventlog_GetOldestRecord *r); -NTSTATUS _eventlog_ChangeNotify(pipes_struct *p, struct eventlog_ChangeNotify *r); -NTSTATUS _eventlog_OpenEventLogW(pipes_struct *p, struct eventlog_OpenEventLogW *r); -NTSTATUS _eventlog_RegisterEventSourceW(pipes_struct *p, struct eventlog_RegisterEventSourceW *r); -NTSTATUS _eventlog_OpenBackupEventLogW(pipes_struct *p, struct eventlog_OpenBackupEventLogW *r); -NTSTATUS _eventlog_ReadEventLogW(pipes_struct *p, struct eventlog_ReadEventLogW *r); -NTSTATUS _eventlog_ReportEventW(pipes_struct *p, struct eventlog_ReportEventW *r); -NTSTATUS _eventlog_ClearEventLogA(pipes_struct *p, struct eventlog_ClearEventLogA *r); -NTSTATUS _eventlog_BackupEventLogA(pipes_struct *p, struct eventlog_BackupEventLogA *r); -NTSTATUS _eventlog_OpenEventLogA(pipes_struct *p, struct eventlog_OpenEventLogA *r); -NTSTATUS _eventlog_RegisterEventSourceA(pipes_struct *p, struct eventlog_RegisterEventSourceA *r); -NTSTATUS _eventlog_OpenBackupEventLogA(pipes_struct *p, struct eventlog_OpenBackupEventLogA *r); -NTSTATUS _eventlog_ReadEventLogA(pipes_struct *p, struct eventlog_ReadEventLogA *r); -NTSTATUS _eventlog_ReportEventA(pipes_struct *p, struct eventlog_ReportEventA *r); -NTSTATUS _eventlog_RegisterClusterSvc(pipes_struct *p, struct eventlog_RegisterClusterSvc *r); -NTSTATUS _eventlog_DeregisterClusterSvc(pipes_struct *p, struct eventlog_DeregisterClusterSvc *r); -NTSTATUS _eventlog_WriteClusterEvents(pipes_struct *p, struct eventlog_WriteClusterEvents *r); -NTSTATUS _eventlog_GetLogInformation(pipes_struct *p, struct eventlog_GetLogInformation *r); -NTSTATUS _eventlog_FlushEventLog(pipes_struct *p, struct eventlog_FlushEventLog *r); -NTSTATUS _eventlog_ReportEventAndSourceW(pipes_struct *p, struct eventlog_ReportEventAndSourceW *r); -NTSTATUS rpc_eventlog_init(void); -#endif /* __SRV_EVENTLOG__ */ diff --git a/librpc/gen_ndr/srv_initshutdown.c b/librpc/gen_ndr/srv_initshutdown.c deleted file mode 100644 index c3d0a2f2edf..00000000000 --- a/librpc/gen_ndr/srv_initshutdown.c +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_initshutdown.h" - -static bool api_initshutdown_Init(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct initshutdown_Init *r; - - call = &ndr_table_initshutdown.calls[NDR_INITSHUTDOWN_INIT]; - - r = talloc(talloc_tos(), struct initshutdown_Init); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(initshutdown_Init, r); - } - - r->out.result = _initshutdown_Init(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(initshutdown_Init, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_initshutdown_Abort(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct initshutdown_Abort *r; - - call = &ndr_table_initshutdown.calls[NDR_INITSHUTDOWN_ABORT]; - - r = talloc(talloc_tos(), struct initshutdown_Abort); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(initshutdown_Abort, r); - } - - r->out.result = _initshutdown_Abort(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(initshutdown_Abort, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_initshutdown_InitEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct initshutdown_InitEx *r; - - call = &ndr_table_initshutdown.calls[NDR_INITSHUTDOWN_INITEX]; - - r = talloc(talloc_tos(), struct initshutdown_InitEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(initshutdown_InitEx, r); - } - - r->out.result = _initshutdown_InitEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(initshutdown_InitEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_initshutdown_cmds[] = -{ - {"INITSHUTDOWN_INIT", NDR_INITSHUTDOWN_INIT, api_initshutdown_Init}, - {"INITSHUTDOWN_ABORT", NDR_INITSHUTDOWN_ABORT, api_initshutdown_Abort}, - {"INITSHUTDOWN_INITEX", NDR_INITSHUTDOWN_INITEX, api_initshutdown_InitEx}, -}; - -void initshutdown_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_initshutdown_cmds; - *n_fns = sizeof(api_initshutdown_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_initshutdown_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_INITSHUTDOWN_INIT: { - struct initshutdown_Init *r = (struct initshutdown_Init *)_r; - r->out.result = _initshutdown_Init(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_INITSHUTDOWN_ABORT: { - struct initshutdown_Abort *r = (struct initshutdown_Abort *)_r; - r->out.result = _initshutdown_Abort(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_INITSHUTDOWN_INITEX: { - struct initshutdown_InitEx *r = (struct initshutdown_InitEx *)_r; - r->out.result = _initshutdown_InitEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_initshutdown_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "initshutdown", "initshutdown", &ndr_table_initshutdown, api_initshutdown_cmds, sizeof(api_initshutdown_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_initshutdown.h b/librpc/gen_ndr/srv_initshutdown.h deleted file mode 100644 index c4845a677de..00000000000 --- a/librpc/gen_ndr/srv_initshutdown.h +++ /dev/null @@ -1,13 +0,0 @@ -#include "../librpc/gen_ndr/ndr_initshutdown.h" -#ifndef __SRV_INITSHUTDOWN__ -#define __SRV_INITSHUTDOWN__ -WERROR _initshutdown_Init(pipes_struct *p, struct initshutdown_Init *r); -WERROR _initshutdown_Abort(pipes_struct *p, struct initshutdown_Abort *r); -WERROR _initshutdown_InitEx(pipes_struct *p, struct initshutdown_InitEx *r); -void initshutdown_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_initshutdown_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _initshutdown_Init(pipes_struct *p, struct initshutdown_Init *r); -WERROR _initshutdown_Abort(pipes_struct *p, struct initshutdown_Abort *r); -WERROR _initshutdown_InitEx(pipes_struct *p, struct initshutdown_InitEx *r); -NTSTATUS rpc_initshutdown_init(void); -#endif /* __SRV_INITSHUTDOWN__ */ diff --git a/librpc/gen_ndr/srv_lsa.c b/librpc/gen_ndr/srv_lsa.c deleted file mode 100644 index 9185d198888..00000000000 --- a/librpc/gen_ndr/srv_lsa.c +++ /dev/null @@ -1,7170 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_lsa.h" - -static bool api_lsa_Close(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_Close *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CLOSE]; - - r = talloc(talloc_tos(), struct lsa_Close); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_Close, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _lsa_Close(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_Close, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_Delete(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_Delete *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_DELETE]; - - r = talloc(talloc_tos(), struct lsa_Delete); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_Delete, r); - } - - r->out.result = _lsa_Delete(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_Delete, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumPrivs(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumPrivs *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMPRIVS]; - - r = talloc(talloc_tos(), struct lsa_EnumPrivs); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumPrivs, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.privs = talloc_zero(r, struct lsa_PrivArray); - if (r->out.privs == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumPrivs(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumPrivs, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QuerySecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QuerySecurity *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYSECURITY]; - - r = talloc(talloc_tos(), struct lsa_QuerySecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QuerySecurity, r); - } - - ZERO_STRUCT(r->out); - r->out.sdbuf = talloc_zero(r, struct sec_desc_buf *); - if (r->out.sdbuf == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QuerySecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QuerySecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetSecObj(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetSecObj *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETSECOBJ]; - - r = talloc(talloc_tos(), struct lsa_SetSecObj); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetSecObj, r); - } - - r->out.result = _lsa_SetSecObj(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetSecObj, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_ChangePassword(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_ChangePassword *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CHANGEPASSWORD]; - - r = talloc(talloc_tos(), struct lsa_ChangePassword); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_ChangePassword, r); - } - - r->out.result = _lsa_ChangePassword(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_ChangePassword, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_OpenPolicy(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_OpenPolicy *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_OPENPOLICY]; - - r = talloc(talloc_tos(), struct lsa_OpenPolicy); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_OpenPolicy, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_OpenPolicy(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_OpenPolicy, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QueryInfoPolicy(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QueryInfoPolicy *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYINFOPOLICY]; - - r = talloc(talloc_tos(), struct lsa_QueryInfoPolicy); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QueryInfoPolicy, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union lsa_PolicyInformation *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QueryInfoPolicy(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QueryInfoPolicy, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetInfoPolicy(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetInfoPolicy *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETINFOPOLICY]; - - r = talloc(talloc_tos(), struct lsa_SetInfoPolicy); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetInfoPolicy, r); - } - - r->out.result = _lsa_SetInfoPolicy(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetInfoPolicy, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_ClearAuditLog(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_ClearAuditLog *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CLEARAUDITLOG]; - - r = talloc(talloc_tos(), struct lsa_ClearAuditLog); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_ClearAuditLog, r); - } - - r->out.result = _lsa_ClearAuditLog(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_ClearAuditLog, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CreateAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CreateAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREATEACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_CreateAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CreateAccount, r); - } - - ZERO_STRUCT(r->out); - r->out.acct_handle = talloc_zero(r, struct policy_handle); - if (r->out.acct_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_CreateAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CreateAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumAccounts(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumAccounts *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMACCOUNTS]; - - r = talloc(talloc_tos(), struct lsa_EnumAccounts); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumAccounts, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sids = talloc_zero(r, struct lsa_SidArray); - if (r->out.sids == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumAccounts(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumAccounts, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CreateTrustedDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CreateTrustedDomain *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREATETRUSTEDDOMAIN]; - - r = talloc(talloc_tos(), struct lsa_CreateTrustedDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomain, r); - } - - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(r, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_CreateTrustedDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CreateTrustedDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumTrustDom(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumTrustDom *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMTRUSTDOM]; - - r = talloc(talloc_tos(), struct lsa_EnumTrustDom); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumTrustDom, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.domains = talloc_zero(r, struct lsa_DomainList); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumTrustDom(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumTrustDom, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupNames(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupNames *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES]; - - r = talloc(talloc_tos(), struct lsa_LookupNames); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupNames, r); - } - - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupNames(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupNames, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupSids(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupSids *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPSIDS]; - - r = talloc(talloc_tos(), struct lsa_LookupSids); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupSids, r); - } - - ZERO_STRUCT(r->out); - r->out.names = r->in.names; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupSids(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupSids, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CreateSecret(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CreateSecret *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREATESECRET]; - - r = talloc(talloc_tos(), struct lsa_CreateSecret); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CreateSecret, r); - } - - ZERO_STRUCT(r->out); - r->out.sec_handle = talloc_zero(r, struct policy_handle); - if (r->out.sec_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_CreateSecret(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CreateSecret, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_OpenAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_OpenAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_OPENACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_OpenAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_OpenAccount, r); - } - - ZERO_STRUCT(r->out); - r->out.acct_handle = talloc_zero(r, struct policy_handle); - if (r->out.acct_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_OpenAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_OpenAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumPrivsAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumPrivsAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMPRIVSACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_EnumPrivsAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumPrivsAccount, r); - } - - ZERO_STRUCT(r->out); - r->out.privs = talloc_zero(r, struct lsa_PrivilegeSet *); - if (r->out.privs == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumPrivsAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumPrivsAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_AddPrivilegesToAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_AddPrivilegesToAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ADDPRIVILEGESTOACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_AddPrivilegesToAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_AddPrivilegesToAccount, r); - } - - r->out.result = _lsa_AddPrivilegesToAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_AddPrivilegesToAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_RemovePrivilegesFromAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_RemovePrivilegesFromAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_RemovePrivilegesFromAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_RemovePrivilegesFromAccount, r); - } - - r->out.result = _lsa_RemovePrivilegesFromAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_RemovePrivilegesFromAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_GetQuotasForAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_GetQuotasForAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_GETQUOTASFORACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_GetQuotasForAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_GetQuotasForAccount, r); - } - - r->out.result = _lsa_GetQuotasForAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_GetQuotasForAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetQuotasForAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetQuotasForAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETQUOTASFORACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_SetQuotasForAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetQuotasForAccount, r); - } - - r->out.result = _lsa_SetQuotasForAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetQuotasForAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_GetSystemAccessAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_GetSystemAccessAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_GETSYSTEMACCESSACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_GetSystemAccessAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_GetSystemAccessAccount, r); - } - - ZERO_STRUCT(r->out); - r->out.access_mask = talloc_zero(r, uint32_t); - if (r->out.access_mask == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_GetSystemAccessAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_GetSystemAccessAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetSystemAccessAccount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetSystemAccessAccount *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETSYSTEMACCESSACCOUNT]; - - r = talloc(talloc_tos(), struct lsa_SetSystemAccessAccount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetSystemAccessAccount, r); - } - - r->out.result = _lsa_SetSystemAccessAccount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetSystemAccessAccount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_OpenTrustedDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_OpenTrustedDomain *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_OPENTRUSTEDDOMAIN]; - - r = talloc(talloc_tos(), struct lsa_OpenTrustedDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_OpenTrustedDomain, r); - } - - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(r, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_OpenTrustedDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_OpenTrustedDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QueryTrustedDomainInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QueryTrustedDomainInfo *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYTRUSTEDDOMAININFO]; - - r = talloc(talloc_tos(), struct lsa_QueryTrustedDomainInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QueryTrustedDomainInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QueryTrustedDomainInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QueryTrustedDomainInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetInformationTrustedDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetInformationTrustedDomain *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN]; - - r = talloc(talloc_tos(), struct lsa_SetInformationTrustedDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetInformationTrustedDomain, r); - } - - r->out.result = _lsa_SetInformationTrustedDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetInformationTrustedDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_OpenSecret(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_OpenSecret *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_OPENSECRET]; - - r = talloc(talloc_tos(), struct lsa_OpenSecret); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_OpenSecret, r); - } - - ZERO_STRUCT(r->out); - r->out.sec_handle = talloc_zero(r, struct policy_handle); - if (r->out.sec_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_OpenSecret(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_OpenSecret, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetSecret(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetSecret *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETSECRET]; - - r = talloc(talloc_tos(), struct lsa_SetSecret); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetSecret, r); - } - - r->out.result = _lsa_SetSecret(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetSecret, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QuerySecret(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QuerySecret *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYSECRET]; - - r = talloc(talloc_tos(), struct lsa_QuerySecret); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QuerySecret, r); - } - - ZERO_STRUCT(r->out); - r->out.new_val = r->in.new_val; - r->out.new_mtime = r->in.new_mtime; - r->out.old_val = r->in.old_val; - r->out.old_mtime = r->in.old_mtime; - r->out.result = _lsa_QuerySecret(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QuerySecret, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupPrivValue(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupPrivValue *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPPRIVVALUE]; - - r = talloc(talloc_tos(), struct lsa_LookupPrivValue); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupPrivValue, r); - } - - ZERO_STRUCT(r->out); - r->out.luid = talloc_zero(r, struct lsa_LUID); - if (r->out.luid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupPrivValue(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupPrivValue, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupPrivName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupPrivName *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPPRIVNAME]; - - r = talloc(talloc_tos(), struct lsa_LookupPrivName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupPrivName, r); - } - - ZERO_STRUCT(r->out); - r->out.name = talloc_zero(r, struct lsa_StringLarge *); - if (r->out.name == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupPrivName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupPrivName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupPrivDisplayName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupPrivDisplayName *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPPRIVDISPLAYNAME]; - - r = talloc(talloc_tos(), struct lsa_LookupPrivDisplayName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupPrivDisplayName, r); - } - - ZERO_STRUCT(r->out); - r->out.disp_name = talloc_zero(r, struct lsa_StringLarge *); - if (r->out.disp_name == NULL) { - talloc_free(r); - return false; - } - - r->out.returned_language_id = talloc_zero(r, uint16_t); - if (r->out.returned_language_id == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupPrivDisplayName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupPrivDisplayName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_DeleteObject(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_DeleteObject *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_DELETEOBJECT]; - - r = talloc(talloc_tos(), struct lsa_DeleteObject); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_DeleteObject, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _lsa_DeleteObject(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_DeleteObject, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumAccountsWithUserRight(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumAccountsWithUserRight *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT]; - - r = talloc(talloc_tos(), struct lsa_EnumAccountsWithUserRight); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumAccountsWithUserRight, r); - } - - ZERO_STRUCT(r->out); - r->out.sids = talloc_zero(r, struct lsa_SidArray); - if (r->out.sids == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumAccountsWithUserRight(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumAccountsWithUserRight, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumAccountRights(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumAccountRights *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMACCOUNTRIGHTS]; - - r = talloc(talloc_tos(), struct lsa_EnumAccountRights); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumAccountRights, r); - } - - ZERO_STRUCT(r->out); - r->out.rights = talloc_zero(r, struct lsa_RightSet); - if (r->out.rights == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumAccountRights(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumAccountRights, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_AddAccountRights(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_AddAccountRights *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ADDACCOUNTRIGHTS]; - - r = talloc(talloc_tos(), struct lsa_AddAccountRights); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_AddAccountRights, r); - } - - r->out.result = _lsa_AddAccountRights(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_AddAccountRights, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_RemoveAccountRights(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_RemoveAccountRights *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_REMOVEACCOUNTRIGHTS]; - - r = talloc(talloc_tos(), struct lsa_RemoveAccountRights); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_RemoveAccountRights, r); - } - - r->out.result = _lsa_RemoveAccountRights(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_RemoveAccountRights, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QueryTrustedDomainInfoBySid(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QueryTrustedDomainInfoBySid *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID]; - - r = talloc(talloc_tos(), struct lsa_QueryTrustedDomainInfoBySid); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QueryTrustedDomainInfoBySid, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QueryTrustedDomainInfoBySid(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QueryTrustedDomainInfoBySid, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetTrustedDomainInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetTrustedDomainInfo *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETTRUSTEDDOMAININFO]; - - r = talloc(talloc_tos(), struct lsa_SetTrustedDomainInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetTrustedDomainInfo, r); - } - - r->out.result = _lsa_SetTrustedDomainInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetTrustedDomainInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_DeleteTrustedDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_DeleteTrustedDomain *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_DELETETRUSTEDDOMAIN]; - - r = talloc(talloc_tos(), struct lsa_DeleteTrustedDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_DeleteTrustedDomain, r); - } - - r->out.result = _lsa_DeleteTrustedDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_DeleteTrustedDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_StorePrivateData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_StorePrivateData *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_STOREPRIVATEDATA]; - - r = talloc(talloc_tos(), struct lsa_StorePrivateData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_StorePrivateData, r); - } - - r->out.result = _lsa_StorePrivateData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_StorePrivateData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_RetrievePrivateData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_RetrievePrivateData *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_RETRIEVEPRIVATEDATA]; - - r = talloc(talloc_tos(), struct lsa_RetrievePrivateData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_RetrievePrivateData, r); - } - - ZERO_STRUCT(r->out); - r->out.val = r->in.val; - r->out.result = _lsa_RetrievePrivateData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_RetrievePrivateData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_OpenPolicy2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_OpenPolicy2 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_OPENPOLICY2]; - - r = talloc(talloc_tos(), struct lsa_OpenPolicy2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_OpenPolicy2, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_OpenPolicy2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_OpenPolicy2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_GetUserName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_GetUserName *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_GETUSERNAME]; - - r = talloc(talloc_tos(), struct lsa_GetUserName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_GetUserName, r); - } - - ZERO_STRUCT(r->out); - r->out.account_name = r->in.account_name; - r->out.authority_name = r->in.authority_name; - r->out.result = _lsa_GetUserName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_GetUserName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QueryInfoPolicy2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QueryInfoPolicy2 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYINFOPOLICY2]; - - r = talloc(talloc_tos(), struct lsa_QueryInfoPolicy2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QueryInfoPolicy2, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union lsa_PolicyInformation *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QueryInfoPolicy2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QueryInfoPolicy2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetInfoPolicy2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetInfoPolicy2 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETINFOPOLICY2]; - - r = talloc(talloc_tos(), struct lsa_SetInfoPolicy2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetInfoPolicy2, r); - } - - r->out.result = _lsa_SetInfoPolicy2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetInfoPolicy2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QueryTrustedDomainInfoByName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QueryTrustedDomainInfoByName *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME]; - - r = talloc(talloc_tos(), struct lsa_QueryTrustedDomainInfoByName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QueryTrustedDomainInfoByName, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QueryTrustedDomainInfoByName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QueryTrustedDomainInfoByName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetTrustedDomainInfoByName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetTrustedDomainInfoByName *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETTRUSTEDDOMAININFOBYNAME]; - - r = talloc(talloc_tos(), struct lsa_SetTrustedDomainInfoByName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetTrustedDomainInfoByName, r); - } - - r->out.result = _lsa_SetTrustedDomainInfoByName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetTrustedDomainInfoByName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_EnumTrustedDomainsEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_EnumTrustedDomainsEx *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMTRUSTEDDOMAINSEX]; - - r = talloc(talloc_tos(), struct lsa_EnumTrustedDomainsEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_EnumTrustedDomainsEx, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.domains = talloc_zero(r, struct lsa_DomainListEx); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_EnumTrustedDomainsEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_EnumTrustedDomainsEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CreateTrustedDomainEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CreateTrustedDomainEx *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREATETRUSTEDDOMAINEX]; - - r = talloc(talloc_tos(), struct lsa_CreateTrustedDomainEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomainEx, r); - } - - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(r, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_CreateTrustedDomainEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CreateTrustedDomainEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CloseTrustedDomainEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CloseTrustedDomainEx *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CLOSETRUSTEDDOMAINEX]; - - r = talloc(talloc_tos(), struct lsa_CloseTrustedDomainEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CloseTrustedDomainEx, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _lsa_CloseTrustedDomainEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CloseTrustedDomainEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_QueryDomainInformationPolicy(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_QueryDomainInformationPolicy *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYDOMAININFORMATIONPOLICY]; - - r = talloc(talloc_tos(), struct lsa_QueryDomainInformationPolicy); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_QueryDomainInformationPolicy, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union lsa_DomainInformationPolicy *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_QueryDomainInformationPolicy(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_QueryDomainInformationPolicy, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_SetDomainInformationPolicy(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_SetDomainInformationPolicy *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_SETDOMAININFORMATIONPOLICY]; - - r = talloc(talloc_tos(), struct lsa_SetDomainInformationPolicy); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_SetDomainInformationPolicy, r); - } - - r->out.result = _lsa_SetDomainInformationPolicy(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_SetDomainInformationPolicy, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_OpenTrustedDomainByName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_OpenTrustedDomainByName *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_OPENTRUSTEDDOMAINBYNAME]; - - r = talloc(talloc_tos(), struct lsa_OpenTrustedDomainByName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_OpenTrustedDomainByName, r); - } - - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(r, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_OpenTrustedDomainByName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_OpenTrustedDomainByName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_TestCall(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_TestCall *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_TESTCALL]; - - r = talloc(talloc_tos(), struct lsa_TestCall); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_TestCall, r); - } - - r->out.result = _lsa_TestCall(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_TestCall, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupSids2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupSids2 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPSIDS2]; - - r = talloc(talloc_tos(), struct lsa_LookupSids2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupSids2, r); - } - - ZERO_STRUCT(r->out); - r->out.names = r->in.names; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupSids2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupSids2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupNames2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupNames2 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES2]; - - r = talloc(talloc_tos(), struct lsa_LookupNames2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupNames2, r); - } - - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupNames2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupNames2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CreateTrustedDomainEx2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CreateTrustedDomainEx2 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREATETRUSTEDDOMAINEX2]; - - r = talloc(talloc_tos(), struct lsa_CreateTrustedDomainEx2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomainEx2, r); - } - - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(r, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_CreateTrustedDomainEx2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CreateTrustedDomainEx2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRWRITE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRWRITE *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRWRITE]; - - r = talloc(talloc_tos(), struct lsa_CREDRWRITE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRWRITE, r); - } - - r->out.result = _lsa_CREDRWRITE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRWRITE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRREAD(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRREAD *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRREAD]; - - r = talloc(talloc_tos(), struct lsa_CREDRREAD); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRREAD, r); - } - - r->out.result = _lsa_CREDRREAD(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRREAD, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRENUMERATE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRENUMERATE *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRENUMERATE]; - - r = talloc(talloc_tos(), struct lsa_CREDRENUMERATE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRENUMERATE, r); - } - - r->out.result = _lsa_CREDRENUMERATE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRENUMERATE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRWRITEDOMAINCREDENTIALS(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRWRITEDOMAINCREDENTIALS *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRWRITEDOMAINCREDENTIALS]; - - r = talloc(talloc_tos(), struct lsa_CREDRWRITEDOMAINCREDENTIALS); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, r); - } - - r->out.result = _lsa_CREDRWRITEDOMAINCREDENTIALS(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRREADDOMAINCREDENTIALS(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRREADDOMAINCREDENTIALS *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRREADDOMAINCREDENTIALS]; - - r = talloc(talloc_tos(), struct lsa_CREDRREADDOMAINCREDENTIALS); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, r); - } - - r->out.result = _lsa_CREDRREADDOMAINCREDENTIALS(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRDELETE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRDELETE *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRDELETE]; - - r = talloc(talloc_tos(), struct lsa_CREDRDELETE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRDELETE, r); - } - - r->out.result = _lsa_CREDRDELETE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRDELETE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRGETTARGETINFO(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRGETTARGETINFO *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRGETTARGETINFO]; - - r = talloc(talloc_tos(), struct lsa_CREDRGETTARGETINFO); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRGETTARGETINFO, r); - } - - r->out.result = _lsa_CREDRGETTARGETINFO(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRGETTARGETINFO, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRPROFILELOADED(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRPROFILELOADED *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRPROFILELOADED]; - - r = talloc(talloc_tos(), struct lsa_CREDRPROFILELOADED); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRPROFILELOADED, r); - } - - r->out.result = _lsa_CREDRPROFILELOADED(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRPROFILELOADED, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupNames3(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupNames3 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES3]; - - r = talloc(talloc_tos(), struct lsa_LookupNames3); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupNames3, r); - } - - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupNames3(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupNames3, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRGETSESSIONTYPES(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRGETSESSIONTYPES *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRGETSESSIONTYPES]; - - r = talloc(talloc_tos(), struct lsa_CREDRGETSESSIONTYPES); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRGETSESSIONTYPES, r); - } - - r->out.result = _lsa_CREDRGETSESSIONTYPES(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRGETSESSIONTYPES, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSARREGISTERAUDITEVENT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSARREGISTERAUDITEVENT *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARREGISTERAUDITEVENT]; - - r = talloc(talloc_tos(), struct lsa_LSARREGISTERAUDITEVENT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSARREGISTERAUDITEVENT, r); - } - - r->out.result = _lsa_LSARREGISTERAUDITEVENT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSARREGISTERAUDITEVENT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSARGENAUDITEVENT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSARGENAUDITEVENT *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARGENAUDITEVENT]; - - r = talloc(talloc_tos(), struct lsa_LSARGENAUDITEVENT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSARGENAUDITEVENT, r); - } - - r->out.result = _lsa_LSARGENAUDITEVENT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSARGENAUDITEVENT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSARUNREGISTERAUDITEVENT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSARUNREGISTERAUDITEVENT *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARUNREGISTERAUDITEVENT]; - - r = talloc(talloc_tos(), struct lsa_LSARUNREGISTERAUDITEVENT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, r); - } - - r->out.result = _lsa_LSARUNREGISTERAUDITEVENT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_lsaRQueryForestTrustInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_lsaRQueryForestTrustInformation *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION]; - - r = talloc(talloc_tos(), struct lsa_lsaRQueryForestTrustInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_lsaRQueryForestTrustInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.forest_trust_info = talloc_zero(r, struct lsa_ForestTrustInformation *); - if (r->out.forest_trust_info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_lsaRQueryForestTrustInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_lsaRQueryForestTrustInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_lsaRSetForestTrustInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_lsaRSetForestTrustInformation *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARSETFORESTTRUSTINFORMATION]; - - r = talloc(talloc_tos(), struct lsa_lsaRSetForestTrustInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_lsaRSetForestTrustInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.collision_info = talloc_zero(r, struct lsa_ForestTrustCollisionInfo *); - if (r->out.collision_info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_lsaRSetForestTrustInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_lsaRSetForestTrustInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_CREDRRENAME(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_CREDRRENAME *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRRENAME]; - - r = talloc(talloc_tos(), struct lsa_CREDRRENAME); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_CREDRRENAME, r); - } - - r->out.result = _lsa_CREDRRENAME(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_CREDRRENAME, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupSids3(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupSids3 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPSIDS3]; - - r = talloc(talloc_tos(), struct lsa_LookupSids3); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupSids3, r); - } - - ZERO_STRUCT(r->out); - r->out.names = r->in.names; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupSids3(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupSids3, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LookupNames4(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LookupNames4 *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES4]; - - r = talloc(talloc_tos(), struct lsa_LookupNames4); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LookupNames4, r); - } - - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(r, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _lsa_LookupNames4(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LookupNames4, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSAROPENPOLICYSCE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSAROPENPOLICYSCE *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSAROPENPOLICYSCE]; - - r = talloc(talloc_tos(), struct lsa_LSAROPENPOLICYSCE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSAROPENPOLICYSCE, r); - } - - r->out.result = _lsa_LSAROPENPOLICYSCE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSAROPENPOLICYSCE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE]; - - r = talloc(talloc_tos(), struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, r); - } - - r->out.result = _lsa_LSARADTREGISTERSECURITYEVENTSOURCE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE]; - - r = talloc(talloc_tos(), struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, r); - } - - r->out.result = _lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_lsa_LSARADTREPORTSECURITYEVENT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct lsa_LSARADTREPORTSECURITYEVENT *r; - - call = &ndr_table_lsarpc.calls[NDR_LSA_LSARADTREPORTSECURITYEVENT]; - - r = talloc(talloc_tos(), struct lsa_LSARADTREPORTSECURITYEVENT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, r); - } - - r->out.result = _lsa_LSARADTREPORTSECURITYEVENT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_lsarpc_cmds[] = -{ - {"LSA_CLOSE", NDR_LSA_CLOSE, api_lsa_Close}, - {"LSA_DELETE", NDR_LSA_DELETE, api_lsa_Delete}, - {"LSA_ENUMPRIVS", NDR_LSA_ENUMPRIVS, api_lsa_EnumPrivs}, - {"LSA_QUERYSECURITY", NDR_LSA_QUERYSECURITY, api_lsa_QuerySecurity}, - {"LSA_SETSECOBJ", NDR_LSA_SETSECOBJ, api_lsa_SetSecObj}, - {"LSA_CHANGEPASSWORD", NDR_LSA_CHANGEPASSWORD, api_lsa_ChangePassword}, - {"LSA_OPENPOLICY", NDR_LSA_OPENPOLICY, api_lsa_OpenPolicy}, - {"LSA_QUERYINFOPOLICY", NDR_LSA_QUERYINFOPOLICY, api_lsa_QueryInfoPolicy}, - {"LSA_SETINFOPOLICY", NDR_LSA_SETINFOPOLICY, api_lsa_SetInfoPolicy}, - {"LSA_CLEARAUDITLOG", NDR_LSA_CLEARAUDITLOG, api_lsa_ClearAuditLog}, - {"LSA_CREATEACCOUNT", NDR_LSA_CREATEACCOUNT, api_lsa_CreateAccount}, - {"LSA_ENUMACCOUNTS", NDR_LSA_ENUMACCOUNTS, api_lsa_EnumAccounts}, - {"LSA_CREATETRUSTEDDOMAIN", NDR_LSA_CREATETRUSTEDDOMAIN, api_lsa_CreateTrustedDomain}, - {"LSA_ENUMTRUSTDOM", NDR_LSA_ENUMTRUSTDOM, api_lsa_EnumTrustDom}, - {"LSA_LOOKUPNAMES", NDR_LSA_LOOKUPNAMES, api_lsa_LookupNames}, - {"LSA_LOOKUPSIDS", NDR_LSA_LOOKUPSIDS, api_lsa_LookupSids}, - {"LSA_CREATESECRET", NDR_LSA_CREATESECRET, api_lsa_CreateSecret}, - {"LSA_OPENACCOUNT", NDR_LSA_OPENACCOUNT, api_lsa_OpenAccount}, - {"LSA_ENUMPRIVSACCOUNT", NDR_LSA_ENUMPRIVSACCOUNT, api_lsa_EnumPrivsAccount}, - {"LSA_ADDPRIVILEGESTOACCOUNT", NDR_LSA_ADDPRIVILEGESTOACCOUNT, api_lsa_AddPrivilegesToAccount}, - {"LSA_REMOVEPRIVILEGESFROMACCOUNT", NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT, api_lsa_RemovePrivilegesFromAccount}, - {"LSA_GETQUOTASFORACCOUNT", NDR_LSA_GETQUOTASFORACCOUNT, api_lsa_GetQuotasForAccount}, - {"LSA_SETQUOTASFORACCOUNT", NDR_LSA_SETQUOTASFORACCOUNT, api_lsa_SetQuotasForAccount}, - {"LSA_GETSYSTEMACCESSACCOUNT", NDR_LSA_GETSYSTEMACCESSACCOUNT, api_lsa_GetSystemAccessAccount}, - {"LSA_SETSYSTEMACCESSACCOUNT", NDR_LSA_SETSYSTEMACCESSACCOUNT, api_lsa_SetSystemAccessAccount}, - {"LSA_OPENTRUSTEDDOMAIN", NDR_LSA_OPENTRUSTEDDOMAIN, api_lsa_OpenTrustedDomain}, - {"LSA_QUERYTRUSTEDDOMAININFO", NDR_LSA_QUERYTRUSTEDDOMAININFO, api_lsa_QueryTrustedDomainInfo}, - {"LSA_SETINFORMATIONTRUSTEDDOMAIN", NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN, api_lsa_SetInformationTrustedDomain}, - {"LSA_OPENSECRET", NDR_LSA_OPENSECRET, api_lsa_OpenSecret}, - {"LSA_SETSECRET", NDR_LSA_SETSECRET, api_lsa_SetSecret}, - {"LSA_QUERYSECRET", NDR_LSA_QUERYSECRET, api_lsa_QuerySecret}, - {"LSA_LOOKUPPRIVVALUE", NDR_LSA_LOOKUPPRIVVALUE, api_lsa_LookupPrivValue}, - {"LSA_LOOKUPPRIVNAME", NDR_LSA_LOOKUPPRIVNAME, api_lsa_LookupPrivName}, - {"LSA_LOOKUPPRIVDISPLAYNAME", NDR_LSA_LOOKUPPRIVDISPLAYNAME, api_lsa_LookupPrivDisplayName}, - {"LSA_DELETEOBJECT", NDR_LSA_DELETEOBJECT, api_lsa_DeleteObject}, - {"LSA_ENUMACCOUNTSWITHUSERRIGHT", NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT, api_lsa_EnumAccountsWithUserRight}, - {"LSA_ENUMACCOUNTRIGHTS", NDR_LSA_ENUMACCOUNTRIGHTS, api_lsa_EnumAccountRights}, - {"LSA_ADDACCOUNTRIGHTS", NDR_LSA_ADDACCOUNTRIGHTS, api_lsa_AddAccountRights}, - {"LSA_REMOVEACCOUNTRIGHTS", NDR_LSA_REMOVEACCOUNTRIGHTS, api_lsa_RemoveAccountRights}, - {"LSA_QUERYTRUSTEDDOMAININFOBYSID", NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID, api_lsa_QueryTrustedDomainInfoBySid}, - {"LSA_SETTRUSTEDDOMAININFO", NDR_LSA_SETTRUSTEDDOMAININFO, api_lsa_SetTrustedDomainInfo}, - {"LSA_DELETETRUSTEDDOMAIN", NDR_LSA_DELETETRUSTEDDOMAIN, api_lsa_DeleteTrustedDomain}, - {"LSA_STOREPRIVATEDATA", NDR_LSA_STOREPRIVATEDATA, api_lsa_StorePrivateData}, - {"LSA_RETRIEVEPRIVATEDATA", NDR_LSA_RETRIEVEPRIVATEDATA, api_lsa_RetrievePrivateData}, - {"LSA_OPENPOLICY2", NDR_LSA_OPENPOLICY2, api_lsa_OpenPolicy2}, - {"LSA_GETUSERNAME", NDR_LSA_GETUSERNAME, api_lsa_GetUserName}, - {"LSA_QUERYINFOPOLICY2", NDR_LSA_QUERYINFOPOLICY2, api_lsa_QueryInfoPolicy2}, - {"LSA_SETINFOPOLICY2", NDR_LSA_SETINFOPOLICY2, api_lsa_SetInfoPolicy2}, - {"LSA_QUERYTRUSTEDDOMAININFOBYNAME", NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME, api_lsa_QueryTrustedDomainInfoByName}, - {"LSA_SETTRUSTEDDOMAININFOBYNAME", NDR_LSA_SETTRUSTEDDOMAININFOBYNAME, api_lsa_SetTrustedDomainInfoByName}, - {"LSA_ENUMTRUSTEDDOMAINSEX", NDR_LSA_ENUMTRUSTEDDOMAINSEX, api_lsa_EnumTrustedDomainsEx}, - {"LSA_CREATETRUSTEDDOMAINEX", NDR_LSA_CREATETRUSTEDDOMAINEX, api_lsa_CreateTrustedDomainEx}, - {"LSA_CLOSETRUSTEDDOMAINEX", NDR_LSA_CLOSETRUSTEDDOMAINEX, api_lsa_CloseTrustedDomainEx}, - {"LSA_QUERYDOMAININFORMATIONPOLICY", NDR_LSA_QUERYDOMAININFORMATIONPOLICY, api_lsa_QueryDomainInformationPolicy}, - {"LSA_SETDOMAININFORMATIONPOLICY", NDR_LSA_SETDOMAININFORMATIONPOLICY, api_lsa_SetDomainInformationPolicy}, - {"LSA_OPENTRUSTEDDOMAINBYNAME", NDR_LSA_OPENTRUSTEDDOMAINBYNAME, api_lsa_OpenTrustedDomainByName}, - {"LSA_TESTCALL", NDR_LSA_TESTCALL, api_lsa_TestCall}, - {"LSA_LOOKUPSIDS2", NDR_LSA_LOOKUPSIDS2, api_lsa_LookupSids2}, - {"LSA_LOOKUPNAMES2", NDR_LSA_LOOKUPNAMES2, api_lsa_LookupNames2}, - {"LSA_CREATETRUSTEDDOMAINEX2", NDR_LSA_CREATETRUSTEDDOMAINEX2, api_lsa_CreateTrustedDomainEx2}, - {"LSA_CREDRWRITE", NDR_LSA_CREDRWRITE, api_lsa_CREDRWRITE}, - {"LSA_CREDRREAD", NDR_LSA_CREDRREAD, api_lsa_CREDRREAD}, - {"LSA_CREDRENUMERATE", NDR_LSA_CREDRENUMERATE, api_lsa_CREDRENUMERATE}, - {"LSA_CREDRWRITEDOMAINCREDENTIALS", NDR_LSA_CREDRWRITEDOMAINCREDENTIALS, api_lsa_CREDRWRITEDOMAINCREDENTIALS}, - {"LSA_CREDRREADDOMAINCREDENTIALS", NDR_LSA_CREDRREADDOMAINCREDENTIALS, api_lsa_CREDRREADDOMAINCREDENTIALS}, - {"LSA_CREDRDELETE", NDR_LSA_CREDRDELETE, api_lsa_CREDRDELETE}, - {"LSA_CREDRGETTARGETINFO", NDR_LSA_CREDRGETTARGETINFO, api_lsa_CREDRGETTARGETINFO}, - {"LSA_CREDRPROFILELOADED", NDR_LSA_CREDRPROFILELOADED, api_lsa_CREDRPROFILELOADED}, - {"LSA_LOOKUPNAMES3", NDR_LSA_LOOKUPNAMES3, api_lsa_LookupNames3}, - {"LSA_CREDRGETSESSIONTYPES", NDR_LSA_CREDRGETSESSIONTYPES, api_lsa_CREDRGETSESSIONTYPES}, - {"LSA_LSARREGISTERAUDITEVENT", NDR_LSA_LSARREGISTERAUDITEVENT, api_lsa_LSARREGISTERAUDITEVENT}, - {"LSA_LSARGENAUDITEVENT", NDR_LSA_LSARGENAUDITEVENT, api_lsa_LSARGENAUDITEVENT}, - {"LSA_LSARUNREGISTERAUDITEVENT", NDR_LSA_LSARUNREGISTERAUDITEVENT, api_lsa_LSARUNREGISTERAUDITEVENT}, - {"LSA_LSARQUERYFORESTTRUSTINFORMATION", NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION, api_lsa_lsaRQueryForestTrustInformation}, - {"LSA_LSARSETFORESTTRUSTINFORMATION", NDR_LSA_LSARSETFORESTTRUSTINFORMATION, api_lsa_lsaRSetForestTrustInformation}, - {"LSA_CREDRRENAME", NDR_LSA_CREDRRENAME, api_lsa_CREDRRENAME}, - {"LSA_LOOKUPSIDS3", NDR_LSA_LOOKUPSIDS3, api_lsa_LookupSids3}, - {"LSA_LOOKUPNAMES4", NDR_LSA_LOOKUPNAMES4, api_lsa_LookupNames4}, - {"LSA_LSAROPENPOLICYSCE", NDR_LSA_LSAROPENPOLICYSCE, api_lsa_LSAROPENPOLICYSCE}, - {"LSA_LSARADTREGISTERSECURITYEVENTSOURCE", NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE, api_lsa_LSARADTREGISTERSECURITYEVENTSOURCE}, - {"LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE", NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE, api_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE}, - {"LSA_LSARADTREPORTSECURITYEVENT", NDR_LSA_LSARADTREPORTSECURITYEVENT, api_lsa_LSARADTREPORTSECURITYEVENT}, -}; - -void lsarpc_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_lsarpc_cmds; - *n_fns = sizeof(api_lsarpc_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_lsarpc_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_LSA_CLOSE: { - struct lsa_Close *r = (struct lsa_Close *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _lsa_Close(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_DELETE: { - struct lsa_Delete *r = (struct lsa_Delete *)_r; - r->out.result = _lsa_Delete(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMPRIVS: { - struct lsa_EnumPrivs *r = (struct lsa_EnumPrivs *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.privs = talloc_zero(mem_ctx, struct lsa_PrivArray); - if (r->out.privs == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumPrivs(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYSECURITY: { - struct lsa_QuerySecurity *r = (struct lsa_QuerySecurity *)_r; - ZERO_STRUCT(r->out); - r->out.sdbuf = talloc_zero(mem_ctx, struct sec_desc_buf *); - if (r->out.sdbuf == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QuerySecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETSECOBJ: { - struct lsa_SetSecObj *r = (struct lsa_SetSecObj *)_r; - r->out.result = _lsa_SetSecObj(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CHANGEPASSWORD: { - struct lsa_ChangePassword *r = (struct lsa_ChangePassword *)_r; - r->out.result = _lsa_ChangePassword(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_OPENPOLICY: { - struct lsa_OpenPolicy *r = (struct lsa_OpenPolicy *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_OpenPolicy(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYINFOPOLICY: { - struct lsa_QueryInfoPolicy *r = (struct lsa_QueryInfoPolicy *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union lsa_PolicyInformation *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QueryInfoPolicy(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETINFOPOLICY: { - struct lsa_SetInfoPolicy *r = (struct lsa_SetInfoPolicy *)_r; - r->out.result = _lsa_SetInfoPolicy(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CLEARAUDITLOG: { - struct lsa_ClearAuditLog *r = (struct lsa_ClearAuditLog *)_r; - r->out.result = _lsa_ClearAuditLog(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREATEACCOUNT: { - struct lsa_CreateAccount *r = (struct lsa_CreateAccount *)_r; - ZERO_STRUCT(r->out); - r->out.acct_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.acct_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_CreateAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMACCOUNTS: { - struct lsa_EnumAccounts *r = (struct lsa_EnumAccounts *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sids = talloc_zero(mem_ctx, struct lsa_SidArray); - if (r->out.sids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumAccounts(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREATETRUSTEDDOMAIN: { - struct lsa_CreateTrustedDomain *r = (struct lsa_CreateTrustedDomain *)_r; - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_CreateTrustedDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMTRUSTDOM: { - struct lsa_EnumTrustDom *r = (struct lsa_EnumTrustDom *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.domains = talloc_zero(mem_ctx, struct lsa_DomainList); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumTrustDom(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPNAMES: { - struct lsa_LookupNames *r = (struct lsa_LookupNames *)_r; - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupNames(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPSIDS: { - struct lsa_LookupSids *r = (struct lsa_LookupSids *)_r; - ZERO_STRUCT(r->out); - r->out.names = r->in.names; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupSids(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREATESECRET: { - struct lsa_CreateSecret *r = (struct lsa_CreateSecret *)_r; - ZERO_STRUCT(r->out); - r->out.sec_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.sec_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_CreateSecret(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_OPENACCOUNT: { - struct lsa_OpenAccount *r = (struct lsa_OpenAccount *)_r; - ZERO_STRUCT(r->out); - r->out.acct_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.acct_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_OpenAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMPRIVSACCOUNT: { - struct lsa_EnumPrivsAccount *r = (struct lsa_EnumPrivsAccount *)_r; - ZERO_STRUCT(r->out); - r->out.privs = talloc_zero(mem_ctx, struct lsa_PrivilegeSet *); - if (r->out.privs == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumPrivsAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ADDPRIVILEGESTOACCOUNT: { - struct lsa_AddPrivilegesToAccount *r = (struct lsa_AddPrivilegesToAccount *)_r; - r->out.result = _lsa_AddPrivilegesToAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT: { - struct lsa_RemovePrivilegesFromAccount *r = (struct lsa_RemovePrivilegesFromAccount *)_r; - r->out.result = _lsa_RemovePrivilegesFromAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_GETQUOTASFORACCOUNT: { - struct lsa_GetQuotasForAccount *r = (struct lsa_GetQuotasForAccount *)_r; - r->out.result = _lsa_GetQuotasForAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETQUOTASFORACCOUNT: { - struct lsa_SetQuotasForAccount *r = (struct lsa_SetQuotasForAccount *)_r; - r->out.result = _lsa_SetQuotasForAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_GETSYSTEMACCESSACCOUNT: { - struct lsa_GetSystemAccessAccount *r = (struct lsa_GetSystemAccessAccount *)_r; - ZERO_STRUCT(r->out); - r->out.access_mask = talloc_zero(mem_ctx, uint32_t); - if (r->out.access_mask == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_GetSystemAccessAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETSYSTEMACCESSACCOUNT: { - struct lsa_SetSystemAccessAccount *r = (struct lsa_SetSystemAccessAccount *)_r; - r->out.result = _lsa_SetSystemAccessAccount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_OPENTRUSTEDDOMAIN: { - struct lsa_OpenTrustedDomain *r = (struct lsa_OpenTrustedDomain *)_r; - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_OpenTrustedDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYTRUSTEDDOMAININFO: { - struct lsa_QueryTrustedDomainInfo *r = (struct lsa_QueryTrustedDomainInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union lsa_TrustedDomainInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QueryTrustedDomainInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN: { - struct lsa_SetInformationTrustedDomain *r = (struct lsa_SetInformationTrustedDomain *)_r; - r->out.result = _lsa_SetInformationTrustedDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_OPENSECRET: { - struct lsa_OpenSecret *r = (struct lsa_OpenSecret *)_r; - ZERO_STRUCT(r->out); - r->out.sec_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.sec_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_OpenSecret(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETSECRET: { - struct lsa_SetSecret *r = (struct lsa_SetSecret *)_r; - r->out.result = _lsa_SetSecret(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYSECRET: { - struct lsa_QuerySecret *r = (struct lsa_QuerySecret *)_r; - ZERO_STRUCT(r->out); - r->out.new_val = r->in.new_val; - r->out.new_mtime = r->in.new_mtime; - r->out.old_val = r->in.old_val; - r->out.old_mtime = r->in.old_mtime; - r->out.result = _lsa_QuerySecret(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPPRIVVALUE: { - struct lsa_LookupPrivValue *r = (struct lsa_LookupPrivValue *)_r; - ZERO_STRUCT(r->out); - r->out.luid = talloc_zero(mem_ctx, struct lsa_LUID); - if (r->out.luid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupPrivValue(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPPRIVNAME: { - struct lsa_LookupPrivName *r = (struct lsa_LookupPrivName *)_r; - ZERO_STRUCT(r->out); - r->out.name = talloc_zero(mem_ctx, struct lsa_StringLarge *); - if (r->out.name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupPrivName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPPRIVDISPLAYNAME: { - struct lsa_LookupPrivDisplayName *r = (struct lsa_LookupPrivDisplayName *)_r; - ZERO_STRUCT(r->out); - r->out.disp_name = talloc_zero(mem_ctx, struct lsa_StringLarge *); - if (r->out.disp_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.returned_language_id = talloc_zero(mem_ctx, uint16_t); - if (r->out.returned_language_id == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupPrivDisplayName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_DELETEOBJECT: { - struct lsa_DeleteObject *r = (struct lsa_DeleteObject *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _lsa_DeleteObject(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT: { - struct lsa_EnumAccountsWithUserRight *r = (struct lsa_EnumAccountsWithUserRight *)_r; - ZERO_STRUCT(r->out); - r->out.sids = talloc_zero(mem_ctx, struct lsa_SidArray); - if (r->out.sids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumAccountsWithUserRight(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMACCOUNTRIGHTS: { - struct lsa_EnumAccountRights *r = (struct lsa_EnumAccountRights *)_r; - ZERO_STRUCT(r->out); - r->out.rights = talloc_zero(mem_ctx, struct lsa_RightSet); - if (r->out.rights == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumAccountRights(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ADDACCOUNTRIGHTS: { - struct lsa_AddAccountRights *r = (struct lsa_AddAccountRights *)_r; - r->out.result = _lsa_AddAccountRights(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_REMOVEACCOUNTRIGHTS: { - struct lsa_RemoveAccountRights *r = (struct lsa_RemoveAccountRights *)_r; - r->out.result = _lsa_RemoveAccountRights(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID: { - struct lsa_QueryTrustedDomainInfoBySid *r = (struct lsa_QueryTrustedDomainInfoBySid *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union lsa_TrustedDomainInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QueryTrustedDomainInfoBySid(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETTRUSTEDDOMAININFO: { - struct lsa_SetTrustedDomainInfo *r = (struct lsa_SetTrustedDomainInfo *)_r; - r->out.result = _lsa_SetTrustedDomainInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_DELETETRUSTEDDOMAIN: { - struct lsa_DeleteTrustedDomain *r = (struct lsa_DeleteTrustedDomain *)_r; - r->out.result = _lsa_DeleteTrustedDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_STOREPRIVATEDATA: { - struct lsa_StorePrivateData *r = (struct lsa_StorePrivateData *)_r; - r->out.result = _lsa_StorePrivateData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_RETRIEVEPRIVATEDATA: { - struct lsa_RetrievePrivateData *r = (struct lsa_RetrievePrivateData *)_r; - ZERO_STRUCT(r->out); - r->out.val = r->in.val; - r->out.result = _lsa_RetrievePrivateData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_OPENPOLICY2: { - struct lsa_OpenPolicy2 *r = (struct lsa_OpenPolicy2 *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_OpenPolicy2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_GETUSERNAME: { - struct lsa_GetUserName *r = (struct lsa_GetUserName *)_r; - ZERO_STRUCT(r->out); - r->out.account_name = r->in.account_name; - r->out.authority_name = r->in.authority_name; - r->out.result = _lsa_GetUserName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYINFOPOLICY2: { - struct lsa_QueryInfoPolicy2 *r = (struct lsa_QueryInfoPolicy2 *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union lsa_PolicyInformation *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QueryInfoPolicy2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETINFOPOLICY2: { - struct lsa_SetInfoPolicy2 *r = (struct lsa_SetInfoPolicy2 *)_r; - r->out.result = _lsa_SetInfoPolicy2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME: { - struct lsa_QueryTrustedDomainInfoByName *r = (struct lsa_QueryTrustedDomainInfoByName *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union lsa_TrustedDomainInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QueryTrustedDomainInfoByName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETTRUSTEDDOMAININFOBYNAME: { - struct lsa_SetTrustedDomainInfoByName *r = (struct lsa_SetTrustedDomainInfoByName *)_r; - r->out.result = _lsa_SetTrustedDomainInfoByName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_ENUMTRUSTEDDOMAINSEX: { - struct lsa_EnumTrustedDomainsEx *r = (struct lsa_EnumTrustedDomainsEx *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.domains = talloc_zero(mem_ctx, struct lsa_DomainListEx); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_EnumTrustedDomainsEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREATETRUSTEDDOMAINEX: { - struct lsa_CreateTrustedDomainEx *r = (struct lsa_CreateTrustedDomainEx *)_r; - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_CreateTrustedDomainEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CLOSETRUSTEDDOMAINEX: { - struct lsa_CloseTrustedDomainEx *r = (struct lsa_CloseTrustedDomainEx *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _lsa_CloseTrustedDomainEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_QUERYDOMAININFORMATIONPOLICY: { - struct lsa_QueryDomainInformationPolicy *r = (struct lsa_QueryDomainInformationPolicy *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union lsa_DomainInformationPolicy *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_QueryDomainInformationPolicy(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_SETDOMAININFORMATIONPOLICY: { - struct lsa_SetDomainInformationPolicy *r = (struct lsa_SetDomainInformationPolicy *)_r; - r->out.result = _lsa_SetDomainInformationPolicy(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_OPENTRUSTEDDOMAINBYNAME: { - struct lsa_OpenTrustedDomainByName *r = (struct lsa_OpenTrustedDomainByName *)_r; - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_OpenTrustedDomainByName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_TESTCALL: { - struct lsa_TestCall *r = (struct lsa_TestCall *)_r; - r->out.result = _lsa_TestCall(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPSIDS2: { - struct lsa_LookupSids2 *r = (struct lsa_LookupSids2 *)_r; - ZERO_STRUCT(r->out); - r->out.names = r->in.names; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupSids2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPNAMES2: { - struct lsa_LookupNames2 *r = (struct lsa_LookupNames2 *)_r; - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupNames2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREATETRUSTEDDOMAINEX2: { - struct lsa_CreateTrustedDomainEx2 *r = (struct lsa_CreateTrustedDomainEx2 *)_r; - ZERO_STRUCT(r->out); - r->out.trustdom_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.trustdom_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_CreateTrustedDomainEx2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRWRITE: { - struct lsa_CREDRWRITE *r = (struct lsa_CREDRWRITE *)_r; - r->out.result = _lsa_CREDRWRITE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRREAD: { - struct lsa_CREDRREAD *r = (struct lsa_CREDRREAD *)_r; - r->out.result = _lsa_CREDRREAD(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRENUMERATE: { - struct lsa_CREDRENUMERATE *r = (struct lsa_CREDRENUMERATE *)_r; - r->out.result = _lsa_CREDRENUMERATE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRWRITEDOMAINCREDENTIALS: { - struct lsa_CREDRWRITEDOMAINCREDENTIALS *r = (struct lsa_CREDRWRITEDOMAINCREDENTIALS *)_r; - r->out.result = _lsa_CREDRWRITEDOMAINCREDENTIALS(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRREADDOMAINCREDENTIALS: { - struct lsa_CREDRREADDOMAINCREDENTIALS *r = (struct lsa_CREDRREADDOMAINCREDENTIALS *)_r; - r->out.result = _lsa_CREDRREADDOMAINCREDENTIALS(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRDELETE: { - struct lsa_CREDRDELETE *r = (struct lsa_CREDRDELETE *)_r; - r->out.result = _lsa_CREDRDELETE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRGETTARGETINFO: { - struct lsa_CREDRGETTARGETINFO *r = (struct lsa_CREDRGETTARGETINFO *)_r; - r->out.result = _lsa_CREDRGETTARGETINFO(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRPROFILELOADED: { - struct lsa_CREDRPROFILELOADED *r = (struct lsa_CREDRPROFILELOADED *)_r; - r->out.result = _lsa_CREDRPROFILELOADED(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPNAMES3: { - struct lsa_LookupNames3 *r = (struct lsa_LookupNames3 *)_r; - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupNames3(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRGETSESSIONTYPES: { - struct lsa_CREDRGETSESSIONTYPES *r = (struct lsa_CREDRGETSESSIONTYPES *)_r; - r->out.result = _lsa_CREDRGETSESSIONTYPES(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARREGISTERAUDITEVENT: { - struct lsa_LSARREGISTERAUDITEVENT *r = (struct lsa_LSARREGISTERAUDITEVENT *)_r; - r->out.result = _lsa_LSARREGISTERAUDITEVENT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARGENAUDITEVENT: { - struct lsa_LSARGENAUDITEVENT *r = (struct lsa_LSARGENAUDITEVENT *)_r; - r->out.result = _lsa_LSARGENAUDITEVENT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARUNREGISTERAUDITEVENT: { - struct lsa_LSARUNREGISTERAUDITEVENT *r = (struct lsa_LSARUNREGISTERAUDITEVENT *)_r; - r->out.result = _lsa_LSARUNREGISTERAUDITEVENT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION: { - struct lsa_lsaRQueryForestTrustInformation *r = (struct lsa_lsaRQueryForestTrustInformation *)_r; - ZERO_STRUCT(r->out); - r->out.forest_trust_info = talloc_zero(mem_ctx, struct lsa_ForestTrustInformation *); - if (r->out.forest_trust_info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_lsaRQueryForestTrustInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARSETFORESTTRUSTINFORMATION: { - struct lsa_lsaRSetForestTrustInformation *r = (struct lsa_lsaRSetForestTrustInformation *)_r; - ZERO_STRUCT(r->out); - r->out.collision_info = talloc_zero(mem_ctx, struct lsa_ForestTrustCollisionInfo *); - if (r->out.collision_info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_lsaRSetForestTrustInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_CREDRRENAME: { - struct lsa_CREDRRENAME *r = (struct lsa_CREDRRENAME *)_r; - r->out.result = _lsa_CREDRRENAME(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPSIDS3: { - struct lsa_LookupSids3 *r = (struct lsa_LookupSids3 *)_r; - ZERO_STRUCT(r->out); - r->out.names = r->in.names; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupSids3(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LOOKUPNAMES4: { - struct lsa_LookupNames4 *r = (struct lsa_LookupNames4 *)_r; - ZERO_STRUCT(r->out); - r->out.sids = r->in.sids; - r->out.count = r->in.count; - r->out.domains = talloc_zero(mem_ctx, struct lsa_RefDomainList *); - if (r->out.domains == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _lsa_LookupNames4(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSAROPENPOLICYSCE: { - struct lsa_LSAROPENPOLICYSCE *r = (struct lsa_LSAROPENPOLICYSCE *)_r; - r->out.result = _lsa_LSAROPENPOLICYSCE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE: { - struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r = (struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *)_r; - r->out.result = _lsa_LSARADTREGISTERSECURITYEVENTSOURCE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE: { - struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r = (struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *)_r; - r->out.result = _lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_LSA_LSARADTREPORTSECURITYEVENT: { - struct lsa_LSARADTREPORTSECURITYEVENT *r = (struct lsa_LSARADTREPORTSECURITYEVENT *)_r; - r->out.result = _lsa_LSARADTREPORTSECURITYEVENT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_lsarpc_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "lsarpc", "lsarpc", &ndr_table_lsarpc, api_lsarpc_cmds, sizeof(api_lsarpc_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_lsa.h b/librpc/gen_ndr/srv_lsa.h deleted file mode 100644 index 080710902c7..00000000000 --- a/librpc/gen_ndr/srv_lsa.h +++ /dev/null @@ -1,171 +0,0 @@ -#include "../librpc/gen_ndr/ndr_lsa.h" -#ifndef __SRV_LSARPC__ -#define __SRV_LSARPC__ -NTSTATUS _lsa_Close(pipes_struct *p, struct lsa_Close *r); -NTSTATUS _lsa_Delete(pipes_struct *p, struct lsa_Delete *r); -NTSTATUS _lsa_EnumPrivs(pipes_struct *p, struct lsa_EnumPrivs *r); -NTSTATUS _lsa_QuerySecurity(pipes_struct *p, struct lsa_QuerySecurity *r); -NTSTATUS _lsa_SetSecObj(pipes_struct *p, struct lsa_SetSecObj *r); -NTSTATUS _lsa_ChangePassword(pipes_struct *p, struct lsa_ChangePassword *r); -NTSTATUS _lsa_OpenPolicy(pipes_struct *p, struct lsa_OpenPolicy *r); -NTSTATUS _lsa_QueryInfoPolicy(pipes_struct *p, struct lsa_QueryInfoPolicy *r); -NTSTATUS _lsa_SetInfoPolicy(pipes_struct *p, struct lsa_SetInfoPolicy *r); -NTSTATUS _lsa_ClearAuditLog(pipes_struct *p, struct lsa_ClearAuditLog *r); -NTSTATUS _lsa_CreateAccount(pipes_struct *p, struct lsa_CreateAccount *r); -NTSTATUS _lsa_EnumAccounts(pipes_struct *p, struct lsa_EnumAccounts *r); -NTSTATUS _lsa_CreateTrustedDomain(pipes_struct *p, struct lsa_CreateTrustedDomain *r); -NTSTATUS _lsa_EnumTrustDom(pipes_struct *p, struct lsa_EnumTrustDom *r); -NTSTATUS _lsa_LookupNames(pipes_struct *p, struct lsa_LookupNames *r); -NTSTATUS _lsa_LookupSids(pipes_struct *p, struct lsa_LookupSids *r); -NTSTATUS _lsa_CreateSecret(pipes_struct *p, struct lsa_CreateSecret *r); -NTSTATUS _lsa_OpenAccount(pipes_struct *p, struct lsa_OpenAccount *r); -NTSTATUS _lsa_EnumPrivsAccount(pipes_struct *p, struct lsa_EnumPrivsAccount *r); -NTSTATUS _lsa_AddPrivilegesToAccount(pipes_struct *p, struct lsa_AddPrivilegesToAccount *r); -NTSTATUS _lsa_RemovePrivilegesFromAccount(pipes_struct *p, struct lsa_RemovePrivilegesFromAccount *r); -NTSTATUS _lsa_GetQuotasForAccount(pipes_struct *p, struct lsa_GetQuotasForAccount *r); -NTSTATUS _lsa_SetQuotasForAccount(pipes_struct *p, struct lsa_SetQuotasForAccount *r); -NTSTATUS _lsa_GetSystemAccessAccount(pipes_struct *p, struct lsa_GetSystemAccessAccount *r); -NTSTATUS _lsa_SetSystemAccessAccount(pipes_struct *p, struct lsa_SetSystemAccessAccount *r); -NTSTATUS _lsa_OpenTrustedDomain(pipes_struct *p, struct lsa_OpenTrustedDomain *r); -NTSTATUS _lsa_QueryTrustedDomainInfo(pipes_struct *p, struct lsa_QueryTrustedDomainInfo *r); -NTSTATUS _lsa_SetInformationTrustedDomain(pipes_struct *p, struct lsa_SetInformationTrustedDomain *r); -NTSTATUS _lsa_OpenSecret(pipes_struct *p, struct lsa_OpenSecret *r); -NTSTATUS _lsa_SetSecret(pipes_struct *p, struct lsa_SetSecret *r); -NTSTATUS _lsa_QuerySecret(pipes_struct *p, struct lsa_QuerySecret *r); -NTSTATUS _lsa_LookupPrivValue(pipes_struct *p, struct lsa_LookupPrivValue *r); -NTSTATUS _lsa_LookupPrivName(pipes_struct *p, struct lsa_LookupPrivName *r); -NTSTATUS _lsa_LookupPrivDisplayName(pipes_struct *p, struct lsa_LookupPrivDisplayName *r); -NTSTATUS _lsa_DeleteObject(pipes_struct *p, struct lsa_DeleteObject *r); -NTSTATUS _lsa_EnumAccountsWithUserRight(pipes_struct *p, struct lsa_EnumAccountsWithUserRight *r); -NTSTATUS _lsa_EnumAccountRights(pipes_struct *p, struct lsa_EnumAccountRights *r); -NTSTATUS _lsa_AddAccountRights(pipes_struct *p, struct lsa_AddAccountRights *r); -NTSTATUS _lsa_RemoveAccountRights(pipes_struct *p, struct lsa_RemoveAccountRights *r); -NTSTATUS _lsa_QueryTrustedDomainInfoBySid(pipes_struct *p, struct lsa_QueryTrustedDomainInfoBySid *r); -NTSTATUS _lsa_SetTrustedDomainInfo(pipes_struct *p, struct lsa_SetTrustedDomainInfo *r); -NTSTATUS _lsa_DeleteTrustedDomain(pipes_struct *p, struct lsa_DeleteTrustedDomain *r); -NTSTATUS _lsa_StorePrivateData(pipes_struct *p, struct lsa_StorePrivateData *r); -NTSTATUS _lsa_RetrievePrivateData(pipes_struct *p, struct lsa_RetrievePrivateData *r); -NTSTATUS _lsa_OpenPolicy2(pipes_struct *p, struct lsa_OpenPolicy2 *r); -NTSTATUS _lsa_GetUserName(pipes_struct *p, struct lsa_GetUserName *r); -NTSTATUS _lsa_QueryInfoPolicy2(pipes_struct *p, struct lsa_QueryInfoPolicy2 *r); -NTSTATUS _lsa_SetInfoPolicy2(pipes_struct *p, struct lsa_SetInfoPolicy2 *r); -NTSTATUS _lsa_QueryTrustedDomainInfoByName(pipes_struct *p, struct lsa_QueryTrustedDomainInfoByName *r); -NTSTATUS _lsa_SetTrustedDomainInfoByName(pipes_struct *p, struct lsa_SetTrustedDomainInfoByName *r); -NTSTATUS _lsa_EnumTrustedDomainsEx(pipes_struct *p, struct lsa_EnumTrustedDomainsEx *r); -NTSTATUS _lsa_CreateTrustedDomainEx(pipes_struct *p, struct lsa_CreateTrustedDomainEx *r); -NTSTATUS _lsa_CloseTrustedDomainEx(pipes_struct *p, struct lsa_CloseTrustedDomainEx *r); -NTSTATUS _lsa_QueryDomainInformationPolicy(pipes_struct *p, struct lsa_QueryDomainInformationPolicy *r); -NTSTATUS _lsa_SetDomainInformationPolicy(pipes_struct *p, struct lsa_SetDomainInformationPolicy *r); -NTSTATUS _lsa_OpenTrustedDomainByName(pipes_struct *p, struct lsa_OpenTrustedDomainByName *r); -NTSTATUS _lsa_TestCall(pipes_struct *p, struct lsa_TestCall *r); -NTSTATUS _lsa_LookupSids2(pipes_struct *p, struct lsa_LookupSids2 *r); -NTSTATUS _lsa_LookupNames2(pipes_struct *p, struct lsa_LookupNames2 *r); -NTSTATUS _lsa_CreateTrustedDomainEx2(pipes_struct *p, struct lsa_CreateTrustedDomainEx2 *r); -NTSTATUS _lsa_CREDRWRITE(pipes_struct *p, struct lsa_CREDRWRITE *r); -NTSTATUS _lsa_CREDRREAD(pipes_struct *p, struct lsa_CREDRREAD *r); -NTSTATUS _lsa_CREDRENUMERATE(pipes_struct *p, struct lsa_CREDRENUMERATE *r); -NTSTATUS _lsa_CREDRWRITEDOMAINCREDENTIALS(pipes_struct *p, struct lsa_CREDRWRITEDOMAINCREDENTIALS *r); -NTSTATUS _lsa_CREDRREADDOMAINCREDENTIALS(pipes_struct *p, struct lsa_CREDRREADDOMAINCREDENTIALS *r); -NTSTATUS _lsa_CREDRDELETE(pipes_struct *p, struct lsa_CREDRDELETE *r); -NTSTATUS _lsa_CREDRGETTARGETINFO(pipes_struct *p, struct lsa_CREDRGETTARGETINFO *r); -NTSTATUS _lsa_CREDRPROFILELOADED(pipes_struct *p, struct lsa_CREDRPROFILELOADED *r); -NTSTATUS _lsa_LookupNames3(pipes_struct *p, struct lsa_LookupNames3 *r); -NTSTATUS _lsa_CREDRGETSESSIONTYPES(pipes_struct *p, struct lsa_CREDRGETSESSIONTYPES *r); -NTSTATUS _lsa_LSARREGISTERAUDITEVENT(pipes_struct *p, struct lsa_LSARREGISTERAUDITEVENT *r); -NTSTATUS _lsa_LSARGENAUDITEVENT(pipes_struct *p, struct lsa_LSARGENAUDITEVENT *r); -NTSTATUS _lsa_LSARUNREGISTERAUDITEVENT(pipes_struct *p, struct lsa_LSARUNREGISTERAUDITEVENT *r); -NTSTATUS _lsa_lsaRQueryForestTrustInformation(pipes_struct *p, struct lsa_lsaRQueryForestTrustInformation *r); -NTSTATUS _lsa_lsaRSetForestTrustInformation(pipes_struct *p, struct lsa_lsaRSetForestTrustInformation *r); -NTSTATUS _lsa_CREDRRENAME(pipes_struct *p, struct lsa_CREDRRENAME *r); -NTSTATUS _lsa_LookupSids3(pipes_struct *p, struct lsa_LookupSids3 *r); -NTSTATUS _lsa_LookupNames4(pipes_struct *p, struct lsa_LookupNames4 *r); -NTSTATUS _lsa_LSAROPENPOLICYSCE(pipes_struct *p, struct lsa_LSAROPENPOLICYSCE *r); -NTSTATUS _lsa_LSARADTREGISTERSECURITYEVENTSOURCE(pipes_struct *p, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r); -NTSTATUS _lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(pipes_struct *p, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r); -NTSTATUS _lsa_LSARADTREPORTSECURITYEVENT(pipes_struct *p, struct lsa_LSARADTREPORTSECURITYEVENT *r); -void lsarpc_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_lsarpc_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -NTSTATUS _lsa_Close(pipes_struct *p, struct lsa_Close *r); -NTSTATUS _lsa_Delete(pipes_struct *p, struct lsa_Delete *r); -NTSTATUS _lsa_EnumPrivs(pipes_struct *p, struct lsa_EnumPrivs *r); -NTSTATUS _lsa_QuerySecurity(pipes_struct *p, struct lsa_QuerySecurity *r); -NTSTATUS _lsa_SetSecObj(pipes_struct *p, struct lsa_SetSecObj *r); -NTSTATUS _lsa_ChangePassword(pipes_struct *p, struct lsa_ChangePassword *r); -NTSTATUS _lsa_OpenPolicy(pipes_struct *p, struct lsa_OpenPolicy *r); -NTSTATUS _lsa_QueryInfoPolicy(pipes_struct *p, struct lsa_QueryInfoPolicy *r); -NTSTATUS _lsa_SetInfoPolicy(pipes_struct *p, struct lsa_SetInfoPolicy *r); -NTSTATUS _lsa_ClearAuditLog(pipes_struct *p, struct lsa_ClearAuditLog *r); -NTSTATUS _lsa_CreateAccount(pipes_struct *p, struct lsa_CreateAccount *r); -NTSTATUS _lsa_EnumAccounts(pipes_struct *p, struct lsa_EnumAccounts *r); -NTSTATUS _lsa_CreateTrustedDomain(pipes_struct *p, struct lsa_CreateTrustedDomain *r); -NTSTATUS _lsa_EnumTrustDom(pipes_struct *p, struct lsa_EnumTrustDom *r); -NTSTATUS _lsa_LookupNames(pipes_struct *p, struct lsa_LookupNames *r); -NTSTATUS _lsa_LookupSids(pipes_struct *p, struct lsa_LookupSids *r); -NTSTATUS _lsa_CreateSecret(pipes_struct *p, struct lsa_CreateSecret *r); -NTSTATUS _lsa_OpenAccount(pipes_struct *p, struct lsa_OpenAccount *r); -NTSTATUS _lsa_EnumPrivsAccount(pipes_struct *p, struct lsa_EnumPrivsAccount *r); -NTSTATUS _lsa_AddPrivilegesToAccount(pipes_struct *p, struct lsa_AddPrivilegesToAccount *r); -NTSTATUS _lsa_RemovePrivilegesFromAccount(pipes_struct *p, struct lsa_RemovePrivilegesFromAccount *r); -NTSTATUS _lsa_GetQuotasForAccount(pipes_struct *p, struct lsa_GetQuotasForAccount *r); -NTSTATUS _lsa_SetQuotasForAccount(pipes_struct *p, struct lsa_SetQuotasForAccount *r); -NTSTATUS _lsa_GetSystemAccessAccount(pipes_struct *p, struct lsa_GetSystemAccessAccount *r); -NTSTATUS _lsa_SetSystemAccessAccount(pipes_struct *p, struct lsa_SetSystemAccessAccount *r); -NTSTATUS _lsa_OpenTrustedDomain(pipes_struct *p, struct lsa_OpenTrustedDomain *r); -NTSTATUS _lsa_QueryTrustedDomainInfo(pipes_struct *p, struct lsa_QueryTrustedDomainInfo *r); -NTSTATUS _lsa_SetInformationTrustedDomain(pipes_struct *p, struct lsa_SetInformationTrustedDomain *r); -NTSTATUS _lsa_OpenSecret(pipes_struct *p, struct lsa_OpenSecret *r); -NTSTATUS _lsa_SetSecret(pipes_struct *p, struct lsa_SetSecret *r); -NTSTATUS _lsa_QuerySecret(pipes_struct *p, struct lsa_QuerySecret *r); -NTSTATUS _lsa_LookupPrivValue(pipes_struct *p, struct lsa_LookupPrivValue *r); -NTSTATUS _lsa_LookupPrivName(pipes_struct *p, struct lsa_LookupPrivName *r); -NTSTATUS _lsa_LookupPrivDisplayName(pipes_struct *p, struct lsa_LookupPrivDisplayName *r); -NTSTATUS _lsa_DeleteObject(pipes_struct *p, struct lsa_DeleteObject *r); -NTSTATUS _lsa_EnumAccountsWithUserRight(pipes_struct *p, struct lsa_EnumAccountsWithUserRight *r); -NTSTATUS _lsa_EnumAccountRights(pipes_struct *p, struct lsa_EnumAccountRights *r); -NTSTATUS _lsa_AddAccountRights(pipes_struct *p, struct lsa_AddAccountRights *r); -NTSTATUS _lsa_RemoveAccountRights(pipes_struct *p, struct lsa_RemoveAccountRights *r); -NTSTATUS _lsa_QueryTrustedDomainInfoBySid(pipes_struct *p, struct lsa_QueryTrustedDomainInfoBySid *r); -NTSTATUS _lsa_SetTrustedDomainInfo(pipes_struct *p, struct lsa_SetTrustedDomainInfo *r); -NTSTATUS _lsa_DeleteTrustedDomain(pipes_struct *p, struct lsa_DeleteTrustedDomain *r); -NTSTATUS _lsa_StorePrivateData(pipes_struct *p, struct lsa_StorePrivateData *r); -NTSTATUS _lsa_RetrievePrivateData(pipes_struct *p, struct lsa_RetrievePrivateData *r); -NTSTATUS _lsa_OpenPolicy2(pipes_struct *p, struct lsa_OpenPolicy2 *r); -NTSTATUS _lsa_GetUserName(pipes_struct *p, struct lsa_GetUserName *r); -NTSTATUS _lsa_QueryInfoPolicy2(pipes_struct *p, struct lsa_QueryInfoPolicy2 *r); -NTSTATUS _lsa_SetInfoPolicy2(pipes_struct *p, struct lsa_SetInfoPolicy2 *r); -NTSTATUS _lsa_QueryTrustedDomainInfoByName(pipes_struct *p, struct lsa_QueryTrustedDomainInfoByName *r); -NTSTATUS _lsa_SetTrustedDomainInfoByName(pipes_struct *p, struct lsa_SetTrustedDomainInfoByName *r); -NTSTATUS _lsa_EnumTrustedDomainsEx(pipes_struct *p, struct lsa_EnumTrustedDomainsEx *r); -NTSTATUS _lsa_CreateTrustedDomainEx(pipes_struct *p, struct lsa_CreateTrustedDomainEx *r); -NTSTATUS _lsa_CloseTrustedDomainEx(pipes_struct *p, struct lsa_CloseTrustedDomainEx *r); -NTSTATUS _lsa_QueryDomainInformationPolicy(pipes_struct *p, struct lsa_QueryDomainInformationPolicy *r); -NTSTATUS _lsa_SetDomainInformationPolicy(pipes_struct *p, struct lsa_SetDomainInformationPolicy *r); -NTSTATUS _lsa_OpenTrustedDomainByName(pipes_struct *p, struct lsa_OpenTrustedDomainByName *r); -NTSTATUS _lsa_TestCall(pipes_struct *p, struct lsa_TestCall *r); -NTSTATUS _lsa_LookupSids2(pipes_struct *p, struct lsa_LookupSids2 *r); -NTSTATUS _lsa_LookupNames2(pipes_struct *p, struct lsa_LookupNames2 *r); -NTSTATUS _lsa_CreateTrustedDomainEx2(pipes_struct *p, struct lsa_CreateTrustedDomainEx2 *r); -NTSTATUS _lsa_CREDRWRITE(pipes_struct *p, struct lsa_CREDRWRITE *r); -NTSTATUS _lsa_CREDRREAD(pipes_struct *p, struct lsa_CREDRREAD *r); -NTSTATUS _lsa_CREDRENUMERATE(pipes_struct *p, struct lsa_CREDRENUMERATE *r); -NTSTATUS _lsa_CREDRWRITEDOMAINCREDENTIALS(pipes_struct *p, struct lsa_CREDRWRITEDOMAINCREDENTIALS *r); -NTSTATUS _lsa_CREDRREADDOMAINCREDENTIALS(pipes_struct *p, struct lsa_CREDRREADDOMAINCREDENTIALS *r); -NTSTATUS _lsa_CREDRDELETE(pipes_struct *p, struct lsa_CREDRDELETE *r); -NTSTATUS _lsa_CREDRGETTARGETINFO(pipes_struct *p, struct lsa_CREDRGETTARGETINFO *r); -NTSTATUS _lsa_CREDRPROFILELOADED(pipes_struct *p, struct lsa_CREDRPROFILELOADED *r); -NTSTATUS _lsa_LookupNames3(pipes_struct *p, struct lsa_LookupNames3 *r); -NTSTATUS _lsa_CREDRGETSESSIONTYPES(pipes_struct *p, struct lsa_CREDRGETSESSIONTYPES *r); -NTSTATUS _lsa_LSARREGISTERAUDITEVENT(pipes_struct *p, struct lsa_LSARREGISTERAUDITEVENT *r); -NTSTATUS _lsa_LSARGENAUDITEVENT(pipes_struct *p, struct lsa_LSARGENAUDITEVENT *r); -NTSTATUS _lsa_LSARUNREGISTERAUDITEVENT(pipes_struct *p, struct lsa_LSARUNREGISTERAUDITEVENT *r); -NTSTATUS _lsa_lsaRQueryForestTrustInformation(pipes_struct *p, struct lsa_lsaRQueryForestTrustInformation *r); -NTSTATUS _lsa_lsaRSetForestTrustInformation(pipes_struct *p, struct lsa_lsaRSetForestTrustInformation *r); -NTSTATUS _lsa_CREDRRENAME(pipes_struct *p, struct lsa_CREDRRENAME *r); -NTSTATUS _lsa_LookupSids3(pipes_struct *p, struct lsa_LookupSids3 *r); -NTSTATUS _lsa_LookupNames4(pipes_struct *p, struct lsa_LookupNames4 *r); -NTSTATUS _lsa_LSAROPENPOLICYSCE(pipes_struct *p, struct lsa_LSAROPENPOLICYSCE *r); -NTSTATUS _lsa_LSARADTREGISTERSECURITYEVENTSOURCE(pipes_struct *p, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r); -NTSTATUS _lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(pipes_struct *p, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r); -NTSTATUS _lsa_LSARADTREPORTSECURITYEVENT(pipes_struct *p, struct lsa_LSARADTREPORTSECURITYEVENT *r); -NTSTATUS rpc_lsarpc_init(void); -#endif /* __SRV_LSARPC__ */ diff --git a/librpc/gen_ndr/srv_netlogon.c b/librpc/gen_ndr/srv_netlogon.c deleted file mode 100644 index ffef91ffa35..00000000000 --- a/librpc/gen_ndr/srv_netlogon.c +++ /dev/null @@ -1,4544 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_netlogon.h" - -static bool api_netr_LogonUasLogon(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonUasLogon *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONUASLOGON]; - - r = talloc(talloc_tos(), struct netr_LogonUasLogon); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonUasLogon, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct netr_UasInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonUasLogon(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonUasLogon, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonUasLogoff(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonUasLogoff *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONUASLOGOFF]; - - r = talloc(talloc_tos(), struct netr_LogonUasLogoff); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonUasLogoff, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct netr_UasLogoffInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonUasLogoff(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonUasLogoff, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonSamLogon(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonSamLogon *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGON]; - - r = talloc(talloc_tos(), struct netr_LogonSamLogon); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonSamLogon, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.validation = talloc_zero(r, union netr_Validation); - if (r->out.validation == NULL) { - talloc_free(r); - return false; - } - - r->out.authoritative = talloc_zero(r, uint8_t); - if (r->out.authoritative == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonSamLogon(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonSamLogon, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonSamLogoff(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonSamLogoff *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGOFF]; - - r = talloc(talloc_tos(), struct netr_LogonSamLogoff); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonSamLogoff, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.result = _netr_LogonSamLogoff(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonSamLogoff, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerReqChallenge(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerReqChallenge *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERREQCHALLENGE]; - - r = talloc(talloc_tos(), struct netr_ServerReqChallenge); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerReqChallenge, r); - } - - ZERO_STRUCT(r->out); - r->out.return_credentials = talloc_zero(r, struct netr_Credential); - if (r->out.return_credentials == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerReqChallenge(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerReqChallenge, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerAuthenticate(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerAuthenticate *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERAUTHENTICATE]; - - r = talloc(talloc_tos(), struct netr_ServerAuthenticate); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate, r); - } - - ZERO_STRUCT(r->out); - r->out.return_credentials = talloc_zero(r, struct netr_Credential); - if (r->out.return_credentials == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerAuthenticate(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerPasswordSet(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerPasswordSet *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERPASSWORDSET]; - - r = talloc(talloc_tos(), struct netr_ServerPasswordSet); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerPasswordSet(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DatabaseDeltas(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DatabaseDeltas *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DATABASEDELTAS]; - - r = talloc(talloc_tos(), struct netr_DatabaseDeltas); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DatabaseDeltas, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.sequence_num = r->in.sequence_num; - r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DatabaseDeltas(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DatabaseDeltas, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DatabaseSync(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DatabaseSync *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DATABASESYNC]; - - r = talloc(talloc_tos(), struct netr_DatabaseSync); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DatabaseSync, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.sync_context = r->in.sync_context; - r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DatabaseSync(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DatabaseSync, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_AccountDeltas(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_AccountDeltas *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_ACCOUNTDELTAS]; - - r = talloc(talloc_tos(), struct netr_AccountDeltas); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_AccountDeltas, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.buffer = talloc_zero(r, struct netr_AccountBuffer); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.count_returned = talloc_zero(r, uint32_t); - if (r->out.count_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.total_entries = talloc_zero(r, uint32_t); - if (r->out.total_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.recordid = talloc_zero(r, struct netr_UAS_INFO_0); - if (r->out.recordid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_AccountDeltas(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_AccountDeltas, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_AccountSync(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_AccountSync *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_ACCOUNTSYNC]; - - r = talloc(talloc_tos(), struct netr_AccountSync); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_AccountSync, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.recordid = r->in.recordid; - r->out.buffer = talloc_zero(r, struct netr_AccountBuffer); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.count_returned = talloc_zero(r, uint32_t); - if (r->out.count_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.total_entries = talloc_zero(r, uint32_t); - if (r->out.total_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.next_reference = talloc_zero(r, uint32_t); - if (r->out.next_reference == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_AccountSync(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_AccountSync, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_GetDcName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_GetDcName *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_GETDCNAME]; - - r = talloc(talloc_tos(), struct netr_GetDcName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_GetDcName, r); - } - - ZERO_STRUCT(r->out); - r->out.dcname = talloc_zero(r, const char *); - if (r->out.dcname == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_GetDcName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_GetDcName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonControl(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonControl *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONCONTROL]; - - r = talloc(talloc_tos(), struct netr_LogonControl); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonControl, r); - } - - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(r, union netr_CONTROL_QUERY_INFORMATION); - if (r->out.query == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonControl(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonControl, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_GetAnyDCName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_GetAnyDCName *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_GETANYDCNAME]; - - r = talloc(talloc_tos(), struct netr_GetAnyDCName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_GetAnyDCName, r); - } - - ZERO_STRUCT(r->out); - r->out.dcname = talloc_zero(r, const char *); - if (r->out.dcname == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_GetAnyDCName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_GetAnyDCName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonControl2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonControl2 *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONCONTROL2]; - - r = talloc(talloc_tos(), struct netr_LogonControl2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonControl2, r); - } - - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(r, union netr_CONTROL_QUERY_INFORMATION); - if (r->out.query == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonControl2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonControl2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerAuthenticate2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerAuthenticate2 *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERAUTHENTICATE2]; - - r = talloc(talloc_tos(), struct netr_ServerAuthenticate2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate2, r); - } - - ZERO_STRUCT(r->out); - r->out.negotiate_flags = r->in.negotiate_flags; - r->out.return_credentials = talloc_zero(r, struct netr_Credential); - if (r->out.return_credentials == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerAuthenticate2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DatabaseSync2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DatabaseSync2 *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DATABASESYNC2]; - - r = talloc(talloc_tos(), struct netr_DatabaseSync2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DatabaseSync2, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.sync_context = r->in.sync_context; - r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DatabaseSync2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DatabaseSync2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DatabaseRedo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DatabaseRedo *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DATABASEREDO]; - - r = talloc(talloc_tos(), struct netr_DatabaseRedo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DatabaseRedo, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DatabaseRedo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DatabaseRedo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonControl2Ex(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonControl2Ex *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONCONTROL2EX]; - - r = talloc(talloc_tos(), struct netr_LogonControl2Ex); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonControl2Ex, r); - } - - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(r, union netr_CONTROL_QUERY_INFORMATION); - if (r->out.query == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonControl2Ex(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonControl2Ex, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NetrEnumerateTrustedDomains(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NetrEnumerateTrustedDomains *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRENUMERATETRUSTEDDOMAINS]; - - r = talloc(talloc_tos(), struct netr_NetrEnumerateTrustedDomains); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomains, r); - } - - ZERO_STRUCT(r->out); - r->out.trusted_domains_blob = talloc_zero(r, struct netr_Blob); - if (r->out.trusted_domains_blob == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_NetrEnumerateTrustedDomains(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomains, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRGetDCName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRGetDCName *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCNAME]; - - r = talloc(talloc_tos(), struct netr_DsRGetDCName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRGetDCName, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct netr_DsRGetDCNameInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRGetDCName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRGetDCName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonGetCapabilities(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonGetCapabilities *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETCAPABILITIES]; - - r = talloc(talloc_tos(), struct netr_LogonGetCapabilities); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.capabilities = talloc_zero(r, union netr_Capabilities); - if (r->out.capabilities == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonGetCapabilities(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NETRLOGONSETSERVICEBITS(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NETRLOGONSETSERVICEBITS *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONSETSERVICEBITS]; - - r = talloc(talloc_tos(), struct netr_NETRLOGONSETSERVICEBITS); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS, r); - } - - r->out.result = _netr_NETRLOGONSETSERVICEBITS(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonGetTrustRid(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonGetTrustRid *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETTRUSTRID]; - - r = talloc(talloc_tos(), struct netr_LogonGetTrustRid); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonGetTrustRid, r); - } - - ZERO_STRUCT(r->out); - r->out.rid = talloc_zero(r, uint32_t); - if (r->out.rid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonGetTrustRid(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonGetTrustRid, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NETRLOGONCOMPUTESERVERDIGEST(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NETRLOGONCOMPUTESERVERDIGEST *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST]; - - r = talloc(talloc_tos(), struct netr_NETRLOGONCOMPUTESERVERDIGEST); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, r); - } - - r->out.result = _netr_NETRLOGONCOMPUTESERVERDIGEST(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NETRLOGONCOMPUTECLIENTDIGEST(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST]; - - r = talloc(talloc_tos(), struct netr_NETRLOGONCOMPUTECLIENTDIGEST); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, r); - } - - r->out.result = _netr_NETRLOGONCOMPUTECLIENTDIGEST(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerAuthenticate3(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerAuthenticate3 *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERAUTHENTICATE3]; - - r = talloc(talloc_tos(), struct netr_ServerAuthenticate3); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3, r); - } - - ZERO_STRUCT(r->out); - r->out.negotiate_flags = r->in.negotiate_flags; - r->out.return_credentials = talloc_zero(r, struct netr_Credential); - if (r->out.return_credentials == NULL) { - talloc_free(r); - return false; - } - - r->out.rid = talloc_zero(r, uint32_t); - if (r->out.rid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerAuthenticate3(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRGetDCNameEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRGetDCNameEx *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCNAMEEX]; - - r = talloc(talloc_tos(), struct netr_DsRGetDCNameEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct netr_DsRGetDCNameInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRGetDCNameEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRGetSiteName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRGetSiteName *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETSITENAME]; - - r = talloc(talloc_tos(), struct netr_DsRGetSiteName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName, r); - } - - ZERO_STRUCT(r->out); - r->out.site = talloc_zero(r, const char *); - if (r->out.site == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRGetSiteName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonGetDomainInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonGetDomainInfo *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETDOMAININFO]; - - r = talloc(talloc_tos(), struct netr_LogonGetDomainInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.info = talloc_zero(r, union netr_DomainInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonGetDomainInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerPasswordSet2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerPasswordSet2 *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERPASSWORDSET2]; - - r = talloc(talloc_tos(), struct netr_ServerPasswordSet2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerPasswordSet2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerPasswordGet(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerPasswordGet *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERPASSWORDGET]; - - r = talloc(talloc_tos(), struct netr_ServerPasswordGet); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerPasswordGet, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - talloc_free(r); - return false; - } - - r->out.password = talloc_zero(r, struct samr_Password); - if (r->out.password == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerPasswordGet(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerPasswordGet, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NETRLOGONSENDTOSAM(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NETRLOGONSENDTOSAM *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONSENDTOSAM]; - - r = talloc(talloc_tos(), struct netr_NETRLOGONSENDTOSAM); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM, r); - } - - r->out.result = _netr_NETRLOGONSENDTOSAM(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRAddressToSitenamesW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRAddressToSitenamesW *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRADDRESSTOSITENAMESW]; - - r = talloc(talloc_tos(), struct netr_DsRAddressToSitenamesW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesW, r); - } - - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(r, struct netr_DsRAddressToSitenamesWCtr *); - if (r->out.ctr == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRAddressToSitenamesW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRGetDCNameEx2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRGetDCNameEx2 *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCNAMEEX2]; - - r = talloc(talloc_tos(), struct netr_DsRGetDCNameEx2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct netr_DsRGetDCNameInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRGetDCNameEx2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN]; - - r = talloc(talloc_tos(), struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, r); - } - - r->out.result = _netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_NetrEnumerateTrustedDomainsEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_NetrEnumerateTrustedDomainsEx *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX]; - - r = talloc(talloc_tos(), struct netr_NetrEnumerateTrustedDomainsEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_NetrEnumerateTrustedDomainsEx, r); - } - - ZERO_STRUCT(r->out); - r->out.dom_trust_list = talloc_zero(r, struct netr_DomainTrustList); - if (r->out.dom_trust_list == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_NetrEnumerateTrustedDomainsEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_NetrEnumerateTrustedDomainsEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRAddressToSitenamesExW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRAddressToSitenamesExW *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRADDRESSTOSITENAMESEXW]; - - r = talloc(talloc_tos(), struct netr_DsRAddressToSitenamesExW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRAddressToSitenamesExW, r); - } - - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(r, struct netr_DsRAddressToSitenamesExWCtr *); - if (r->out.ctr == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRAddressToSitenamesExW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRAddressToSitenamesExW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsrGetDcSiteCoverageW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsrGetDcSiteCoverageW *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETDCSITECOVERAGEW]; - - r = talloc(talloc_tos(), struct netr_DsrGetDcSiteCoverageW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsrGetDcSiteCoverageW, r); - } - - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(r, struct DcSitesCtr *); - if (r->out.ctr == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsrGetDcSiteCoverageW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsrGetDcSiteCoverageW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonSamLogonEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonSamLogonEx *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGONEX]; - - r = talloc(talloc_tos(), struct netr_LogonSamLogonEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx, r); - } - - ZERO_STRUCT(r->out); - r->out.flags = r->in.flags; - r->out.validation = talloc_zero(r, union netr_Validation); - if (r->out.validation == NULL) { - talloc_free(r); - return false; - } - - r->out.authoritative = talloc_zero(r, uint8_t); - if (r->out.authoritative == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonSamLogonEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsrEnumerateDomainTrusts(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsrEnumerateDomainTrusts *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRENUMERATEDOMAINTRUSTS]; - - r = talloc(talloc_tos(), struct netr_DsrEnumerateDomainTrusts); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts, r); - } - - ZERO_STRUCT(r->out); - r->out.trusts = talloc_zero(r, struct netr_DomainTrustList); - if (r->out.trusts == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsrEnumerateDomainTrusts(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsrDeregisterDNSHostRecords(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsrDeregisterDNSHostRecords *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS]; - - r = talloc(talloc_tos(), struct netr_DsrDeregisterDNSHostRecords); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsrDeregisterDNSHostRecords, r); - } - - r->out.result = _netr_DsrDeregisterDNSHostRecords(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsrDeregisterDNSHostRecords, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerTrustPasswordsGet(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerTrustPasswordsGet *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERTRUSTPASSWORDSGET]; - - r = talloc(talloc_tos(), struct netr_ServerTrustPasswordsGet); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerTrustPasswordsGet, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - talloc_free(r); - return false; - } - - r->out.password = talloc_zero(r, struct samr_Password); - if (r->out.password == NULL) { - talloc_free(r); - return false; - } - - r->out.password2 = talloc_zero(r, struct samr_Password); - if (r->out.password2 == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerTrustPasswordsGet(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerTrustPasswordsGet, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_DsRGetForestTrustInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_DsRGetForestTrustInformation *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_DSRGETFORESTTRUSTINFORMATION]; - - r = talloc(talloc_tos(), struct netr_DsRGetForestTrustInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_DsRGetForestTrustInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.forest_trust_info = talloc_zero(r, struct lsa_ForestTrustInformation *); - if (r->out.forest_trust_info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_DsRGetForestTrustInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_DsRGetForestTrustInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_GetForestTrustInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_GetForestTrustInformation *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_GETFORESTTRUSTINFORMATION]; - - r = talloc(talloc_tos(), struct netr_GetForestTrustInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_GetForestTrustInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - talloc_free(r); - return false; - } - - r->out.forest_trust_info = talloc_zero(r, struct lsa_ForestTrustInformation *); - if (r->out.forest_trust_info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_GetForestTrustInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_GetForestTrustInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_LogonSamLogonWithFlags(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_LogonSamLogonWithFlags *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_LOGONSAMLOGONWITHFLAGS]; - - r = talloc(talloc_tos(), struct netr_LogonSamLogonWithFlags); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.flags = r->in.flags; - r->out.validation = talloc_zero(r, union netr_Validation); - if (r->out.validation == NULL) { - talloc_free(r); - return false; - } - - r->out.authoritative = talloc_zero(r, uint8_t); - if (r->out.authoritative == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_LogonSamLogonWithFlags(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_netr_ServerGetTrustInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct netr_ServerGetTrustInfo *r; - - call = &ndr_table_netlogon.calls[NDR_NETR_SERVERGETTRUSTINFO]; - - r = talloc(talloc_tos(), struct netr_ServerGetTrustInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(netr_ServerGetTrustInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(r, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - talloc_free(r); - return false; - } - - r->out.new_owf_password = talloc_zero(r, struct samr_Password); - if (r->out.new_owf_password == NULL) { - talloc_free(r); - return false; - } - - r->out.old_owf_password = talloc_zero(r, struct samr_Password); - if (r->out.old_owf_password == NULL) { - talloc_free(r); - return false; - } - - r->out.trust_info = talloc_zero(r, struct netr_TrustInfo *); - if (r->out.trust_info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _netr_ServerGetTrustInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(netr_ServerGetTrustInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_netlogon_cmds[] = -{ - {"NETR_LOGONUASLOGON", NDR_NETR_LOGONUASLOGON, api_netr_LogonUasLogon}, - {"NETR_LOGONUASLOGOFF", NDR_NETR_LOGONUASLOGOFF, api_netr_LogonUasLogoff}, - {"NETR_LOGONSAMLOGON", NDR_NETR_LOGONSAMLOGON, api_netr_LogonSamLogon}, - {"NETR_LOGONSAMLOGOFF", NDR_NETR_LOGONSAMLOGOFF, api_netr_LogonSamLogoff}, - {"NETR_SERVERREQCHALLENGE", NDR_NETR_SERVERREQCHALLENGE, api_netr_ServerReqChallenge}, - {"NETR_SERVERAUTHENTICATE", NDR_NETR_SERVERAUTHENTICATE, api_netr_ServerAuthenticate}, - {"NETR_SERVERPASSWORDSET", NDR_NETR_SERVERPASSWORDSET, api_netr_ServerPasswordSet}, - {"NETR_DATABASEDELTAS", NDR_NETR_DATABASEDELTAS, api_netr_DatabaseDeltas}, - {"NETR_DATABASESYNC", NDR_NETR_DATABASESYNC, api_netr_DatabaseSync}, - {"NETR_ACCOUNTDELTAS", NDR_NETR_ACCOUNTDELTAS, api_netr_AccountDeltas}, - {"NETR_ACCOUNTSYNC", NDR_NETR_ACCOUNTSYNC, api_netr_AccountSync}, - {"NETR_GETDCNAME", NDR_NETR_GETDCNAME, api_netr_GetDcName}, - {"NETR_LOGONCONTROL", NDR_NETR_LOGONCONTROL, api_netr_LogonControl}, - {"NETR_GETANYDCNAME", NDR_NETR_GETANYDCNAME, api_netr_GetAnyDCName}, - {"NETR_LOGONCONTROL2", NDR_NETR_LOGONCONTROL2, api_netr_LogonControl2}, - {"NETR_SERVERAUTHENTICATE2", NDR_NETR_SERVERAUTHENTICATE2, api_netr_ServerAuthenticate2}, - {"NETR_DATABASESYNC2", NDR_NETR_DATABASESYNC2, api_netr_DatabaseSync2}, - {"NETR_DATABASEREDO", NDR_NETR_DATABASEREDO, api_netr_DatabaseRedo}, - {"NETR_LOGONCONTROL2EX", NDR_NETR_LOGONCONTROL2EX, api_netr_LogonControl2Ex}, - {"NETR_NETRENUMERATETRUSTEDDOMAINS", NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, api_netr_NetrEnumerateTrustedDomains}, - {"NETR_DSRGETDCNAME", NDR_NETR_DSRGETDCNAME, api_netr_DsRGetDCName}, - {"NETR_LOGONGETCAPABILITIES", NDR_NETR_LOGONGETCAPABILITIES, api_netr_LogonGetCapabilities}, - {"NETR_NETRLOGONSETSERVICEBITS", NDR_NETR_NETRLOGONSETSERVICEBITS, api_netr_NETRLOGONSETSERVICEBITS}, - {"NETR_LOGONGETTRUSTRID", NDR_NETR_LOGONGETTRUSTRID, api_netr_LogonGetTrustRid}, - {"NETR_NETRLOGONCOMPUTESERVERDIGEST", NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST, api_netr_NETRLOGONCOMPUTESERVERDIGEST}, - {"NETR_NETRLOGONCOMPUTECLIENTDIGEST", NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST, api_netr_NETRLOGONCOMPUTECLIENTDIGEST}, - {"NETR_SERVERAUTHENTICATE3", NDR_NETR_SERVERAUTHENTICATE3, api_netr_ServerAuthenticate3}, - {"NETR_DSRGETDCNAMEEX", NDR_NETR_DSRGETDCNAMEEX, api_netr_DsRGetDCNameEx}, - {"NETR_DSRGETSITENAME", NDR_NETR_DSRGETSITENAME, api_netr_DsRGetSiteName}, - {"NETR_LOGONGETDOMAININFO", NDR_NETR_LOGONGETDOMAININFO, api_netr_LogonGetDomainInfo}, - {"NETR_SERVERPASSWORDSET2", NDR_NETR_SERVERPASSWORDSET2, api_netr_ServerPasswordSet2}, - {"NETR_SERVERPASSWORDGET", NDR_NETR_SERVERPASSWORDGET, api_netr_ServerPasswordGet}, - {"NETR_NETRLOGONSENDTOSAM", NDR_NETR_NETRLOGONSENDTOSAM, api_netr_NETRLOGONSENDTOSAM}, - {"NETR_DSRADDRESSTOSITENAMESW", NDR_NETR_DSRADDRESSTOSITENAMESW, api_netr_DsRAddressToSitenamesW}, - {"NETR_DSRGETDCNAMEEX2", NDR_NETR_DSRGETDCNAMEEX2, api_netr_DsRGetDCNameEx2}, - {"NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN", NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN, api_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN}, - {"NETR_NETRENUMERATETRUSTEDDOMAINSEX", NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX, api_netr_NetrEnumerateTrustedDomainsEx}, - {"NETR_DSRADDRESSTOSITENAMESEXW", NDR_NETR_DSRADDRESSTOSITENAMESEXW, api_netr_DsRAddressToSitenamesExW}, - {"NETR_DSRGETDCSITECOVERAGEW", NDR_NETR_DSRGETDCSITECOVERAGEW, api_netr_DsrGetDcSiteCoverageW}, - {"NETR_LOGONSAMLOGONEX", NDR_NETR_LOGONSAMLOGONEX, api_netr_LogonSamLogonEx}, - {"NETR_DSRENUMERATEDOMAINTRUSTS", NDR_NETR_DSRENUMERATEDOMAINTRUSTS, api_netr_DsrEnumerateDomainTrusts}, - {"NETR_DSRDEREGISTERDNSHOSTRECORDS", NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS, api_netr_DsrDeregisterDNSHostRecords}, - {"NETR_SERVERTRUSTPASSWORDSGET", NDR_NETR_SERVERTRUSTPASSWORDSGET, api_netr_ServerTrustPasswordsGet}, - {"NETR_DSRGETFORESTTRUSTINFORMATION", NDR_NETR_DSRGETFORESTTRUSTINFORMATION, api_netr_DsRGetForestTrustInformation}, - {"NETR_GETFORESTTRUSTINFORMATION", NDR_NETR_GETFORESTTRUSTINFORMATION, api_netr_GetForestTrustInformation}, - {"NETR_LOGONSAMLOGONWITHFLAGS", NDR_NETR_LOGONSAMLOGONWITHFLAGS, api_netr_LogonSamLogonWithFlags}, - {"NETR_SERVERGETTRUSTINFO", NDR_NETR_SERVERGETTRUSTINFO, api_netr_ServerGetTrustInfo}, -}; - -void netlogon_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_netlogon_cmds; - *n_fns = sizeof(api_netlogon_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_netlogon_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_NETR_LOGONUASLOGON: { - struct netr_LogonUasLogon *r = (struct netr_LogonUasLogon *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct netr_UasInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonUasLogon(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONUASLOGOFF: { - struct netr_LogonUasLogoff *r = (struct netr_LogonUasLogoff *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct netr_UasLogoffInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonUasLogoff(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONSAMLOGON: { - struct netr_LogonSamLogon *r = (struct netr_LogonSamLogon *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.validation = talloc_zero(mem_ctx, union netr_Validation); - if (r->out.validation == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.authoritative = talloc_zero(mem_ctx, uint8_t); - if (r->out.authoritative == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonSamLogon(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONSAMLOGOFF: { - struct netr_LogonSamLogoff *r = (struct netr_LogonSamLogoff *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.result = _netr_LogonSamLogoff(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERREQCHALLENGE: { - struct netr_ServerReqChallenge *r = (struct netr_ServerReqChallenge *)_r; - ZERO_STRUCT(r->out); - r->out.return_credentials = talloc_zero(mem_ctx, struct netr_Credential); - if (r->out.return_credentials == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerReqChallenge(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERAUTHENTICATE: { - struct netr_ServerAuthenticate *r = (struct netr_ServerAuthenticate *)_r; - ZERO_STRUCT(r->out); - r->out.return_credentials = talloc_zero(mem_ctx, struct netr_Credential); - if (r->out.return_credentials == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerAuthenticate(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERPASSWORDSET: { - struct netr_ServerPasswordSet *r = (struct netr_ServerPasswordSet *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(mem_ctx, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerPasswordSet(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DATABASEDELTAS: { - struct netr_DatabaseDeltas *r = (struct netr_DatabaseDeltas *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.sequence_num = r->in.sequence_num; - r->out.delta_enum_array = talloc_zero(mem_ctx, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DatabaseDeltas(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DATABASESYNC: { - struct netr_DatabaseSync *r = (struct netr_DatabaseSync *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.sync_context = r->in.sync_context; - r->out.delta_enum_array = talloc_zero(mem_ctx, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DatabaseSync(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_ACCOUNTDELTAS: { - struct netr_AccountDeltas *r = (struct netr_AccountDeltas *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.buffer = talloc_zero(mem_ctx, struct netr_AccountBuffer); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.count_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.count_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.total_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.total_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.recordid = talloc_zero(mem_ctx, struct netr_UAS_INFO_0); - if (r->out.recordid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_AccountDeltas(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_ACCOUNTSYNC: { - struct netr_AccountSync *r = (struct netr_AccountSync *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.recordid = r->in.recordid; - r->out.buffer = talloc_zero(mem_ctx, struct netr_AccountBuffer); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.count_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.count_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.total_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.total_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.next_reference = talloc_zero(mem_ctx, uint32_t); - if (r->out.next_reference == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_AccountSync(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_GETDCNAME: { - struct netr_GetDcName *r = (struct netr_GetDcName *)_r; - ZERO_STRUCT(r->out); - r->out.dcname = talloc_zero(mem_ctx, const char *); - if (r->out.dcname == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_GetDcName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONCONTROL: { - struct netr_LogonControl *r = (struct netr_LogonControl *)_r; - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(mem_ctx, union netr_CONTROL_QUERY_INFORMATION); - if (r->out.query == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonControl(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_GETANYDCNAME: { - struct netr_GetAnyDCName *r = (struct netr_GetAnyDCName *)_r; - ZERO_STRUCT(r->out); - r->out.dcname = talloc_zero(mem_ctx, const char *); - if (r->out.dcname == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_GetAnyDCName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONCONTROL2: { - struct netr_LogonControl2 *r = (struct netr_LogonControl2 *)_r; - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(mem_ctx, union netr_CONTROL_QUERY_INFORMATION); - if (r->out.query == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonControl2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERAUTHENTICATE2: { - struct netr_ServerAuthenticate2 *r = (struct netr_ServerAuthenticate2 *)_r; - ZERO_STRUCT(r->out); - r->out.negotiate_flags = r->in.negotiate_flags; - r->out.return_credentials = talloc_zero(mem_ctx, struct netr_Credential); - if (r->out.return_credentials == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerAuthenticate2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DATABASESYNC2: { - struct netr_DatabaseSync2 *r = (struct netr_DatabaseSync2 *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.sync_context = r->in.sync_context; - r->out.delta_enum_array = talloc_zero(mem_ctx, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DatabaseSync2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DATABASEREDO: { - struct netr_DatabaseRedo *r = (struct netr_DatabaseRedo *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.delta_enum_array = talloc_zero(mem_ctx, struct netr_DELTA_ENUM_ARRAY *); - if (r->out.delta_enum_array == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DatabaseRedo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONCONTROL2EX: { - struct netr_LogonControl2Ex *r = (struct netr_LogonControl2Ex *)_r; - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(mem_ctx, union netr_CONTROL_QUERY_INFORMATION); - if (r->out.query == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonControl2Ex(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRENUMERATETRUSTEDDOMAINS: { - struct netr_NetrEnumerateTrustedDomains *r = (struct netr_NetrEnumerateTrustedDomains *)_r; - ZERO_STRUCT(r->out); - r->out.trusted_domains_blob = talloc_zero(mem_ctx, struct netr_Blob); - if (r->out.trusted_domains_blob == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_NetrEnumerateTrustedDomains(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRGETDCNAME: { - struct netr_DsRGetDCName *r = (struct netr_DsRGetDCName *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct netr_DsRGetDCNameInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRGetDCName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONGETCAPABILITIES: { - struct netr_LogonGetCapabilities *r = (struct netr_LogonGetCapabilities *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.capabilities = talloc_zero(mem_ctx, union netr_Capabilities); - if (r->out.capabilities == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonGetCapabilities(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRLOGONSETSERVICEBITS: { - struct netr_NETRLOGONSETSERVICEBITS *r = (struct netr_NETRLOGONSETSERVICEBITS *)_r; - r->out.result = _netr_NETRLOGONSETSERVICEBITS(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONGETTRUSTRID: { - struct netr_LogonGetTrustRid *r = (struct netr_LogonGetTrustRid *)_r; - ZERO_STRUCT(r->out); - r->out.rid = talloc_zero(mem_ctx, uint32_t); - if (r->out.rid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonGetTrustRid(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST: { - struct netr_NETRLOGONCOMPUTESERVERDIGEST *r = (struct netr_NETRLOGONCOMPUTESERVERDIGEST *)_r; - r->out.result = _netr_NETRLOGONCOMPUTESERVERDIGEST(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST: { - struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r = (struct netr_NETRLOGONCOMPUTECLIENTDIGEST *)_r; - r->out.result = _netr_NETRLOGONCOMPUTECLIENTDIGEST(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERAUTHENTICATE3: { - struct netr_ServerAuthenticate3 *r = (struct netr_ServerAuthenticate3 *)_r; - ZERO_STRUCT(r->out); - r->out.negotiate_flags = r->in.negotiate_flags; - r->out.return_credentials = talloc_zero(mem_ctx, struct netr_Credential); - if (r->out.return_credentials == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.rid = talloc_zero(mem_ctx, uint32_t); - if (r->out.rid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerAuthenticate3(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRGETDCNAMEEX: { - struct netr_DsRGetDCNameEx *r = (struct netr_DsRGetDCNameEx *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct netr_DsRGetDCNameInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRGetDCNameEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRGETSITENAME: { - struct netr_DsRGetSiteName *r = (struct netr_DsRGetSiteName *)_r; - ZERO_STRUCT(r->out); - r->out.site = talloc_zero(mem_ctx, const char *); - if (r->out.site == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRGetSiteName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONGETDOMAININFO: { - struct netr_LogonGetDomainInfo *r = (struct netr_LogonGetDomainInfo *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.info = talloc_zero(mem_ctx, union netr_DomainInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonGetDomainInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERPASSWORDSET2: { - struct netr_ServerPasswordSet2 *r = (struct netr_ServerPasswordSet2 *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(mem_ctx, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerPasswordSet2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERPASSWORDGET: { - struct netr_ServerPasswordGet *r = (struct netr_ServerPasswordGet *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(mem_ctx, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.password = talloc_zero(mem_ctx, struct samr_Password); - if (r->out.password == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerPasswordGet(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRLOGONSENDTOSAM: { - struct netr_NETRLOGONSENDTOSAM *r = (struct netr_NETRLOGONSENDTOSAM *)_r; - r->out.result = _netr_NETRLOGONSENDTOSAM(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRADDRESSTOSITENAMESW: { - struct netr_DsRAddressToSitenamesW *r = (struct netr_DsRAddressToSitenamesW *)_r; - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(mem_ctx, struct netr_DsRAddressToSitenamesWCtr *); - if (r->out.ctr == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRAddressToSitenamesW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRGETDCNAMEEX2: { - struct netr_DsRGetDCNameEx2 *r = (struct netr_DsRGetDCNameEx2 *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct netr_DsRGetDCNameInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRGetDCNameEx2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN: { - struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r = (struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *)_r; - r->out.result = _netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX: { - struct netr_NetrEnumerateTrustedDomainsEx *r = (struct netr_NetrEnumerateTrustedDomainsEx *)_r; - ZERO_STRUCT(r->out); - r->out.dom_trust_list = talloc_zero(mem_ctx, struct netr_DomainTrustList); - if (r->out.dom_trust_list == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_NetrEnumerateTrustedDomainsEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRADDRESSTOSITENAMESEXW: { - struct netr_DsRAddressToSitenamesExW *r = (struct netr_DsRAddressToSitenamesExW *)_r; - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(mem_ctx, struct netr_DsRAddressToSitenamesExWCtr *); - if (r->out.ctr == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRAddressToSitenamesExW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRGETDCSITECOVERAGEW: { - struct netr_DsrGetDcSiteCoverageW *r = (struct netr_DsrGetDcSiteCoverageW *)_r; - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(mem_ctx, struct DcSitesCtr *); - if (r->out.ctr == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsrGetDcSiteCoverageW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONSAMLOGONEX: { - struct netr_LogonSamLogonEx *r = (struct netr_LogonSamLogonEx *)_r; - ZERO_STRUCT(r->out); - r->out.flags = r->in.flags; - r->out.validation = talloc_zero(mem_ctx, union netr_Validation); - if (r->out.validation == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.authoritative = talloc_zero(mem_ctx, uint8_t); - if (r->out.authoritative == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonSamLogonEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRENUMERATEDOMAINTRUSTS: { - struct netr_DsrEnumerateDomainTrusts *r = (struct netr_DsrEnumerateDomainTrusts *)_r; - ZERO_STRUCT(r->out); - r->out.trusts = talloc_zero(mem_ctx, struct netr_DomainTrustList); - if (r->out.trusts == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsrEnumerateDomainTrusts(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS: { - struct netr_DsrDeregisterDNSHostRecords *r = (struct netr_DsrDeregisterDNSHostRecords *)_r; - r->out.result = _netr_DsrDeregisterDNSHostRecords(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERTRUSTPASSWORDSGET: { - struct netr_ServerTrustPasswordsGet *r = (struct netr_ServerTrustPasswordsGet *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(mem_ctx, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.password = talloc_zero(mem_ctx, struct samr_Password); - if (r->out.password == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.password2 = talloc_zero(mem_ctx, struct samr_Password); - if (r->out.password2 == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerTrustPasswordsGet(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_DSRGETFORESTTRUSTINFORMATION: { - struct netr_DsRGetForestTrustInformation *r = (struct netr_DsRGetForestTrustInformation *)_r; - ZERO_STRUCT(r->out); - r->out.forest_trust_info = talloc_zero(mem_ctx, struct lsa_ForestTrustInformation *); - if (r->out.forest_trust_info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_DsRGetForestTrustInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_GETFORESTTRUSTINFORMATION: { - struct netr_GetForestTrustInformation *r = (struct netr_GetForestTrustInformation *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(mem_ctx, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.forest_trust_info = talloc_zero(mem_ctx, struct lsa_ForestTrustInformation *); - if (r->out.forest_trust_info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_GetForestTrustInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_LOGONSAMLOGONWITHFLAGS: { - struct netr_LogonSamLogonWithFlags *r = (struct netr_LogonSamLogonWithFlags *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = r->in.return_authenticator; - r->out.flags = r->in.flags; - r->out.validation = talloc_zero(mem_ctx, union netr_Validation); - if (r->out.validation == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.authoritative = talloc_zero(mem_ctx, uint8_t); - if (r->out.authoritative == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_LogonSamLogonWithFlags(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_NETR_SERVERGETTRUSTINFO: { - struct netr_ServerGetTrustInfo *r = (struct netr_ServerGetTrustInfo *)_r; - ZERO_STRUCT(r->out); - r->out.return_authenticator = talloc_zero(mem_ctx, struct netr_Authenticator); - if (r->out.return_authenticator == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.new_owf_password = talloc_zero(mem_ctx, struct samr_Password); - if (r->out.new_owf_password == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.old_owf_password = talloc_zero(mem_ctx, struct samr_Password); - if (r->out.old_owf_password == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.trust_info = talloc_zero(mem_ctx, struct netr_TrustInfo *); - if (r->out.trust_info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _netr_ServerGetTrustInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_netlogon_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "netlogon", "netlogon", &ndr_table_netlogon, api_netlogon_cmds, sizeof(api_netlogon_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_netlogon.h b/librpc/gen_ndr/srv_netlogon.h deleted file mode 100644 index 73c98b17853..00000000000 --- a/librpc/gen_ndr/srv_netlogon.h +++ /dev/null @@ -1,101 +0,0 @@ -#include "../librpc/gen_ndr/ndr_netlogon.h" -#ifndef __SRV_NETLOGON__ -#define __SRV_NETLOGON__ -WERROR _netr_LogonUasLogon(pipes_struct *p, struct netr_LogonUasLogon *r); -WERROR _netr_LogonUasLogoff(pipes_struct *p, struct netr_LogonUasLogoff *r); -NTSTATUS _netr_LogonSamLogon(pipes_struct *p, struct netr_LogonSamLogon *r); -NTSTATUS _netr_LogonSamLogoff(pipes_struct *p, struct netr_LogonSamLogoff *r); -NTSTATUS _netr_ServerReqChallenge(pipes_struct *p, struct netr_ServerReqChallenge *r); -NTSTATUS _netr_ServerAuthenticate(pipes_struct *p, struct netr_ServerAuthenticate *r); -NTSTATUS _netr_ServerPasswordSet(pipes_struct *p, struct netr_ServerPasswordSet *r); -NTSTATUS _netr_DatabaseDeltas(pipes_struct *p, struct netr_DatabaseDeltas *r); -NTSTATUS _netr_DatabaseSync(pipes_struct *p, struct netr_DatabaseSync *r); -NTSTATUS _netr_AccountDeltas(pipes_struct *p, struct netr_AccountDeltas *r); -NTSTATUS _netr_AccountSync(pipes_struct *p, struct netr_AccountSync *r); -WERROR _netr_GetDcName(pipes_struct *p, struct netr_GetDcName *r); -WERROR _netr_LogonControl(pipes_struct *p, struct netr_LogonControl *r); -WERROR _netr_GetAnyDCName(pipes_struct *p, struct netr_GetAnyDCName *r); -WERROR _netr_LogonControl2(pipes_struct *p, struct netr_LogonControl2 *r); -NTSTATUS _netr_ServerAuthenticate2(pipes_struct *p, struct netr_ServerAuthenticate2 *r); -NTSTATUS _netr_DatabaseSync2(pipes_struct *p, struct netr_DatabaseSync2 *r); -NTSTATUS _netr_DatabaseRedo(pipes_struct *p, struct netr_DatabaseRedo *r); -WERROR _netr_LogonControl2Ex(pipes_struct *p, struct netr_LogonControl2Ex *r); -WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p, struct netr_NetrEnumerateTrustedDomains *r); -WERROR _netr_DsRGetDCName(pipes_struct *p, struct netr_DsRGetDCName *r); -NTSTATUS _netr_LogonGetCapabilities(pipes_struct *p, struct netr_LogonGetCapabilities *r); -WERROR _netr_NETRLOGONSETSERVICEBITS(pipes_struct *p, struct netr_NETRLOGONSETSERVICEBITS *r); -WERROR _netr_LogonGetTrustRid(pipes_struct *p, struct netr_LogonGetTrustRid *r); -WERROR _netr_NETRLOGONCOMPUTESERVERDIGEST(pipes_struct *p, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r); -WERROR _netr_NETRLOGONCOMPUTECLIENTDIGEST(pipes_struct *p, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r); -NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p, struct netr_ServerAuthenticate3 *r); -WERROR _netr_DsRGetDCNameEx(pipes_struct *p, struct netr_DsRGetDCNameEx *r); -WERROR _netr_DsRGetSiteName(pipes_struct *p, struct netr_DsRGetSiteName *r); -NTSTATUS _netr_LogonGetDomainInfo(pipes_struct *p, struct netr_LogonGetDomainInfo *r); -NTSTATUS _netr_ServerPasswordSet2(pipes_struct *p, struct netr_ServerPasswordSet2 *r); -WERROR _netr_ServerPasswordGet(pipes_struct *p, struct netr_ServerPasswordGet *r); -WERROR _netr_NETRLOGONSENDTOSAM(pipes_struct *p, struct netr_NETRLOGONSENDTOSAM *r); -WERROR _netr_DsRAddressToSitenamesW(pipes_struct *p, struct netr_DsRAddressToSitenamesW *r); -WERROR _netr_DsRGetDCNameEx2(pipes_struct *p, struct netr_DsRGetDCNameEx2 *r); -WERROR _netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(pipes_struct *p, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r); -WERROR _netr_NetrEnumerateTrustedDomainsEx(pipes_struct *p, struct netr_NetrEnumerateTrustedDomainsEx *r); -WERROR _netr_DsRAddressToSitenamesExW(pipes_struct *p, struct netr_DsRAddressToSitenamesExW *r); -WERROR _netr_DsrGetDcSiteCoverageW(pipes_struct *p, struct netr_DsrGetDcSiteCoverageW *r); -NTSTATUS _netr_LogonSamLogonEx(pipes_struct *p, struct netr_LogonSamLogonEx *r); -WERROR _netr_DsrEnumerateDomainTrusts(pipes_struct *p, struct netr_DsrEnumerateDomainTrusts *r); -WERROR _netr_DsrDeregisterDNSHostRecords(pipes_struct *p, struct netr_DsrDeregisterDNSHostRecords *r); -NTSTATUS _netr_ServerTrustPasswordsGet(pipes_struct *p, struct netr_ServerTrustPasswordsGet *r); -WERROR _netr_DsRGetForestTrustInformation(pipes_struct *p, struct netr_DsRGetForestTrustInformation *r); -NTSTATUS _netr_GetForestTrustInformation(pipes_struct *p, struct netr_GetForestTrustInformation *r); -NTSTATUS _netr_LogonSamLogonWithFlags(pipes_struct *p, struct netr_LogonSamLogonWithFlags *r); -NTSTATUS _netr_ServerGetTrustInfo(pipes_struct *p, struct netr_ServerGetTrustInfo *r); -void netlogon_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_netlogon_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _netr_LogonUasLogon(pipes_struct *p, struct netr_LogonUasLogon *r); -WERROR _netr_LogonUasLogoff(pipes_struct *p, struct netr_LogonUasLogoff *r); -NTSTATUS _netr_LogonSamLogon(pipes_struct *p, struct netr_LogonSamLogon *r); -NTSTATUS _netr_LogonSamLogoff(pipes_struct *p, struct netr_LogonSamLogoff *r); -NTSTATUS _netr_ServerReqChallenge(pipes_struct *p, struct netr_ServerReqChallenge *r); -NTSTATUS _netr_ServerAuthenticate(pipes_struct *p, struct netr_ServerAuthenticate *r); -NTSTATUS _netr_ServerPasswordSet(pipes_struct *p, struct netr_ServerPasswordSet *r); -NTSTATUS _netr_DatabaseDeltas(pipes_struct *p, struct netr_DatabaseDeltas *r); -NTSTATUS _netr_DatabaseSync(pipes_struct *p, struct netr_DatabaseSync *r); -NTSTATUS _netr_AccountDeltas(pipes_struct *p, struct netr_AccountDeltas *r); -NTSTATUS _netr_AccountSync(pipes_struct *p, struct netr_AccountSync *r); -WERROR _netr_GetDcName(pipes_struct *p, struct netr_GetDcName *r); -WERROR _netr_LogonControl(pipes_struct *p, struct netr_LogonControl *r); -WERROR _netr_GetAnyDCName(pipes_struct *p, struct netr_GetAnyDCName *r); -WERROR _netr_LogonControl2(pipes_struct *p, struct netr_LogonControl2 *r); -NTSTATUS _netr_ServerAuthenticate2(pipes_struct *p, struct netr_ServerAuthenticate2 *r); -NTSTATUS _netr_DatabaseSync2(pipes_struct *p, struct netr_DatabaseSync2 *r); -NTSTATUS _netr_DatabaseRedo(pipes_struct *p, struct netr_DatabaseRedo *r); -WERROR _netr_LogonControl2Ex(pipes_struct *p, struct netr_LogonControl2Ex *r); -WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p, struct netr_NetrEnumerateTrustedDomains *r); -WERROR _netr_DsRGetDCName(pipes_struct *p, struct netr_DsRGetDCName *r); -NTSTATUS _netr_LogonGetCapabilities(pipes_struct *p, struct netr_LogonGetCapabilities *r); -WERROR _netr_NETRLOGONSETSERVICEBITS(pipes_struct *p, struct netr_NETRLOGONSETSERVICEBITS *r); -WERROR _netr_LogonGetTrustRid(pipes_struct *p, struct netr_LogonGetTrustRid *r); -WERROR _netr_NETRLOGONCOMPUTESERVERDIGEST(pipes_struct *p, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r); -WERROR _netr_NETRLOGONCOMPUTECLIENTDIGEST(pipes_struct *p, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r); -NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p, struct netr_ServerAuthenticate3 *r); -WERROR _netr_DsRGetDCNameEx(pipes_struct *p, struct netr_DsRGetDCNameEx *r); -WERROR _netr_DsRGetSiteName(pipes_struct *p, struct netr_DsRGetSiteName *r); -NTSTATUS _netr_LogonGetDomainInfo(pipes_struct *p, struct netr_LogonGetDomainInfo *r); -NTSTATUS _netr_ServerPasswordSet2(pipes_struct *p, struct netr_ServerPasswordSet2 *r); -WERROR _netr_ServerPasswordGet(pipes_struct *p, struct netr_ServerPasswordGet *r); -WERROR _netr_NETRLOGONSENDTOSAM(pipes_struct *p, struct netr_NETRLOGONSENDTOSAM *r); -WERROR _netr_DsRAddressToSitenamesW(pipes_struct *p, struct netr_DsRAddressToSitenamesW *r); -WERROR _netr_DsRGetDCNameEx2(pipes_struct *p, struct netr_DsRGetDCNameEx2 *r); -WERROR _netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(pipes_struct *p, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r); -WERROR _netr_NetrEnumerateTrustedDomainsEx(pipes_struct *p, struct netr_NetrEnumerateTrustedDomainsEx *r); -WERROR _netr_DsRAddressToSitenamesExW(pipes_struct *p, struct netr_DsRAddressToSitenamesExW *r); -WERROR _netr_DsrGetDcSiteCoverageW(pipes_struct *p, struct netr_DsrGetDcSiteCoverageW *r); -NTSTATUS _netr_LogonSamLogonEx(pipes_struct *p, struct netr_LogonSamLogonEx *r); -WERROR _netr_DsrEnumerateDomainTrusts(pipes_struct *p, struct netr_DsrEnumerateDomainTrusts *r); -WERROR _netr_DsrDeregisterDNSHostRecords(pipes_struct *p, struct netr_DsrDeregisterDNSHostRecords *r); -NTSTATUS _netr_ServerTrustPasswordsGet(pipes_struct *p, struct netr_ServerTrustPasswordsGet *r); -WERROR _netr_DsRGetForestTrustInformation(pipes_struct *p, struct netr_DsRGetForestTrustInformation *r); -NTSTATUS _netr_GetForestTrustInformation(pipes_struct *p, struct netr_GetForestTrustInformation *r); -NTSTATUS _netr_LogonSamLogonWithFlags(pipes_struct *p, struct netr_LogonSamLogonWithFlags *r); -NTSTATUS _netr_ServerGetTrustInfo(pipes_struct *p, struct netr_ServerGetTrustInfo *r); -NTSTATUS rpc_netlogon_init(void); -#endif /* __SRV_NETLOGON__ */ diff --git a/librpc/gen_ndr/srv_ntsvcs.c b/librpc/gen_ndr/srv_ntsvcs.c deleted file mode 100644 index 4c74bfbc543..00000000000 --- a/librpc/gen_ndr/srv_ntsvcs.c +++ /dev/null @@ -1,5318 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_ntsvcs.h" - -static bool api_PNP_Disconnect(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_Disconnect *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_DISCONNECT]; - - r = talloc(talloc_tos(), struct PNP_Disconnect); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_Disconnect, r); - } - - r->out.result = _PNP_Disconnect(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_Disconnect, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_Connect(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_Connect *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_CONNECT]; - - r = talloc(talloc_tos(), struct PNP_Connect); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_Connect, r); - } - - r->out.result = _PNP_Connect(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_Connect, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetVersion(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetVersion *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETVERSION]; - - r = talloc(talloc_tos(), struct PNP_GetVersion); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetVersion, r); - } - - ZERO_STRUCT(r->out); - r->out.version = talloc_zero(r, uint16_t); - if (r->out.version == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _PNP_GetVersion(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetVersion, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetGlobalState(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetGlobalState *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETGLOBALSTATE]; - - r = talloc(talloc_tos(), struct PNP_GetGlobalState); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetGlobalState, r); - } - - r->out.result = _PNP_GetGlobalState(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetGlobalState, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_InitDetection(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_InitDetection *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_INITDETECTION]; - - r = talloc(talloc_tos(), struct PNP_InitDetection); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_InitDetection, r); - } - - r->out.result = _PNP_InitDetection(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_InitDetection, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_ReportLogOn(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_ReportLogOn *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_REPORTLOGON]; - - r = talloc(talloc_tos(), struct PNP_ReportLogOn); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_ReportLogOn, r); - } - - r->out.result = _PNP_ReportLogOn(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_ReportLogOn, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_ValidateDeviceInstance(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_ValidateDeviceInstance *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_VALIDATEDEVICEINSTANCE]; - - r = talloc(talloc_tos(), struct PNP_ValidateDeviceInstance); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_ValidateDeviceInstance, r); - } - - r->out.result = _PNP_ValidateDeviceInstance(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_ValidateDeviceInstance, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetRootDeviceInstance(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetRootDeviceInstance *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETROOTDEVICEINSTANCE]; - - r = talloc(talloc_tos(), struct PNP_GetRootDeviceInstance); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetRootDeviceInstance, r); - } - - r->out.result = _PNP_GetRootDeviceInstance(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetRootDeviceInstance, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetRelatedDeviceInstance(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetRelatedDeviceInstance *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETRELATEDDEVICEINSTANCE]; - - r = talloc(talloc_tos(), struct PNP_GetRelatedDeviceInstance); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetRelatedDeviceInstance, r); - } - - r->out.result = _PNP_GetRelatedDeviceInstance(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetRelatedDeviceInstance, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_EnumerateSubKeys(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_EnumerateSubKeys *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_ENUMERATESUBKEYS]; - - r = talloc(talloc_tos(), struct PNP_EnumerateSubKeys); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_EnumerateSubKeys, r); - } - - r->out.result = _PNP_EnumerateSubKeys(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_EnumerateSubKeys, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetDeviceList(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetDeviceList *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICELIST]; - - r = talloc(talloc_tos(), struct PNP_GetDeviceList); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetDeviceList, r); - } - - ZERO_STRUCT(r->out); - r->out.length = r->in.length; - r->out.buffer = talloc_zero_array(r, uint16_t, *r->out.length); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _PNP_GetDeviceList(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetDeviceList, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetDeviceListSize(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetDeviceListSize *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICELISTSIZE]; - - r = talloc(talloc_tos(), struct PNP_GetDeviceListSize); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetDeviceListSize, r); - } - - ZERO_STRUCT(r->out); - r->out.size = talloc_zero(r, uint32_t); - if (r->out.size == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _PNP_GetDeviceListSize(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetDeviceListSize, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetDepth(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetDepth *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEPTH]; - - r = talloc(talloc_tos(), struct PNP_GetDepth); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetDepth, r); - } - - r->out.result = _PNP_GetDepth(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetDepth, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetDeviceRegProp(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetDeviceRegProp *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICEREGPROP]; - - r = talloc(talloc_tos(), struct PNP_GetDeviceRegProp); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetDeviceRegProp, r); - } - - ZERO_STRUCT(r->out); - r->out.reg_data_type = r->in.reg_data_type; - r->out.buffer_size = r->in.buffer_size; - r->out.needed = r->in.needed; - r->out.buffer = talloc_zero_array(r, uint8_t, *r->out.buffer_size); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _PNP_GetDeviceRegProp(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetDeviceRegProp, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_SetDeviceRegProp(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_SetDeviceRegProp *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_SETDEVICEREGPROP]; - - r = talloc(talloc_tos(), struct PNP_SetDeviceRegProp); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_SetDeviceRegProp, r); - } - - r->out.result = _PNP_SetDeviceRegProp(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_SetDeviceRegProp, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetClassInstance(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetClassInstance *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSINSTANCE]; - - r = talloc(talloc_tos(), struct PNP_GetClassInstance); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetClassInstance, r); - } - - r->out.result = _PNP_GetClassInstance(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetClassInstance, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_CreateKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_CreateKey *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_CREATEKEY]; - - r = talloc(talloc_tos(), struct PNP_CreateKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_CreateKey, r); - } - - r->out.result = _PNP_CreateKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_CreateKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_DeleteRegistryKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_DeleteRegistryKey *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_DELETEREGISTRYKEY]; - - r = talloc(talloc_tos(), struct PNP_DeleteRegistryKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_DeleteRegistryKey, r); - } - - r->out.result = _PNP_DeleteRegistryKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_DeleteRegistryKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetClassCount(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetClassCount *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSCOUNT]; - - r = talloc(talloc_tos(), struct PNP_GetClassCount); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetClassCount, r); - } - - r->out.result = _PNP_GetClassCount(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetClassCount, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetClassName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetClassName *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSNAME]; - - r = talloc(talloc_tos(), struct PNP_GetClassName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetClassName, r); - } - - r->out.result = _PNP_GetClassName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetClassName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_DeleteClassKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_DeleteClassKey *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_DELETECLASSKEY]; - - r = talloc(talloc_tos(), struct PNP_DeleteClassKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_DeleteClassKey, r); - } - - r->out.result = _PNP_DeleteClassKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_DeleteClassKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetInterfaceDeviceAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetInterfaceDeviceAlias *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETINTERFACEDEVICEALIAS]; - - r = talloc(talloc_tos(), struct PNP_GetInterfaceDeviceAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetInterfaceDeviceAlias, r); - } - - r->out.result = _PNP_GetInterfaceDeviceAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetInterfaceDeviceAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetInterfaceDeviceList(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetInterfaceDeviceList *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETINTERFACEDEVICELIST]; - - r = talloc(talloc_tos(), struct PNP_GetInterfaceDeviceList); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetInterfaceDeviceList, r); - } - - r->out.result = _PNP_GetInterfaceDeviceList(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetInterfaceDeviceList, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetInterfaceDeviceListSize(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetInterfaceDeviceListSize *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETINTERFACEDEVICELISTSIZE]; - - r = talloc(talloc_tos(), struct PNP_GetInterfaceDeviceListSize); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetInterfaceDeviceListSize, r); - } - - r->out.result = _PNP_GetInterfaceDeviceListSize(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetInterfaceDeviceListSize, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_RegisterDeviceClassAssociation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_RegisterDeviceClassAssociation *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_REGISTERDEVICECLASSASSOCIATION]; - - r = talloc(talloc_tos(), struct PNP_RegisterDeviceClassAssociation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_RegisterDeviceClassAssociation, r); - } - - r->out.result = _PNP_RegisterDeviceClassAssociation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_RegisterDeviceClassAssociation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_UnregisterDeviceClassAssociation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_UnregisterDeviceClassAssociation *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION]; - - r = talloc(talloc_tos(), struct PNP_UnregisterDeviceClassAssociation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_UnregisterDeviceClassAssociation, r); - } - - r->out.result = _PNP_UnregisterDeviceClassAssociation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_UnregisterDeviceClassAssociation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetClassRegProp(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetClassRegProp *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCLASSREGPROP]; - - r = talloc(talloc_tos(), struct PNP_GetClassRegProp); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetClassRegProp, r); - } - - r->out.result = _PNP_GetClassRegProp(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetClassRegProp, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_SetClassRegProp(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_SetClassRegProp *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_SETCLASSREGPROP]; - - r = talloc(talloc_tos(), struct PNP_SetClassRegProp); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_SetClassRegProp, r); - } - - r->out.result = _PNP_SetClassRegProp(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_SetClassRegProp, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_CreateDevInst(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_CreateDevInst *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_CREATEDEVINST]; - - r = talloc(talloc_tos(), struct PNP_CreateDevInst); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_CreateDevInst, r); - } - - r->out.result = _PNP_CreateDevInst(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_CreateDevInst, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_DeviceInstanceAction(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_DeviceInstanceAction *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_DEVICEINSTANCEACTION]; - - r = talloc(talloc_tos(), struct PNP_DeviceInstanceAction); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_DeviceInstanceAction, r); - } - - r->out.result = _PNP_DeviceInstanceAction(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_DeviceInstanceAction, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetDeviceStatus(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetDeviceStatus *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETDEVICESTATUS]; - - r = talloc(talloc_tos(), struct PNP_GetDeviceStatus); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetDeviceStatus, r); - } - - r->out.result = _PNP_GetDeviceStatus(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetDeviceStatus, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_SetDeviceProblem(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_SetDeviceProblem *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_SETDEVICEPROBLEM]; - - r = talloc(talloc_tos(), struct PNP_SetDeviceProblem); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_SetDeviceProblem, r); - } - - r->out.result = _PNP_SetDeviceProblem(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_SetDeviceProblem, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_DisableDevInst(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_DisableDevInst *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_DISABLEDEVINST]; - - r = talloc(talloc_tos(), struct PNP_DisableDevInst); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_DisableDevInst, r); - } - - r->out.result = _PNP_DisableDevInst(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_DisableDevInst, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_UninstallDevInst(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_UninstallDevInst *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_UNINSTALLDEVINST]; - - r = talloc(talloc_tos(), struct PNP_UninstallDevInst); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_UninstallDevInst, r); - } - - r->out.result = _PNP_UninstallDevInst(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_UninstallDevInst, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_AddID(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_AddID *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_ADDID]; - - r = talloc(talloc_tos(), struct PNP_AddID); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_AddID, r); - } - - r->out.result = _PNP_AddID(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_AddID, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_RegisterDriver(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_RegisterDriver *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_REGISTERDRIVER]; - - r = talloc(talloc_tos(), struct PNP_RegisterDriver); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_RegisterDriver, r); - } - - r->out.result = _PNP_RegisterDriver(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_RegisterDriver, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_QueryRemove(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_QueryRemove *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYREMOVE]; - - r = talloc(talloc_tos(), struct PNP_QueryRemove); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_QueryRemove, r); - } - - r->out.result = _PNP_QueryRemove(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_QueryRemove, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_RequestDeviceEject(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_RequestDeviceEject *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_REQUESTDEVICEEJECT]; - - r = talloc(talloc_tos(), struct PNP_RequestDeviceEject); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_RequestDeviceEject, r); - } - - r->out.result = _PNP_RequestDeviceEject(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_RequestDeviceEject, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_IsDockStationPresent(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_IsDockStationPresent *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_ISDOCKSTATIONPRESENT]; - - r = talloc(talloc_tos(), struct PNP_IsDockStationPresent); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_IsDockStationPresent, r); - } - - r->out.result = _PNP_IsDockStationPresent(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_IsDockStationPresent, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_RequestEjectPC(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_RequestEjectPC *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_REQUESTEJECTPC]; - - r = talloc(talloc_tos(), struct PNP_RequestEjectPC); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_RequestEjectPC, r); - } - - r->out.result = _PNP_RequestEjectPC(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_RequestEjectPC, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_HwProfFlags(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_HwProfFlags *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_HWPROFFLAGS]; - - r = talloc(talloc_tos(), struct PNP_HwProfFlags); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_HwProfFlags, r); - } - - ZERO_STRUCT(r->out); - r->out.profile_flags = r->in.profile_flags; - r->out.veto_type = r->in.veto_type; - r->out.unknown5a = talloc_zero(r, const char *); - if (r->out.unknown5a == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _PNP_HwProfFlags(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_HwProfFlags, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetHwProfInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetHwProfInfo *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETHWPROFINFO]; - - r = talloc(talloc_tos(), struct PNP_GetHwProfInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetHwProfInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.result = _PNP_GetHwProfInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetHwProfInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_AddEmptyLogConf(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_AddEmptyLogConf *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_ADDEMPTYLOGCONF]; - - r = talloc(talloc_tos(), struct PNP_AddEmptyLogConf); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_AddEmptyLogConf, r); - } - - r->out.result = _PNP_AddEmptyLogConf(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_AddEmptyLogConf, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_FreeLogConf(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_FreeLogConf *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_FREELOGCONF]; - - r = talloc(talloc_tos(), struct PNP_FreeLogConf); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_FreeLogConf, r); - } - - r->out.result = _PNP_FreeLogConf(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_FreeLogConf, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetFirstLogConf(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetFirstLogConf *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETFIRSTLOGCONF]; - - r = talloc(talloc_tos(), struct PNP_GetFirstLogConf); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetFirstLogConf, r); - } - - r->out.result = _PNP_GetFirstLogConf(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetFirstLogConf, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetNextLogConf(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetNextLogConf *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETNEXTLOGCONF]; - - r = talloc(talloc_tos(), struct PNP_GetNextLogConf); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetNextLogConf, r); - } - - r->out.result = _PNP_GetNextLogConf(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetNextLogConf, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetLogConfPriority(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetLogConfPriority *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETLOGCONFPRIORITY]; - - r = talloc(talloc_tos(), struct PNP_GetLogConfPriority); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetLogConfPriority, r); - } - - r->out.result = _PNP_GetLogConfPriority(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetLogConfPriority, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_AddResDes(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_AddResDes *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_ADDRESDES]; - - r = talloc(talloc_tos(), struct PNP_AddResDes); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_AddResDes, r); - } - - r->out.result = _PNP_AddResDes(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_AddResDes, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_FreeResDes(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_FreeResDes *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_FREERESDES]; - - r = talloc(talloc_tos(), struct PNP_FreeResDes); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_FreeResDes, r); - } - - r->out.result = _PNP_FreeResDes(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_FreeResDes, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetNextResDes(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetNextResDes *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETNEXTRESDES]; - - r = talloc(talloc_tos(), struct PNP_GetNextResDes); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetNextResDes, r); - } - - r->out.result = _PNP_GetNextResDes(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetNextResDes, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetResDesData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetResDesData *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETRESDESDATA]; - - r = talloc(talloc_tos(), struct PNP_GetResDesData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetResDesData, r); - } - - r->out.result = _PNP_GetResDesData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetResDesData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetResDesDataSize(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetResDesDataSize *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETRESDESDATASIZE]; - - r = talloc(talloc_tos(), struct PNP_GetResDesDataSize); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetResDesDataSize, r); - } - - r->out.result = _PNP_GetResDesDataSize(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetResDesDataSize, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_ModifyResDes(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_ModifyResDes *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_MODIFYRESDES]; - - r = talloc(talloc_tos(), struct PNP_ModifyResDes); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_ModifyResDes, r); - } - - r->out.result = _PNP_ModifyResDes(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_ModifyResDes, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_DetectResourceLimit(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_DetectResourceLimit *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_DETECTRESOURCELIMIT]; - - r = talloc(talloc_tos(), struct PNP_DetectResourceLimit); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_DetectResourceLimit, r); - } - - r->out.result = _PNP_DetectResourceLimit(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_DetectResourceLimit, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_QueryResConfList(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_QueryResConfList *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYRESCONFLIST]; - - r = talloc(talloc_tos(), struct PNP_QueryResConfList); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_QueryResConfList, r); - } - - r->out.result = _PNP_QueryResConfList(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_QueryResConfList, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_SetHwProf(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_SetHwProf *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_SETHWPROF]; - - r = talloc(talloc_tos(), struct PNP_SetHwProf); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_SetHwProf, r); - } - - r->out.result = _PNP_SetHwProf(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_SetHwProf, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_QueryArbitratorFreeData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_QueryArbitratorFreeData *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYARBITRATORFREEDATA]; - - r = talloc(talloc_tos(), struct PNP_QueryArbitratorFreeData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_QueryArbitratorFreeData, r); - } - - r->out.result = _PNP_QueryArbitratorFreeData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_QueryArbitratorFreeData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_QueryArbitratorFreeSize(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_QueryArbitratorFreeSize *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_QUERYARBITRATORFREESIZE]; - - r = talloc(talloc_tos(), struct PNP_QueryArbitratorFreeSize); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_QueryArbitratorFreeSize, r); - } - - r->out.result = _PNP_QueryArbitratorFreeSize(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_QueryArbitratorFreeSize, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_RunDetection(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_RunDetection *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_RUNDETECTION]; - - r = talloc(talloc_tos(), struct PNP_RunDetection); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_RunDetection, r); - } - - r->out.result = _PNP_RunDetection(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_RunDetection, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_RegisterNotification(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_RegisterNotification *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_REGISTERNOTIFICATION]; - - r = talloc(talloc_tos(), struct PNP_RegisterNotification); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_RegisterNotification, r); - } - - r->out.result = _PNP_RegisterNotification(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_RegisterNotification, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_UnregisterNotification(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_UnregisterNotification *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_UNREGISTERNOTIFICATION]; - - r = talloc(talloc_tos(), struct PNP_UnregisterNotification); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_UnregisterNotification, r); - } - - r->out.result = _PNP_UnregisterNotification(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_UnregisterNotification, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetCustomDevProp(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetCustomDevProp *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETCUSTOMDEVPROP]; - - r = talloc(talloc_tos(), struct PNP_GetCustomDevProp); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetCustomDevProp, r); - } - - r->out.result = _PNP_GetCustomDevProp(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetCustomDevProp, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetVersionInternal(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetVersionInternal *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETVERSIONINTERNAL]; - - r = talloc(talloc_tos(), struct PNP_GetVersionInternal); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetVersionInternal, r); - } - - r->out.result = _PNP_GetVersionInternal(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetVersionInternal, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetBlockedDriverInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetBlockedDriverInfo *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETBLOCKEDDRIVERINFO]; - - r = talloc(talloc_tos(), struct PNP_GetBlockedDriverInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetBlockedDriverInfo, r); - } - - r->out.result = _PNP_GetBlockedDriverInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetBlockedDriverInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_PNP_GetServerSideDeviceInstallFlags(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct PNP_GetServerSideDeviceInstallFlags *r; - - call = &ndr_table_ntsvcs.calls[NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS]; - - r = talloc(talloc_tos(), struct PNP_GetServerSideDeviceInstallFlags); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(PNP_GetServerSideDeviceInstallFlags, r); - } - - r->out.result = _PNP_GetServerSideDeviceInstallFlags(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(PNP_GetServerSideDeviceInstallFlags, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_ntsvcs_cmds[] = -{ - {"PNP_DISCONNECT", NDR_PNP_DISCONNECT, api_PNP_Disconnect}, - {"PNP_CONNECT", NDR_PNP_CONNECT, api_PNP_Connect}, - {"PNP_GETVERSION", NDR_PNP_GETVERSION, api_PNP_GetVersion}, - {"PNP_GETGLOBALSTATE", NDR_PNP_GETGLOBALSTATE, api_PNP_GetGlobalState}, - {"PNP_INITDETECTION", NDR_PNP_INITDETECTION, api_PNP_InitDetection}, - {"PNP_REPORTLOGON", NDR_PNP_REPORTLOGON, api_PNP_ReportLogOn}, - {"PNP_VALIDATEDEVICEINSTANCE", NDR_PNP_VALIDATEDEVICEINSTANCE, api_PNP_ValidateDeviceInstance}, - {"PNP_GETROOTDEVICEINSTANCE", NDR_PNP_GETROOTDEVICEINSTANCE, api_PNP_GetRootDeviceInstance}, - {"PNP_GETRELATEDDEVICEINSTANCE", NDR_PNP_GETRELATEDDEVICEINSTANCE, api_PNP_GetRelatedDeviceInstance}, - {"PNP_ENUMERATESUBKEYS", NDR_PNP_ENUMERATESUBKEYS, api_PNP_EnumerateSubKeys}, - {"PNP_GETDEVICELIST", NDR_PNP_GETDEVICELIST, api_PNP_GetDeviceList}, - {"PNP_GETDEVICELISTSIZE", NDR_PNP_GETDEVICELISTSIZE, api_PNP_GetDeviceListSize}, - {"PNP_GETDEPTH", NDR_PNP_GETDEPTH, api_PNP_GetDepth}, - {"PNP_GETDEVICEREGPROP", NDR_PNP_GETDEVICEREGPROP, api_PNP_GetDeviceRegProp}, - {"PNP_SETDEVICEREGPROP", NDR_PNP_SETDEVICEREGPROP, api_PNP_SetDeviceRegProp}, - {"PNP_GETCLASSINSTANCE", NDR_PNP_GETCLASSINSTANCE, api_PNP_GetClassInstance}, - {"PNP_CREATEKEY", NDR_PNP_CREATEKEY, api_PNP_CreateKey}, - {"PNP_DELETEREGISTRYKEY", NDR_PNP_DELETEREGISTRYKEY, api_PNP_DeleteRegistryKey}, - {"PNP_GETCLASSCOUNT", NDR_PNP_GETCLASSCOUNT, api_PNP_GetClassCount}, - {"PNP_GETCLASSNAME", NDR_PNP_GETCLASSNAME, api_PNP_GetClassName}, - {"PNP_DELETECLASSKEY", NDR_PNP_DELETECLASSKEY, api_PNP_DeleteClassKey}, - {"PNP_GETINTERFACEDEVICEALIAS", NDR_PNP_GETINTERFACEDEVICEALIAS, api_PNP_GetInterfaceDeviceAlias}, - {"PNP_GETINTERFACEDEVICELIST", NDR_PNP_GETINTERFACEDEVICELIST, api_PNP_GetInterfaceDeviceList}, - {"PNP_GETINTERFACEDEVICELISTSIZE", NDR_PNP_GETINTERFACEDEVICELISTSIZE, api_PNP_GetInterfaceDeviceListSize}, - {"PNP_REGISTERDEVICECLASSASSOCIATION", NDR_PNP_REGISTERDEVICECLASSASSOCIATION, api_PNP_RegisterDeviceClassAssociation}, - {"PNP_UNREGISTERDEVICECLASSASSOCIATION", NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION, api_PNP_UnregisterDeviceClassAssociation}, - {"PNP_GETCLASSREGPROP", NDR_PNP_GETCLASSREGPROP, api_PNP_GetClassRegProp}, - {"PNP_SETCLASSREGPROP", NDR_PNP_SETCLASSREGPROP, api_PNP_SetClassRegProp}, - {"PNP_CREATEDEVINST", NDR_PNP_CREATEDEVINST, api_PNP_CreateDevInst}, - {"PNP_DEVICEINSTANCEACTION", NDR_PNP_DEVICEINSTANCEACTION, api_PNP_DeviceInstanceAction}, - {"PNP_GETDEVICESTATUS", NDR_PNP_GETDEVICESTATUS, api_PNP_GetDeviceStatus}, - {"PNP_SETDEVICEPROBLEM", NDR_PNP_SETDEVICEPROBLEM, api_PNP_SetDeviceProblem}, - {"PNP_DISABLEDEVINST", NDR_PNP_DISABLEDEVINST, api_PNP_DisableDevInst}, - {"PNP_UNINSTALLDEVINST", NDR_PNP_UNINSTALLDEVINST, api_PNP_UninstallDevInst}, - {"PNP_ADDID", NDR_PNP_ADDID, api_PNP_AddID}, - {"PNP_REGISTERDRIVER", NDR_PNP_REGISTERDRIVER, api_PNP_RegisterDriver}, - {"PNP_QUERYREMOVE", NDR_PNP_QUERYREMOVE, api_PNP_QueryRemove}, - {"PNP_REQUESTDEVICEEJECT", NDR_PNP_REQUESTDEVICEEJECT, api_PNP_RequestDeviceEject}, - {"PNP_ISDOCKSTATIONPRESENT", NDR_PNP_ISDOCKSTATIONPRESENT, api_PNP_IsDockStationPresent}, - {"PNP_REQUESTEJECTPC", NDR_PNP_REQUESTEJECTPC, api_PNP_RequestEjectPC}, - {"PNP_HWPROFFLAGS", NDR_PNP_HWPROFFLAGS, api_PNP_HwProfFlags}, - {"PNP_GETHWPROFINFO", NDR_PNP_GETHWPROFINFO, api_PNP_GetHwProfInfo}, - {"PNP_ADDEMPTYLOGCONF", NDR_PNP_ADDEMPTYLOGCONF, api_PNP_AddEmptyLogConf}, - {"PNP_FREELOGCONF", NDR_PNP_FREELOGCONF, api_PNP_FreeLogConf}, - {"PNP_GETFIRSTLOGCONF", NDR_PNP_GETFIRSTLOGCONF, api_PNP_GetFirstLogConf}, - {"PNP_GETNEXTLOGCONF", NDR_PNP_GETNEXTLOGCONF, api_PNP_GetNextLogConf}, - {"PNP_GETLOGCONFPRIORITY", NDR_PNP_GETLOGCONFPRIORITY, api_PNP_GetLogConfPriority}, - {"PNP_ADDRESDES", NDR_PNP_ADDRESDES, api_PNP_AddResDes}, - {"PNP_FREERESDES", NDR_PNP_FREERESDES, api_PNP_FreeResDes}, - {"PNP_GETNEXTRESDES", NDR_PNP_GETNEXTRESDES, api_PNP_GetNextResDes}, - {"PNP_GETRESDESDATA", NDR_PNP_GETRESDESDATA, api_PNP_GetResDesData}, - {"PNP_GETRESDESDATASIZE", NDR_PNP_GETRESDESDATASIZE, api_PNP_GetResDesDataSize}, - {"PNP_MODIFYRESDES", NDR_PNP_MODIFYRESDES, api_PNP_ModifyResDes}, - {"PNP_DETECTRESOURCELIMIT", NDR_PNP_DETECTRESOURCELIMIT, api_PNP_DetectResourceLimit}, - {"PNP_QUERYRESCONFLIST", NDR_PNP_QUERYRESCONFLIST, api_PNP_QueryResConfList}, - {"PNP_SETHWPROF", NDR_PNP_SETHWPROF, api_PNP_SetHwProf}, - {"PNP_QUERYARBITRATORFREEDATA", NDR_PNP_QUERYARBITRATORFREEDATA, api_PNP_QueryArbitratorFreeData}, - {"PNP_QUERYARBITRATORFREESIZE", NDR_PNP_QUERYARBITRATORFREESIZE, api_PNP_QueryArbitratorFreeSize}, - {"PNP_RUNDETECTION", NDR_PNP_RUNDETECTION, api_PNP_RunDetection}, - {"PNP_REGISTERNOTIFICATION", NDR_PNP_REGISTERNOTIFICATION, api_PNP_RegisterNotification}, - {"PNP_UNREGISTERNOTIFICATION", NDR_PNP_UNREGISTERNOTIFICATION, api_PNP_UnregisterNotification}, - {"PNP_GETCUSTOMDEVPROP", NDR_PNP_GETCUSTOMDEVPROP, api_PNP_GetCustomDevProp}, - {"PNP_GETVERSIONINTERNAL", NDR_PNP_GETVERSIONINTERNAL, api_PNP_GetVersionInternal}, - {"PNP_GETBLOCKEDDRIVERINFO", NDR_PNP_GETBLOCKEDDRIVERINFO, api_PNP_GetBlockedDriverInfo}, - {"PNP_GETSERVERSIDEDEVICEINSTALLFLAGS", NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS, api_PNP_GetServerSideDeviceInstallFlags}, -}; - -void ntsvcs_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_ntsvcs_cmds; - *n_fns = sizeof(api_ntsvcs_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_ntsvcs_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_PNP_DISCONNECT: { - struct PNP_Disconnect *r = (struct PNP_Disconnect *)_r; - r->out.result = _PNP_Disconnect(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_CONNECT: { - struct PNP_Connect *r = (struct PNP_Connect *)_r; - r->out.result = _PNP_Connect(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETVERSION: { - struct PNP_GetVersion *r = (struct PNP_GetVersion *)_r; - ZERO_STRUCT(r->out); - r->out.version = talloc_zero(mem_ctx, uint16_t); - if (r->out.version == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _PNP_GetVersion(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETGLOBALSTATE: { - struct PNP_GetGlobalState *r = (struct PNP_GetGlobalState *)_r; - r->out.result = _PNP_GetGlobalState(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_INITDETECTION: { - struct PNP_InitDetection *r = (struct PNP_InitDetection *)_r; - r->out.result = _PNP_InitDetection(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_REPORTLOGON: { - struct PNP_ReportLogOn *r = (struct PNP_ReportLogOn *)_r; - r->out.result = _PNP_ReportLogOn(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_VALIDATEDEVICEINSTANCE: { - struct PNP_ValidateDeviceInstance *r = (struct PNP_ValidateDeviceInstance *)_r; - r->out.result = _PNP_ValidateDeviceInstance(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETROOTDEVICEINSTANCE: { - struct PNP_GetRootDeviceInstance *r = (struct PNP_GetRootDeviceInstance *)_r; - r->out.result = _PNP_GetRootDeviceInstance(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETRELATEDDEVICEINSTANCE: { - struct PNP_GetRelatedDeviceInstance *r = (struct PNP_GetRelatedDeviceInstance *)_r; - r->out.result = _PNP_GetRelatedDeviceInstance(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_ENUMERATESUBKEYS: { - struct PNP_EnumerateSubKeys *r = (struct PNP_EnumerateSubKeys *)_r; - r->out.result = _PNP_EnumerateSubKeys(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETDEVICELIST: { - struct PNP_GetDeviceList *r = (struct PNP_GetDeviceList *)_r; - ZERO_STRUCT(r->out); - r->out.length = r->in.length; - r->out.buffer = talloc_zero_array(mem_ctx, uint16_t, *r->out.length); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _PNP_GetDeviceList(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETDEVICELISTSIZE: { - struct PNP_GetDeviceListSize *r = (struct PNP_GetDeviceListSize *)_r; - ZERO_STRUCT(r->out); - r->out.size = talloc_zero(mem_ctx, uint32_t); - if (r->out.size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _PNP_GetDeviceListSize(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETDEPTH: { - struct PNP_GetDepth *r = (struct PNP_GetDepth *)_r; - r->out.result = _PNP_GetDepth(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETDEVICEREGPROP: { - struct PNP_GetDeviceRegProp *r = (struct PNP_GetDeviceRegProp *)_r; - ZERO_STRUCT(r->out); - r->out.reg_data_type = r->in.reg_data_type; - r->out.buffer_size = r->in.buffer_size; - r->out.needed = r->in.needed; - r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, *r->out.buffer_size); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _PNP_GetDeviceRegProp(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_SETDEVICEREGPROP: { - struct PNP_SetDeviceRegProp *r = (struct PNP_SetDeviceRegProp *)_r; - r->out.result = _PNP_SetDeviceRegProp(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETCLASSINSTANCE: { - struct PNP_GetClassInstance *r = (struct PNP_GetClassInstance *)_r; - r->out.result = _PNP_GetClassInstance(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_CREATEKEY: { - struct PNP_CreateKey *r = (struct PNP_CreateKey *)_r; - r->out.result = _PNP_CreateKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_DELETEREGISTRYKEY: { - struct PNP_DeleteRegistryKey *r = (struct PNP_DeleteRegistryKey *)_r; - r->out.result = _PNP_DeleteRegistryKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETCLASSCOUNT: { - struct PNP_GetClassCount *r = (struct PNP_GetClassCount *)_r; - r->out.result = _PNP_GetClassCount(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETCLASSNAME: { - struct PNP_GetClassName *r = (struct PNP_GetClassName *)_r; - r->out.result = _PNP_GetClassName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_DELETECLASSKEY: { - struct PNP_DeleteClassKey *r = (struct PNP_DeleteClassKey *)_r; - r->out.result = _PNP_DeleteClassKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETINTERFACEDEVICEALIAS: { - struct PNP_GetInterfaceDeviceAlias *r = (struct PNP_GetInterfaceDeviceAlias *)_r; - r->out.result = _PNP_GetInterfaceDeviceAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETINTERFACEDEVICELIST: { - struct PNP_GetInterfaceDeviceList *r = (struct PNP_GetInterfaceDeviceList *)_r; - r->out.result = _PNP_GetInterfaceDeviceList(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETINTERFACEDEVICELISTSIZE: { - struct PNP_GetInterfaceDeviceListSize *r = (struct PNP_GetInterfaceDeviceListSize *)_r; - r->out.result = _PNP_GetInterfaceDeviceListSize(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_REGISTERDEVICECLASSASSOCIATION: { - struct PNP_RegisterDeviceClassAssociation *r = (struct PNP_RegisterDeviceClassAssociation *)_r; - r->out.result = _PNP_RegisterDeviceClassAssociation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_UNREGISTERDEVICECLASSASSOCIATION: { - struct PNP_UnregisterDeviceClassAssociation *r = (struct PNP_UnregisterDeviceClassAssociation *)_r; - r->out.result = _PNP_UnregisterDeviceClassAssociation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETCLASSREGPROP: { - struct PNP_GetClassRegProp *r = (struct PNP_GetClassRegProp *)_r; - r->out.result = _PNP_GetClassRegProp(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_SETCLASSREGPROP: { - struct PNP_SetClassRegProp *r = (struct PNP_SetClassRegProp *)_r; - r->out.result = _PNP_SetClassRegProp(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_CREATEDEVINST: { - struct PNP_CreateDevInst *r = (struct PNP_CreateDevInst *)_r; - r->out.result = _PNP_CreateDevInst(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_DEVICEINSTANCEACTION: { - struct PNP_DeviceInstanceAction *r = (struct PNP_DeviceInstanceAction *)_r; - r->out.result = _PNP_DeviceInstanceAction(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETDEVICESTATUS: { - struct PNP_GetDeviceStatus *r = (struct PNP_GetDeviceStatus *)_r; - r->out.result = _PNP_GetDeviceStatus(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_SETDEVICEPROBLEM: { - struct PNP_SetDeviceProblem *r = (struct PNP_SetDeviceProblem *)_r; - r->out.result = _PNP_SetDeviceProblem(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_DISABLEDEVINST: { - struct PNP_DisableDevInst *r = (struct PNP_DisableDevInst *)_r; - r->out.result = _PNP_DisableDevInst(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_UNINSTALLDEVINST: { - struct PNP_UninstallDevInst *r = (struct PNP_UninstallDevInst *)_r; - r->out.result = _PNP_UninstallDevInst(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_ADDID: { - struct PNP_AddID *r = (struct PNP_AddID *)_r; - r->out.result = _PNP_AddID(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_REGISTERDRIVER: { - struct PNP_RegisterDriver *r = (struct PNP_RegisterDriver *)_r; - r->out.result = _PNP_RegisterDriver(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_QUERYREMOVE: { - struct PNP_QueryRemove *r = (struct PNP_QueryRemove *)_r; - r->out.result = _PNP_QueryRemove(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_REQUESTDEVICEEJECT: { - struct PNP_RequestDeviceEject *r = (struct PNP_RequestDeviceEject *)_r; - r->out.result = _PNP_RequestDeviceEject(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_ISDOCKSTATIONPRESENT: { - struct PNP_IsDockStationPresent *r = (struct PNP_IsDockStationPresent *)_r; - r->out.result = _PNP_IsDockStationPresent(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_REQUESTEJECTPC: { - struct PNP_RequestEjectPC *r = (struct PNP_RequestEjectPC *)_r; - r->out.result = _PNP_RequestEjectPC(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_HWPROFFLAGS: { - struct PNP_HwProfFlags *r = (struct PNP_HwProfFlags *)_r; - ZERO_STRUCT(r->out); - r->out.profile_flags = r->in.profile_flags; - r->out.veto_type = r->in.veto_type; - r->out.unknown5a = talloc_zero(mem_ctx, const char *); - if (r->out.unknown5a == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _PNP_HwProfFlags(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETHWPROFINFO: { - struct PNP_GetHwProfInfo *r = (struct PNP_GetHwProfInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.result = _PNP_GetHwProfInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_ADDEMPTYLOGCONF: { - struct PNP_AddEmptyLogConf *r = (struct PNP_AddEmptyLogConf *)_r; - r->out.result = _PNP_AddEmptyLogConf(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_FREELOGCONF: { - struct PNP_FreeLogConf *r = (struct PNP_FreeLogConf *)_r; - r->out.result = _PNP_FreeLogConf(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETFIRSTLOGCONF: { - struct PNP_GetFirstLogConf *r = (struct PNP_GetFirstLogConf *)_r; - r->out.result = _PNP_GetFirstLogConf(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETNEXTLOGCONF: { - struct PNP_GetNextLogConf *r = (struct PNP_GetNextLogConf *)_r; - r->out.result = _PNP_GetNextLogConf(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETLOGCONFPRIORITY: { - struct PNP_GetLogConfPriority *r = (struct PNP_GetLogConfPriority *)_r; - r->out.result = _PNP_GetLogConfPriority(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_ADDRESDES: { - struct PNP_AddResDes *r = (struct PNP_AddResDes *)_r; - r->out.result = _PNP_AddResDes(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_FREERESDES: { - struct PNP_FreeResDes *r = (struct PNP_FreeResDes *)_r; - r->out.result = _PNP_FreeResDes(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETNEXTRESDES: { - struct PNP_GetNextResDes *r = (struct PNP_GetNextResDes *)_r; - r->out.result = _PNP_GetNextResDes(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETRESDESDATA: { - struct PNP_GetResDesData *r = (struct PNP_GetResDesData *)_r; - r->out.result = _PNP_GetResDesData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETRESDESDATASIZE: { - struct PNP_GetResDesDataSize *r = (struct PNP_GetResDesDataSize *)_r; - r->out.result = _PNP_GetResDesDataSize(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_MODIFYRESDES: { - struct PNP_ModifyResDes *r = (struct PNP_ModifyResDes *)_r; - r->out.result = _PNP_ModifyResDes(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_DETECTRESOURCELIMIT: { - struct PNP_DetectResourceLimit *r = (struct PNP_DetectResourceLimit *)_r; - r->out.result = _PNP_DetectResourceLimit(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_QUERYRESCONFLIST: { - struct PNP_QueryResConfList *r = (struct PNP_QueryResConfList *)_r; - r->out.result = _PNP_QueryResConfList(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_SETHWPROF: { - struct PNP_SetHwProf *r = (struct PNP_SetHwProf *)_r; - r->out.result = _PNP_SetHwProf(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_QUERYARBITRATORFREEDATA: { - struct PNP_QueryArbitratorFreeData *r = (struct PNP_QueryArbitratorFreeData *)_r; - r->out.result = _PNP_QueryArbitratorFreeData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_QUERYARBITRATORFREESIZE: { - struct PNP_QueryArbitratorFreeSize *r = (struct PNP_QueryArbitratorFreeSize *)_r; - r->out.result = _PNP_QueryArbitratorFreeSize(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_RUNDETECTION: { - struct PNP_RunDetection *r = (struct PNP_RunDetection *)_r; - r->out.result = _PNP_RunDetection(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_REGISTERNOTIFICATION: { - struct PNP_RegisterNotification *r = (struct PNP_RegisterNotification *)_r; - r->out.result = _PNP_RegisterNotification(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_UNREGISTERNOTIFICATION: { - struct PNP_UnregisterNotification *r = (struct PNP_UnregisterNotification *)_r; - r->out.result = _PNP_UnregisterNotification(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETCUSTOMDEVPROP: { - struct PNP_GetCustomDevProp *r = (struct PNP_GetCustomDevProp *)_r; - r->out.result = _PNP_GetCustomDevProp(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETVERSIONINTERNAL: { - struct PNP_GetVersionInternal *r = (struct PNP_GetVersionInternal *)_r; - r->out.result = _PNP_GetVersionInternal(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETBLOCKEDDRIVERINFO: { - struct PNP_GetBlockedDriverInfo *r = (struct PNP_GetBlockedDriverInfo *)_r; - r->out.result = _PNP_GetBlockedDriverInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_PNP_GETSERVERSIDEDEVICEINSTALLFLAGS: { - struct PNP_GetServerSideDeviceInstallFlags *r = (struct PNP_GetServerSideDeviceInstallFlags *)_r; - r->out.result = _PNP_GetServerSideDeviceInstallFlags(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_ntsvcs_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "ntsvcs", "ntsvcs", &ndr_table_ntsvcs, api_ntsvcs_cmds, sizeof(api_ntsvcs_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_ntsvcs.h b/librpc/gen_ndr/srv_ntsvcs.h deleted file mode 100644 index 40d28a9e55e..00000000000 --- a/librpc/gen_ndr/srv_ntsvcs.h +++ /dev/null @@ -1,137 +0,0 @@ -#include "../librpc/gen_ndr/ndr_ntsvcs.h" -#ifndef __SRV_NTSVCS__ -#define __SRV_NTSVCS__ -WERROR _PNP_Disconnect(pipes_struct *p, struct PNP_Disconnect *r); -WERROR _PNP_Connect(pipes_struct *p, struct PNP_Connect *r); -WERROR _PNP_GetVersion(pipes_struct *p, struct PNP_GetVersion *r); -WERROR _PNP_GetGlobalState(pipes_struct *p, struct PNP_GetGlobalState *r); -WERROR _PNP_InitDetection(pipes_struct *p, struct PNP_InitDetection *r); -WERROR _PNP_ReportLogOn(pipes_struct *p, struct PNP_ReportLogOn *r); -WERROR _PNP_ValidateDeviceInstance(pipes_struct *p, struct PNP_ValidateDeviceInstance *r); -WERROR _PNP_GetRootDeviceInstance(pipes_struct *p, struct PNP_GetRootDeviceInstance *r); -WERROR _PNP_GetRelatedDeviceInstance(pipes_struct *p, struct PNP_GetRelatedDeviceInstance *r); -WERROR _PNP_EnumerateSubKeys(pipes_struct *p, struct PNP_EnumerateSubKeys *r); -WERROR _PNP_GetDeviceList(pipes_struct *p, struct PNP_GetDeviceList *r); -WERROR _PNP_GetDeviceListSize(pipes_struct *p, struct PNP_GetDeviceListSize *r); -WERROR _PNP_GetDepth(pipes_struct *p, struct PNP_GetDepth *r); -WERROR _PNP_GetDeviceRegProp(pipes_struct *p, struct PNP_GetDeviceRegProp *r); -WERROR _PNP_SetDeviceRegProp(pipes_struct *p, struct PNP_SetDeviceRegProp *r); -WERROR _PNP_GetClassInstance(pipes_struct *p, struct PNP_GetClassInstance *r); -WERROR _PNP_CreateKey(pipes_struct *p, struct PNP_CreateKey *r); -WERROR _PNP_DeleteRegistryKey(pipes_struct *p, struct PNP_DeleteRegistryKey *r); -WERROR _PNP_GetClassCount(pipes_struct *p, struct PNP_GetClassCount *r); -WERROR _PNP_GetClassName(pipes_struct *p, struct PNP_GetClassName *r); -WERROR _PNP_DeleteClassKey(pipes_struct *p, struct PNP_DeleteClassKey *r); -WERROR _PNP_GetInterfaceDeviceAlias(pipes_struct *p, struct PNP_GetInterfaceDeviceAlias *r); -WERROR _PNP_GetInterfaceDeviceList(pipes_struct *p, struct PNP_GetInterfaceDeviceList *r); -WERROR _PNP_GetInterfaceDeviceListSize(pipes_struct *p, struct PNP_GetInterfaceDeviceListSize *r); -WERROR _PNP_RegisterDeviceClassAssociation(pipes_struct *p, struct PNP_RegisterDeviceClassAssociation *r); -WERROR _PNP_UnregisterDeviceClassAssociation(pipes_struct *p, struct PNP_UnregisterDeviceClassAssociation *r); -WERROR _PNP_GetClassRegProp(pipes_struct *p, struct PNP_GetClassRegProp *r); -WERROR _PNP_SetClassRegProp(pipes_struct *p, struct PNP_SetClassRegProp *r); -WERROR _PNP_CreateDevInst(pipes_struct *p, struct PNP_CreateDevInst *r); -WERROR _PNP_DeviceInstanceAction(pipes_struct *p, struct PNP_DeviceInstanceAction *r); -WERROR _PNP_GetDeviceStatus(pipes_struct *p, struct PNP_GetDeviceStatus *r); -WERROR _PNP_SetDeviceProblem(pipes_struct *p, struct PNP_SetDeviceProblem *r); -WERROR _PNP_DisableDevInst(pipes_struct *p, struct PNP_DisableDevInst *r); -WERROR _PNP_UninstallDevInst(pipes_struct *p, struct PNP_UninstallDevInst *r); -WERROR _PNP_AddID(pipes_struct *p, struct PNP_AddID *r); -WERROR _PNP_RegisterDriver(pipes_struct *p, struct PNP_RegisterDriver *r); -WERROR _PNP_QueryRemove(pipes_struct *p, struct PNP_QueryRemove *r); -WERROR _PNP_RequestDeviceEject(pipes_struct *p, struct PNP_RequestDeviceEject *r); -WERROR _PNP_IsDockStationPresent(pipes_struct *p, struct PNP_IsDockStationPresent *r); -WERROR _PNP_RequestEjectPC(pipes_struct *p, struct PNP_RequestEjectPC *r); -WERROR _PNP_HwProfFlags(pipes_struct *p, struct PNP_HwProfFlags *r); -WERROR _PNP_GetHwProfInfo(pipes_struct *p, struct PNP_GetHwProfInfo *r); -WERROR _PNP_AddEmptyLogConf(pipes_struct *p, struct PNP_AddEmptyLogConf *r); -WERROR _PNP_FreeLogConf(pipes_struct *p, struct PNP_FreeLogConf *r); -WERROR _PNP_GetFirstLogConf(pipes_struct *p, struct PNP_GetFirstLogConf *r); -WERROR _PNP_GetNextLogConf(pipes_struct *p, struct PNP_GetNextLogConf *r); -WERROR _PNP_GetLogConfPriority(pipes_struct *p, struct PNP_GetLogConfPriority *r); -WERROR _PNP_AddResDes(pipes_struct *p, struct PNP_AddResDes *r); -WERROR _PNP_FreeResDes(pipes_struct *p, struct PNP_FreeResDes *r); -WERROR _PNP_GetNextResDes(pipes_struct *p, struct PNP_GetNextResDes *r); -WERROR _PNP_GetResDesData(pipes_struct *p, struct PNP_GetResDesData *r); -WERROR _PNP_GetResDesDataSize(pipes_struct *p, struct PNP_GetResDesDataSize *r); -WERROR _PNP_ModifyResDes(pipes_struct *p, struct PNP_ModifyResDes *r); -WERROR _PNP_DetectResourceLimit(pipes_struct *p, struct PNP_DetectResourceLimit *r); -WERROR _PNP_QueryResConfList(pipes_struct *p, struct PNP_QueryResConfList *r); -WERROR _PNP_SetHwProf(pipes_struct *p, struct PNP_SetHwProf *r); -WERROR _PNP_QueryArbitratorFreeData(pipes_struct *p, struct PNP_QueryArbitratorFreeData *r); -WERROR _PNP_QueryArbitratorFreeSize(pipes_struct *p, struct PNP_QueryArbitratorFreeSize *r); -WERROR _PNP_RunDetection(pipes_struct *p, struct PNP_RunDetection *r); -WERROR _PNP_RegisterNotification(pipes_struct *p, struct PNP_RegisterNotification *r); -WERROR _PNP_UnregisterNotification(pipes_struct *p, struct PNP_UnregisterNotification *r); -WERROR _PNP_GetCustomDevProp(pipes_struct *p, struct PNP_GetCustomDevProp *r); -WERROR _PNP_GetVersionInternal(pipes_struct *p, struct PNP_GetVersionInternal *r); -WERROR _PNP_GetBlockedDriverInfo(pipes_struct *p, struct PNP_GetBlockedDriverInfo *r); -WERROR _PNP_GetServerSideDeviceInstallFlags(pipes_struct *p, struct PNP_GetServerSideDeviceInstallFlags *r); -void ntsvcs_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_ntsvcs_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _PNP_Disconnect(pipes_struct *p, struct PNP_Disconnect *r); -WERROR _PNP_Connect(pipes_struct *p, struct PNP_Connect *r); -WERROR _PNP_GetVersion(pipes_struct *p, struct PNP_GetVersion *r); -WERROR _PNP_GetGlobalState(pipes_struct *p, struct PNP_GetGlobalState *r); -WERROR _PNP_InitDetection(pipes_struct *p, struct PNP_InitDetection *r); -WERROR _PNP_ReportLogOn(pipes_struct *p, struct PNP_ReportLogOn *r); -WERROR _PNP_ValidateDeviceInstance(pipes_struct *p, struct PNP_ValidateDeviceInstance *r); -WERROR _PNP_GetRootDeviceInstance(pipes_struct *p, struct PNP_GetRootDeviceInstance *r); -WERROR _PNP_GetRelatedDeviceInstance(pipes_struct *p, struct PNP_GetRelatedDeviceInstance *r); -WERROR _PNP_EnumerateSubKeys(pipes_struct *p, struct PNP_EnumerateSubKeys *r); -WERROR _PNP_GetDeviceList(pipes_struct *p, struct PNP_GetDeviceList *r); -WERROR _PNP_GetDeviceListSize(pipes_struct *p, struct PNP_GetDeviceListSize *r); -WERROR _PNP_GetDepth(pipes_struct *p, struct PNP_GetDepth *r); -WERROR _PNP_GetDeviceRegProp(pipes_struct *p, struct PNP_GetDeviceRegProp *r); -WERROR _PNP_SetDeviceRegProp(pipes_struct *p, struct PNP_SetDeviceRegProp *r); -WERROR _PNP_GetClassInstance(pipes_struct *p, struct PNP_GetClassInstance *r); -WERROR _PNP_CreateKey(pipes_struct *p, struct PNP_CreateKey *r); -WERROR _PNP_DeleteRegistryKey(pipes_struct *p, struct PNP_DeleteRegistryKey *r); -WERROR _PNP_GetClassCount(pipes_struct *p, struct PNP_GetClassCount *r); -WERROR _PNP_GetClassName(pipes_struct *p, struct PNP_GetClassName *r); -WERROR _PNP_DeleteClassKey(pipes_struct *p, struct PNP_DeleteClassKey *r); -WERROR _PNP_GetInterfaceDeviceAlias(pipes_struct *p, struct PNP_GetInterfaceDeviceAlias *r); -WERROR _PNP_GetInterfaceDeviceList(pipes_struct *p, struct PNP_GetInterfaceDeviceList *r); -WERROR _PNP_GetInterfaceDeviceListSize(pipes_struct *p, struct PNP_GetInterfaceDeviceListSize *r); -WERROR _PNP_RegisterDeviceClassAssociation(pipes_struct *p, struct PNP_RegisterDeviceClassAssociation *r); -WERROR _PNP_UnregisterDeviceClassAssociation(pipes_struct *p, struct PNP_UnregisterDeviceClassAssociation *r); -WERROR _PNP_GetClassRegProp(pipes_struct *p, struct PNP_GetClassRegProp *r); -WERROR _PNP_SetClassRegProp(pipes_struct *p, struct PNP_SetClassRegProp *r); -WERROR _PNP_CreateDevInst(pipes_struct *p, struct PNP_CreateDevInst *r); -WERROR _PNP_DeviceInstanceAction(pipes_struct *p, struct PNP_DeviceInstanceAction *r); -WERROR _PNP_GetDeviceStatus(pipes_struct *p, struct PNP_GetDeviceStatus *r); -WERROR _PNP_SetDeviceProblem(pipes_struct *p, struct PNP_SetDeviceProblem *r); -WERROR _PNP_DisableDevInst(pipes_struct *p, struct PNP_DisableDevInst *r); -WERROR _PNP_UninstallDevInst(pipes_struct *p, struct PNP_UninstallDevInst *r); -WERROR _PNP_AddID(pipes_struct *p, struct PNP_AddID *r); -WERROR _PNP_RegisterDriver(pipes_struct *p, struct PNP_RegisterDriver *r); -WERROR _PNP_QueryRemove(pipes_struct *p, struct PNP_QueryRemove *r); -WERROR _PNP_RequestDeviceEject(pipes_struct *p, struct PNP_RequestDeviceEject *r); -WERROR _PNP_IsDockStationPresent(pipes_struct *p, struct PNP_IsDockStationPresent *r); -WERROR _PNP_RequestEjectPC(pipes_struct *p, struct PNP_RequestEjectPC *r); -WERROR _PNP_HwProfFlags(pipes_struct *p, struct PNP_HwProfFlags *r); -WERROR _PNP_GetHwProfInfo(pipes_struct *p, struct PNP_GetHwProfInfo *r); -WERROR _PNP_AddEmptyLogConf(pipes_struct *p, struct PNP_AddEmptyLogConf *r); -WERROR _PNP_FreeLogConf(pipes_struct *p, struct PNP_FreeLogConf *r); -WERROR _PNP_GetFirstLogConf(pipes_struct *p, struct PNP_GetFirstLogConf *r); -WERROR _PNP_GetNextLogConf(pipes_struct *p, struct PNP_GetNextLogConf *r); -WERROR _PNP_GetLogConfPriority(pipes_struct *p, struct PNP_GetLogConfPriority *r); -WERROR _PNP_AddResDes(pipes_struct *p, struct PNP_AddResDes *r); -WERROR _PNP_FreeResDes(pipes_struct *p, struct PNP_FreeResDes *r); -WERROR _PNP_GetNextResDes(pipes_struct *p, struct PNP_GetNextResDes *r); -WERROR _PNP_GetResDesData(pipes_struct *p, struct PNP_GetResDesData *r); -WERROR _PNP_GetResDesDataSize(pipes_struct *p, struct PNP_GetResDesDataSize *r); -WERROR _PNP_ModifyResDes(pipes_struct *p, struct PNP_ModifyResDes *r); -WERROR _PNP_DetectResourceLimit(pipes_struct *p, struct PNP_DetectResourceLimit *r); -WERROR _PNP_QueryResConfList(pipes_struct *p, struct PNP_QueryResConfList *r); -WERROR _PNP_SetHwProf(pipes_struct *p, struct PNP_SetHwProf *r); -WERROR _PNP_QueryArbitratorFreeData(pipes_struct *p, struct PNP_QueryArbitratorFreeData *r); -WERROR _PNP_QueryArbitratorFreeSize(pipes_struct *p, struct PNP_QueryArbitratorFreeSize *r); -WERROR _PNP_RunDetection(pipes_struct *p, struct PNP_RunDetection *r); -WERROR _PNP_RegisterNotification(pipes_struct *p, struct PNP_RegisterNotification *r); -WERROR _PNP_UnregisterNotification(pipes_struct *p, struct PNP_UnregisterNotification *r); -WERROR _PNP_GetCustomDevProp(pipes_struct *p, struct PNP_GetCustomDevProp *r); -WERROR _PNP_GetVersionInternal(pipes_struct *p, struct PNP_GetVersionInternal *r); -WERROR _PNP_GetBlockedDriverInfo(pipes_struct *p, struct PNP_GetBlockedDriverInfo *r); -WERROR _PNP_GetServerSideDeviceInstallFlags(pipes_struct *p, struct PNP_GetServerSideDeviceInstallFlags *r); -NTSTATUS rpc_ntsvcs_init(void); -#endif /* __SRV_NTSVCS__ */ diff --git a/librpc/gen_ndr/srv_samr.c b/librpc/gen_ndr/srv_samr.c deleted file mode 100644 index 3f09441dfc8..00000000000 --- a/librpc/gen_ndr/srv_samr.c +++ /dev/null @@ -1,6267 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_samr.h" - -static bool api_samr_Connect(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Connect *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CONNECT]; - - r = talloc(talloc_tos(), struct samr_Connect); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Connect, r); - } - - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(r, struct policy_handle); - if (r->out.connect_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_Connect(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Connect, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_Close(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Close *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CLOSE]; - - r = talloc(talloc_tos(), struct samr_Close); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Close, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _samr_Close(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Close, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetSecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetSecurity *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETSECURITY]; - - r = talloc(talloc_tos(), struct samr_SetSecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetSecurity, r); - } - - r->out.result = _samr_SetSecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetSecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QuerySecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QuerySecurity *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYSECURITY]; - - r = talloc(talloc_tos(), struct samr_QuerySecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QuerySecurity, r); - } - - ZERO_STRUCT(r->out); - r->out.sdbuf = talloc_zero(r, struct sec_desc_buf *); - if (r->out.sdbuf == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QuerySecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QuerySecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_Shutdown(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Shutdown *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SHUTDOWN]; - - r = talloc(talloc_tos(), struct samr_Shutdown); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Shutdown, r); - } - - r->out.result = _samr_Shutdown(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Shutdown, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_LookupDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_LookupDomain *r; - - call = &ndr_table_samr.calls[NDR_SAMR_LOOKUPDOMAIN]; - - r = talloc(talloc_tos(), struct samr_LookupDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_LookupDomain, r); - } - - ZERO_STRUCT(r->out); - r->out.sid = talloc_zero(r, struct dom_sid2 *); - if (r->out.sid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_LookupDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_LookupDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_EnumDomains(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_EnumDomains *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ENUMDOMAINS]; - - r = talloc(talloc_tos(), struct samr_EnumDomains); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_EnumDomains, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(r, struct samr_SamArray *); - if (r->out.sam == NULL) { - talloc_free(r); - return false; - } - - r->out.num_entries = talloc_zero(r, uint32_t); - if (r->out.num_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_EnumDomains(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_EnumDomains, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_OpenDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_OpenDomain *r; - - call = &ndr_table_samr.calls[NDR_SAMR_OPENDOMAIN]; - - r = talloc(talloc_tos(), struct samr_OpenDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_OpenDomain, r); - } - - ZERO_STRUCT(r->out); - r->out.domain_handle = talloc_zero(r, struct policy_handle); - if (r->out.domain_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_OpenDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_OpenDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryDomainInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryDomainInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYDOMAININFO]; - - r = talloc(talloc_tos(), struct samr_QueryDomainInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryDomainInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union samr_DomainInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryDomainInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryDomainInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetDomainInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetDomainInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETDOMAININFO]; - - r = talloc(talloc_tos(), struct samr_SetDomainInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetDomainInfo, r); - } - - r->out.result = _samr_SetDomainInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetDomainInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_CreateDomainGroup(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_CreateDomainGroup *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CREATEDOMAINGROUP]; - - r = talloc(talloc_tos(), struct samr_CreateDomainGroup); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_CreateDomainGroup, r); - } - - ZERO_STRUCT(r->out); - r->out.group_handle = talloc_zero(r, struct policy_handle); - if (r->out.group_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.rid = talloc_zero(r, uint32_t); - if (r->out.rid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_CreateDomainGroup(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_CreateDomainGroup, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_EnumDomainGroups(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_EnumDomainGroups *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ENUMDOMAINGROUPS]; - - r = talloc(talloc_tos(), struct samr_EnumDomainGroups); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_EnumDomainGroups, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(r, struct samr_SamArray *); - if (r->out.sam == NULL) { - talloc_free(r); - return false; - } - - r->out.num_entries = talloc_zero(r, uint32_t); - if (r->out.num_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_EnumDomainGroups(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_EnumDomainGroups, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_CreateUser(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_CreateUser *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CREATEUSER]; - - r = talloc(talloc_tos(), struct samr_CreateUser); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_CreateUser, r); - } - - ZERO_STRUCT(r->out); - r->out.user_handle = talloc_zero(r, struct policy_handle); - if (r->out.user_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.rid = talloc_zero(r, uint32_t); - if (r->out.rid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_CreateUser(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_CreateUser, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_EnumDomainUsers(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_EnumDomainUsers *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ENUMDOMAINUSERS]; - - r = talloc(talloc_tos(), struct samr_EnumDomainUsers); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_EnumDomainUsers, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(r, struct samr_SamArray *); - if (r->out.sam == NULL) { - talloc_free(r); - return false; - } - - r->out.num_entries = talloc_zero(r, uint32_t); - if (r->out.num_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_EnumDomainUsers(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_EnumDomainUsers, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_CreateDomAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_CreateDomAlias *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CREATEDOMALIAS]; - - r = talloc(talloc_tos(), struct samr_CreateDomAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_CreateDomAlias, r); - } - - ZERO_STRUCT(r->out); - r->out.alias_handle = talloc_zero(r, struct policy_handle); - if (r->out.alias_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.rid = talloc_zero(r, uint32_t); - if (r->out.rid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_CreateDomAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_CreateDomAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_EnumDomainAliases(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_EnumDomainAliases *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ENUMDOMAINALIASES]; - - r = talloc(talloc_tos(), struct samr_EnumDomainAliases); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_EnumDomainAliases, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(r, struct samr_SamArray *); - if (r->out.sam == NULL) { - talloc_free(r); - return false; - } - - r->out.num_entries = talloc_zero(r, uint32_t); - if (r->out.num_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_EnumDomainAliases(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_EnumDomainAliases, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetAliasMembership(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetAliasMembership *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETALIASMEMBERSHIP]; - - r = talloc(talloc_tos(), struct samr_GetAliasMembership); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetAliasMembership, r); - } - - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(r, struct samr_Ids); - if (r->out.rids == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetAliasMembership(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetAliasMembership, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_LookupNames(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_LookupNames *r; - - call = &ndr_table_samr.calls[NDR_SAMR_LOOKUPNAMES]; - - r = talloc(talloc_tos(), struct samr_LookupNames); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_LookupNames, r); - } - - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(r, struct samr_Ids); - if (r->out.rids == NULL) { - talloc_free(r); - return false; - } - - r->out.types = talloc_zero(r, struct samr_Ids); - if (r->out.types == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_LookupNames(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_LookupNames, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_LookupRids(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_LookupRids *r; - - call = &ndr_table_samr.calls[NDR_SAMR_LOOKUPRIDS]; - - r = talloc(talloc_tos(), struct samr_LookupRids); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_LookupRids, r); - } - - ZERO_STRUCT(r->out); - r->out.names = talloc_zero(r, struct lsa_Strings); - if (r->out.names == NULL) { - talloc_free(r); - return false; - } - - r->out.types = talloc_zero(r, struct samr_Ids); - if (r->out.types == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_LookupRids(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_LookupRids, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_OpenGroup(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_OpenGroup *r; - - call = &ndr_table_samr.calls[NDR_SAMR_OPENGROUP]; - - r = talloc(talloc_tos(), struct samr_OpenGroup); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_OpenGroup, r); - } - - ZERO_STRUCT(r->out); - r->out.group_handle = talloc_zero(r, struct policy_handle); - if (r->out.group_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_OpenGroup(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_OpenGroup, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryGroupInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryGroupInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYGROUPINFO]; - - r = talloc(talloc_tos(), struct samr_QueryGroupInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryGroupInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union samr_GroupInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryGroupInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryGroupInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetGroupInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetGroupInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETGROUPINFO]; - - r = talloc(talloc_tos(), struct samr_SetGroupInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetGroupInfo, r); - } - - r->out.result = _samr_SetGroupInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetGroupInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_AddGroupMember(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_AddGroupMember *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ADDGROUPMEMBER]; - - r = talloc(talloc_tos(), struct samr_AddGroupMember); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_AddGroupMember, r); - } - - r->out.result = _samr_AddGroupMember(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_AddGroupMember, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_DeleteDomainGroup(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_DeleteDomainGroup *r; - - call = &ndr_table_samr.calls[NDR_SAMR_DELETEDOMAINGROUP]; - - r = talloc(talloc_tos(), struct samr_DeleteDomainGroup); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_DeleteDomainGroup, r); - } - - ZERO_STRUCT(r->out); - r->out.group_handle = r->in.group_handle; - r->out.result = _samr_DeleteDomainGroup(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_DeleteDomainGroup, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_DeleteGroupMember(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_DeleteGroupMember *r; - - call = &ndr_table_samr.calls[NDR_SAMR_DELETEGROUPMEMBER]; - - r = talloc(talloc_tos(), struct samr_DeleteGroupMember); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_DeleteGroupMember, r); - } - - r->out.result = _samr_DeleteGroupMember(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_DeleteGroupMember, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryGroupMember(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryGroupMember *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYGROUPMEMBER]; - - r = talloc(talloc_tos(), struct samr_QueryGroupMember); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryGroupMember, r); - } - - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(r, struct samr_RidTypeArray *); - if (r->out.rids == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryGroupMember(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryGroupMember, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetMemberAttributesOfGroup(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetMemberAttributesOfGroup *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP]; - - r = talloc(talloc_tos(), struct samr_SetMemberAttributesOfGroup); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetMemberAttributesOfGroup, r); - } - - r->out.result = _samr_SetMemberAttributesOfGroup(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetMemberAttributesOfGroup, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_OpenAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_OpenAlias *r; - - call = &ndr_table_samr.calls[NDR_SAMR_OPENALIAS]; - - r = talloc(talloc_tos(), struct samr_OpenAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_OpenAlias, r); - } - - ZERO_STRUCT(r->out); - r->out.alias_handle = talloc_zero(r, struct policy_handle); - if (r->out.alias_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_OpenAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_OpenAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryAliasInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryAliasInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYALIASINFO]; - - r = talloc(talloc_tos(), struct samr_QueryAliasInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryAliasInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union samr_AliasInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryAliasInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryAliasInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetAliasInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetAliasInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETALIASINFO]; - - r = talloc(talloc_tos(), struct samr_SetAliasInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetAliasInfo, r); - } - - r->out.result = _samr_SetAliasInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetAliasInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_DeleteDomAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_DeleteDomAlias *r; - - call = &ndr_table_samr.calls[NDR_SAMR_DELETEDOMALIAS]; - - r = talloc(talloc_tos(), struct samr_DeleteDomAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_DeleteDomAlias, r); - } - - ZERO_STRUCT(r->out); - r->out.alias_handle = r->in.alias_handle; - r->out.result = _samr_DeleteDomAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_DeleteDomAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_AddAliasMember(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_AddAliasMember *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ADDALIASMEMBER]; - - r = talloc(talloc_tos(), struct samr_AddAliasMember); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_AddAliasMember, r); - } - - r->out.result = _samr_AddAliasMember(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_AddAliasMember, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_DeleteAliasMember(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_DeleteAliasMember *r; - - call = &ndr_table_samr.calls[NDR_SAMR_DELETEALIASMEMBER]; - - r = talloc(talloc_tos(), struct samr_DeleteAliasMember); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_DeleteAliasMember, r); - } - - r->out.result = _samr_DeleteAliasMember(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_DeleteAliasMember, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetMembersInAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetMembersInAlias *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETMEMBERSINALIAS]; - - r = talloc(talloc_tos(), struct samr_GetMembersInAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetMembersInAlias, r); - } - - ZERO_STRUCT(r->out); - r->out.sids = talloc_zero(r, struct lsa_SidArray); - if (r->out.sids == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetMembersInAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetMembersInAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_OpenUser(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_OpenUser *r; - - call = &ndr_table_samr.calls[NDR_SAMR_OPENUSER]; - - r = talloc(talloc_tos(), struct samr_OpenUser); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_OpenUser, r); - } - - ZERO_STRUCT(r->out); - r->out.user_handle = talloc_zero(r, struct policy_handle); - if (r->out.user_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_OpenUser(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_OpenUser, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_DeleteUser(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_DeleteUser *r; - - call = &ndr_table_samr.calls[NDR_SAMR_DELETEUSER]; - - r = talloc(talloc_tos(), struct samr_DeleteUser); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_DeleteUser, r); - } - - ZERO_STRUCT(r->out); - r->out.user_handle = r->in.user_handle; - r->out.result = _samr_DeleteUser(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_DeleteUser, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryUserInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryUserInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYUSERINFO]; - - r = talloc(talloc_tos(), struct samr_QueryUserInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryUserInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union samr_UserInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryUserInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryUserInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetUserInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetUserInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETUSERINFO]; - - r = talloc(talloc_tos(), struct samr_SetUserInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetUserInfo, r); - } - - r->out.result = _samr_SetUserInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetUserInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_ChangePasswordUser(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_ChangePasswordUser *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CHANGEPASSWORDUSER]; - - r = talloc(talloc_tos(), struct samr_ChangePasswordUser); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_ChangePasswordUser, r); - } - - r->out.result = _samr_ChangePasswordUser(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_ChangePasswordUser, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetGroupsForUser(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetGroupsForUser *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETGROUPSFORUSER]; - - r = talloc(talloc_tos(), struct samr_GetGroupsForUser); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetGroupsForUser, r); - } - - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(r, struct samr_RidWithAttributeArray *); - if (r->out.rids == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetGroupsForUser(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetGroupsForUser, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryDisplayInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryDisplayInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYDISPLAYINFO]; - - r = talloc(talloc_tos(), struct samr_QueryDisplayInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryDisplayInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.total_size = talloc_zero(r, uint32_t); - if (r->out.total_size == NULL) { - talloc_free(r); - return false; - } - - r->out.returned_size = talloc_zero(r, uint32_t); - if (r->out.returned_size == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union samr_DispInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryDisplayInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryDisplayInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetDisplayEnumerationIndex(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetDisplayEnumerationIndex *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETDISPLAYENUMERATIONINDEX]; - - r = talloc(talloc_tos(), struct samr_GetDisplayEnumerationIndex); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetDisplayEnumerationIndex, r); - } - - ZERO_STRUCT(r->out); - r->out.idx = talloc_zero(r, uint32_t); - if (r->out.idx == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetDisplayEnumerationIndex(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetDisplayEnumerationIndex, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_TestPrivateFunctionsDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_TestPrivateFunctionsDomain *r; - - call = &ndr_table_samr.calls[NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN]; - - r = talloc(talloc_tos(), struct samr_TestPrivateFunctionsDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_TestPrivateFunctionsDomain, r); - } - - r->out.result = _samr_TestPrivateFunctionsDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_TestPrivateFunctionsDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_TestPrivateFunctionsUser(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_TestPrivateFunctionsUser *r; - - call = &ndr_table_samr.calls[NDR_SAMR_TESTPRIVATEFUNCTIONSUSER]; - - r = talloc(talloc_tos(), struct samr_TestPrivateFunctionsUser); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_TestPrivateFunctionsUser, r); - } - - r->out.result = _samr_TestPrivateFunctionsUser(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_TestPrivateFunctionsUser, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetUserPwInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetUserPwInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETUSERPWINFO]; - - r = talloc(talloc_tos(), struct samr_GetUserPwInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetUserPwInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct samr_PwInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetUserPwInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetUserPwInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_RemoveMemberFromForeignDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_RemoveMemberFromForeignDomain *r; - - call = &ndr_table_samr.calls[NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN]; - - r = talloc(talloc_tos(), struct samr_RemoveMemberFromForeignDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_RemoveMemberFromForeignDomain, r); - } - - r->out.result = _samr_RemoveMemberFromForeignDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_RemoveMemberFromForeignDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryDomainInfo2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryDomainInfo2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYDOMAININFO2]; - - r = talloc(talloc_tos(), struct samr_QueryDomainInfo2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryDomainInfo2, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union samr_DomainInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryDomainInfo2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryDomainInfo2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryUserInfo2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryUserInfo2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYUSERINFO2]; - - r = talloc(talloc_tos(), struct samr_QueryUserInfo2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryUserInfo2, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union samr_UserInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryUserInfo2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryUserInfo2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryDisplayInfo2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryDisplayInfo2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYDISPLAYINFO2]; - - r = talloc(talloc_tos(), struct samr_QueryDisplayInfo2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryDisplayInfo2, r); - } - - ZERO_STRUCT(r->out); - r->out.total_size = talloc_zero(r, uint32_t); - if (r->out.total_size == NULL) { - talloc_free(r); - return false; - } - - r->out.returned_size = talloc_zero(r, uint32_t); - if (r->out.returned_size == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union samr_DispInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryDisplayInfo2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryDisplayInfo2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetDisplayEnumerationIndex2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetDisplayEnumerationIndex2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETDISPLAYENUMERATIONINDEX2]; - - r = talloc(talloc_tos(), struct samr_GetDisplayEnumerationIndex2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetDisplayEnumerationIndex2, r); - } - - ZERO_STRUCT(r->out); - r->out.idx = talloc_zero(r, uint32_t); - if (r->out.idx == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetDisplayEnumerationIndex2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetDisplayEnumerationIndex2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_CreateUser2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_CreateUser2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CREATEUSER2]; - - r = talloc(talloc_tos(), struct samr_CreateUser2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_CreateUser2, r); - } - - ZERO_STRUCT(r->out); - r->out.user_handle = talloc_zero(r, struct policy_handle); - if (r->out.user_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.access_granted = talloc_zero(r, uint32_t); - if (r->out.access_granted == NULL) { - talloc_free(r); - return false; - } - - r->out.rid = talloc_zero(r, uint32_t); - if (r->out.rid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_CreateUser2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_CreateUser2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_QueryDisplayInfo3(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_QueryDisplayInfo3 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_QUERYDISPLAYINFO3]; - - r = talloc(talloc_tos(), struct samr_QueryDisplayInfo3); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_QueryDisplayInfo3, r); - } - - ZERO_STRUCT(r->out); - r->out.total_size = talloc_zero(r, uint32_t); - if (r->out.total_size == NULL) { - talloc_free(r); - return false; - } - - r->out.returned_size = talloc_zero(r, uint32_t); - if (r->out.returned_size == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union samr_DispInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_QueryDisplayInfo3(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_QueryDisplayInfo3, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_AddMultipleMembersToAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_AddMultipleMembersToAlias *r; - - call = &ndr_table_samr.calls[NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS]; - - r = talloc(talloc_tos(), struct samr_AddMultipleMembersToAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_AddMultipleMembersToAlias, r); - } - - r->out.result = _samr_AddMultipleMembersToAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_AddMultipleMembersToAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_RemoveMultipleMembersFromAlias(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_RemoveMultipleMembersFromAlias *r; - - call = &ndr_table_samr.calls[NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS]; - - r = talloc(talloc_tos(), struct samr_RemoveMultipleMembersFromAlias); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_RemoveMultipleMembersFromAlias, r); - } - - r->out.result = _samr_RemoveMultipleMembersFromAlias(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_RemoveMultipleMembersFromAlias, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_OemChangePasswordUser2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_OemChangePasswordUser2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_OEMCHANGEPASSWORDUSER2]; - - r = talloc(talloc_tos(), struct samr_OemChangePasswordUser2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_OemChangePasswordUser2, r); - } - - r->out.result = _samr_OemChangePasswordUser2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_OemChangePasswordUser2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_ChangePasswordUser2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_ChangePasswordUser2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CHANGEPASSWORDUSER2]; - - r = talloc(talloc_tos(), struct samr_ChangePasswordUser2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_ChangePasswordUser2, r); - } - - r->out.result = _samr_ChangePasswordUser2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_ChangePasswordUser2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetDomPwInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetDomPwInfo *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETDOMPWINFO]; - - r = talloc(talloc_tos(), struct samr_GetDomPwInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetDomPwInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct samr_PwInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetDomPwInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetDomPwInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_Connect2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Connect2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CONNECT2]; - - r = talloc(talloc_tos(), struct samr_Connect2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Connect2, r); - } - - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(r, struct policy_handle); - if (r->out.connect_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_Connect2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Connect2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetUserInfo2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetUserInfo2 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETUSERINFO2]; - - r = talloc(talloc_tos(), struct samr_SetUserInfo2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetUserInfo2, r); - } - - r->out.result = _samr_SetUserInfo2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetUserInfo2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetBootKeyInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetBootKeyInformation *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETBOOTKEYINFORMATION]; - - r = talloc(talloc_tos(), struct samr_SetBootKeyInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetBootKeyInformation, r); - } - - r->out.result = _samr_SetBootKeyInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetBootKeyInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_GetBootKeyInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_GetBootKeyInformation *r; - - call = &ndr_table_samr.calls[NDR_SAMR_GETBOOTKEYINFORMATION]; - - r = talloc(talloc_tos(), struct samr_GetBootKeyInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_GetBootKeyInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.unknown = talloc_zero(r, uint32_t); - if (r->out.unknown == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_GetBootKeyInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_GetBootKeyInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_Connect3(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Connect3 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CONNECT3]; - - r = talloc(talloc_tos(), struct samr_Connect3); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Connect3, r); - } - - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(r, struct policy_handle); - if (r->out.connect_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_Connect3(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Connect3, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_Connect4(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Connect4 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CONNECT4]; - - r = talloc(talloc_tos(), struct samr_Connect4); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Connect4, r); - } - - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(r, struct policy_handle); - if (r->out.connect_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_Connect4(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Connect4, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_ChangePasswordUser3(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_ChangePasswordUser3 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CHANGEPASSWORDUSER3]; - - r = talloc(talloc_tos(), struct samr_ChangePasswordUser3); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_ChangePasswordUser3, r); - } - - ZERO_STRUCT(r->out); - r->out.dominfo = talloc_zero(r, struct samr_DomInfo1 *); - if (r->out.dominfo == NULL) { - talloc_free(r); - return false; - } - - r->out.reject = talloc_zero(r, struct userPwdChangeFailureInformation *); - if (r->out.reject == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_ChangePasswordUser3(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_ChangePasswordUser3, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_Connect5(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_Connect5 *r; - - call = &ndr_table_samr.calls[NDR_SAMR_CONNECT5]; - - r = talloc(talloc_tos(), struct samr_Connect5); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_Connect5, r); - } - - ZERO_STRUCT(r->out); - r->out.level_out = talloc_zero(r, uint32_t); - if (r->out.level_out == NULL) { - talloc_free(r); - return false; - } - - r->out.info_out = talloc_zero(r, union samr_ConnectInfo); - if (r->out.info_out == NULL) { - talloc_free(r); - return false; - } - - r->out.connect_handle = talloc_zero(r, struct policy_handle); - if (r->out.connect_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_Connect5(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_Connect5, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_RidToSid(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_RidToSid *r; - - call = &ndr_table_samr.calls[NDR_SAMR_RIDTOSID]; - - r = talloc(talloc_tos(), struct samr_RidToSid); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_RidToSid, r); - } - - ZERO_STRUCT(r->out); - r->out.sid = talloc_zero(r, struct dom_sid2 *); - if (r->out.sid == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_RidToSid(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_RidToSid, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_SetDsrmPassword(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_SetDsrmPassword *r; - - call = &ndr_table_samr.calls[NDR_SAMR_SETDSRMPASSWORD]; - - r = talloc(talloc_tos(), struct samr_SetDsrmPassword); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_SetDsrmPassword, r); - } - - r->out.result = _samr_SetDsrmPassword(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_SetDsrmPassword, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_samr_ValidatePassword(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct samr_ValidatePassword *r; - - call = &ndr_table_samr.calls[NDR_SAMR_VALIDATEPASSWORD]; - - r = talloc(talloc_tos(), struct samr_ValidatePassword); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(samr_ValidatePassword, r); - } - - ZERO_STRUCT(r->out); - r->out.rep = talloc_zero(r, union samr_ValidatePasswordRep *); - if (r->out.rep == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _samr_ValidatePassword(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(samr_ValidatePassword, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_samr_cmds[] = -{ - {"SAMR_CONNECT", NDR_SAMR_CONNECT, api_samr_Connect}, - {"SAMR_CLOSE", NDR_SAMR_CLOSE, api_samr_Close}, - {"SAMR_SETSECURITY", NDR_SAMR_SETSECURITY, api_samr_SetSecurity}, - {"SAMR_QUERYSECURITY", NDR_SAMR_QUERYSECURITY, api_samr_QuerySecurity}, - {"SAMR_SHUTDOWN", NDR_SAMR_SHUTDOWN, api_samr_Shutdown}, - {"SAMR_LOOKUPDOMAIN", NDR_SAMR_LOOKUPDOMAIN, api_samr_LookupDomain}, - {"SAMR_ENUMDOMAINS", NDR_SAMR_ENUMDOMAINS, api_samr_EnumDomains}, - {"SAMR_OPENDOMAIN", NDR_SAMR_OPENDOMAIN, api_samr_OpenDomain}, - {"SAMR_QUERYDOMAININFO", NDR_SAMR_QUERYDOMAININFO, api_samr_QueryDomainInfo}, - {"SAMR_SETDOMAININFO", NDR_SAMR_SETDOMAININFO, api_samr_SetDomainInfo}, - {"SAMR_CREATEDOMAINGROUP", NDR_SAMR_CREATEDOMAINGROUP, api_samr_CreateDomainGroup}, - {"SAMR_ENUMDOMAINGROUPS", NDR_SAMR_ENUMDOMAINGROUPS, api_samr_EnumDomainGroups}, - {"SAMR_CREATEUSER", NDR_SAMR_CREATEUSER, api_samr_CreateUser}, - {"SAMR_ENUMDOMAINUSERS", NDR_SAMR_ENUMDOMAINUSERS, api_samr_EnumDomainUsers}, - {"SAMR_CREATEDOMALIAS", NDR_SAMR_CREATEDOMALIAS, api_samr_CreateDomAlias}, - {"SAMR_ENUMDOMAINALIASES", NDR_SAMR_ENUMDOMAINALIASES, api_samr_EnumDomainAliases}, - {"SAMR_GETALIASMEMBERSHIP", NDR_SAMR_GETALIASMEMBERSHIP, api_samr_GetAliasMembership}, - {"SAMR_LOOKUPNAMES", NDR_SAMR_LOOKUPNAMES, api_samr_LookupNames}, - {"SAMR_LOOKUPRIDS", NDR_SAMR_LOOKUPRIDS, api_samr_LookupRids}, - {"SAMR_OPENGROUP", NDR_SAMR_OPENGROUP, api_samr_OpenGroup}, - {"SAMR_QUERYGROUPINFO", NDR_SAMR_QUERYGROUPINFO, api_samr_QueryGroupInfo}, - {"SAMR_SETGROUPINFO", NDR_SAMR_SETGROUPINFO, api_samr_SetGroupInfo}, - {"SAMR_ADDGROUPMEMBER", NDR_SAMR_ADDGROUPMEMBER, api_samr_AddGroupMember}, - {"SAMR_DELETEDOMAINGROUP", NDR_SAMR_DELETEDOMAINGROUP, api_samr_DeleteDomainGroup}, - {"SAMR_DELETEGROUPMEMBER", NDR_SAMR_DELETEGROUPMEMBER, api_samr_DeleteGroupMember}, - {"SAMR_QUERYGROUPMEMBER", NDR_SAMR_QUERYGROUPMEMBER, api_samr_QueryGroupMember}, - {"SAMR_SETMEMBERATTRIBUTESOFGROUP", NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP, api_samr_SetMemberAttributesOfGroup}, - {"SAMR_OPENALIAS", NDR_SAMR_OPENALIAS, api_samr_OpenAlias}, - {"SAMR_QUERYALIASINFO", NDR_SAMR_QUERYALIASINFO, api_samr_QueryAliasInfo}, - {"SAMR_SETALIASINFO", NDR_SAMR_SETALIASINFO, api_samr_SetAliasInfo}, - {"SAMR_DELETEDOMALIAS", NDR_SAMR_DELETEDOMALIAS, api_samr_DeleteDomAlias}, - {"SAMR_ADDALIASMEMBER", NDR_SAMR_ADDALIASMEMBER, api_samr_AddAliasMember}, - {"SAMR_DELETEALIASMEMBER", NDR_SAMR_DELETEALIASMEMBER, api_samr_DeleteAliasMember}, - {"SAMR_GETMEMBERSINALIAS", NDR_SAMR_GETMEMBERSINALIAS, api_samr_GetMembersInAlias}, - {"SAMR_OPENUSER", NDR_SAMR_OPENUSER, api_samr_OpenUser}, - {"SAMR_DELETEUSER", NDR_SAMR_DELETEUSER, api_samr_DeleteUser}, - {"SAMR_QUERYUSERINFO", NDR_SAMR_QUERYUSERINFO, api_samr_QueryUserInfo}, - {"SAMR_SETUSERINFO", NDR_SAMR_SETUSERINFO, api_samr_SetUserInfo}, - {"SAMR_CHANGEPASSWORDUSER", NDR_SAMR_CHANGEPASSWORDUSER, api_samr_ChangePasswordUser}, - {"SAMR_GETGROUPSFORUSER", NDR_SAMR_GETGROUPSFORUSER, api_samr_GetGroupsForUser}, - {"SAMR_QUERYDISPLAYINFO", NDR_SAMR_QUERYDISPLAYINFO, api_samr_QueryDisplayInfo}, - {"SAMR_GETDISPLAYENUMERATIONINDEX", NDR_SAMR_GETDISPLAYENUMERATIONINDEX, api_samr_GetDisplayEnumerationIndex}, - {"SAMR_TESTPRIVATEFUNCTIONSDOMAIN", NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN, api_samr_TestPrivateFunctionsDomain}, - {"SAMR_TESTPRIVATEFUNCTIONSUSER", NDR_SAMR_TESTPRIVATEFUNCTIONSUSER, api_samr_TestPrivateFunctionsUser}, - {"SAMR_GETUSERPWINFO", NDR_SAMR_GETUSERPWINFO, api_samr_GetUserPwInfo}, - {"SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN", NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN, api_samr_RemoveMemberFromForeignDomain}, - {"SAMR_QUERYDOMAININFO2", NDR_SAMR_QUERYDOMAININFO2, api_samr_QueryDomainInfo2}, - {"SAMR_QUERYUSERINFO2", NDR_SAMR_QUERYUSERINFO2, api_samr_QueryUserInfo2}, - {"SAMR_QUERYDISPLAYINFO2", NDR_SAMR_QUERYDISPLAYINFO2, api_samr_QueryDisplayInfo2}, - {"SAMR_GETDISPLAYENUMERATIONINDEX2", NDR_SAMR_GETDISPLAYENUMERATIONINDEX2, api_samr_GetDisplayEnumerationIndex2}, - {"SAMR_CREATEUSER2", NDR_SAMR_CREATEUSER2, api_samr_CreateUser2}, - {"SAMR_QUERYDISPLAYINFO3", NDR_SAMR_QUERYDISPLAYINFO3, api_samr_QueryDisplayInfo3}, - {"SAMR_ADDMULTIPLEMEMBERSTOALIAS", NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS, api_samr_AddMultipleMembersToAlias}, - {"SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS", NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS, api_samr_RemoveMultipleMembersFromAlias}, - {"SAMR_OEMCHANGEPASSWORDUSER2", NDR_SAMR_OEMCHANGEPASSWORDUSER2, api_samr_OemChangePasswordUser2}, - {"SAMR_CHANGEPASSWORDUSER2", NDR_SAMR_CHANGEPASSWORDUSER2, api_samr_ChangePasswordUser2}, - {"SAMR_GETDOMPWINFO", NDR_SAMR_GETDOMPWINFO, api_samr_GetDomPwInfo}, - {"SAMR_CONNECT2", NDR_SAMR_CONNECT2, api_samr_Connect2}, - {"SAMR_SETUSERINFO2", NDR_SAMR_SETUSERINFO2, api_samr_SetUserInfo2}, - {"SAMR_SETBOOTKEYINFORMATION", NDR_SAMR_SETBOOTKEYINFORMATION, api_samr_SetBootKeyInformation}, - {"SAMR_GETBOOTKEYINFORMATION", NDR_SAMR_GETBOOTKEYINFORMATION, api_samr_GetBootKeyInformation}, - {"SAMR_CONNECT3", NDR_SAMR_CONNECT3, api_samr_Connect3}, - {"SAMR_CONNECT4", NDR_SAMR_CONNECT4, api_samr_Connect4}, - {"SAMR_CHANGEPASSWORDUSER3", NDR_SAMR_CHANGEPASSWORDUSER3, api_samr_ChangePasswordUser3}, - {"SAMR_CONNECT5", NDR_SAMR_CONNECT5, api_samr_Connect5}, - {"SAMR_RIDTOSID", NDR_SAMR_RIDTOSID, api_samr_RidToSid}, - {"SAMR_SETDSRMPASSWORD", NDR_SAMR_SETDSRMPASSWORD, api_samr_SetDsrmPassword}, - {"SAMR_VALIDATEPASSWORD", NDR_SAMR_VALIDATEPASSWORD, api_samr_ValidatePassword}, -}; - -void samr_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_samr_cmds; - *n_fns = sizeof(api_samr_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_samr_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_SAMR_CONNECT: { - struct samr_Connect *r = (struct samr_Connect *)_r; - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.connect_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_Connect(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CLOSE: { - struct samr_Close *r = (struct samr_Close *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _samr_Close(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETSECURITY: { - struct samr_SetSecurity *r = (struct samr_SetSecurity *)_r; - r->out.result = _samr_SetSecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYSECURITY: { - struct samr_QuerySecurity *r = (struct samr_QuerySecurity *)_r; - ZERO_STRUCT(r->out); - r->out.sdbuf = talloc_zero(mem_ctx, struct sec_desc_buf *); - if (r->out.sdbuf == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QuerySecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SHUTDOWN: { - struct samr_Shutdown *r = (struct samr_Shutdown *)_r; - r->out.result = _samr_Shutdown(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_LOOKUPDOMAIN: { - struct samr_LookupDomain *r = (struct samr_LookupDomain *)_r; - ZERO_STRUCT(r->out); - r->out.sid = talloc_zero(mem_ctx, struct dom_sid2 *); - if (r->out.sid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_LookupDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ENUMDOMAINS: { - struct samr_EnumDomains *r = (struct samr_EnumDomains *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(mem_ctx, struct samr_SamArray *); - if (r->out.sam == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.num_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_EnumDomains(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_OPENDOMAIN: { - struct samr_OpenDomain *r = (struct samr_OpenDomain *)_r; - ZERO_STRUCT(r->out); - r->out.domain_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.domain_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_OpenDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYDOMAININFO: { - struct samr_QueryDomainInfo *r = (struct samr_QueryDomainInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union samr_DomainInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryDomainInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETDOMAININFO: { - struct samr_SetDomainInfo *r = (struct samr_SetDomainInfo *)_r; - r->out.result = _samr_SetDomainInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CREATEDOMAINGROUP: { - struct samr_CreateDomainGroup *r = (struct samr_CreateDomainGroup *)_r; - ZERO_STRUCT(r->out); - r->out.group_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.group_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.rid = talloc_zero(mem_ctx, uint32_t); - if (r->out.rid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_CreateDomainGroup(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ENUMDOMAINGROUPS: { - struct samr_EnumDomainGroups *r = (struct samr_EnumDomainGroups *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(mem_ctx, struct samr_SamArray *); - if (r->out.sam == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.num_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_EnumDomainGroups(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CREATEUSER: { - struct samr_CreateUser *r = (struct samr_CreateUser *)_r; - ZERO_STRUCT(r->out); - r->out.user_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.user_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.rid = talloc_zero(mem_ctx, uint32_t); - if (r->out.rid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_CreateUser(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ENUMDOMAINUSERS: { - struct samr_EnumDomainUsers *r = (struct samr_EnumDomainUsers *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(mem_ctx, struct samr_SamArray *); - if (r->out.sam == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.num_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_EnumDomainUsers(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CREATEDOMALIAS: { - struct samr_CreateDomAlias *r = (struct samr_CreateDomAlias *)_r; - ZERO_STRUCT(r->out); - r->out.alias_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.alias_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.rid = talloc_zero(mem_ctx, uint32_t); - if (r->out.rid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_CreateDomAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ENUMDOMAINALIASES: { - struct samr_EnumDomainAliases *r = (struct samr_EnumDomainAliases *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.sam = talloc_zero(mem_ctx, struct samr_SamArray *); - if (r->out.sam == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.num_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_EnumDomainAliases(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETALIASMEMBERSHIP: { - struct samr_GetAliasMembership *r = (struct samr_GetAliasMembership *)_r; - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(mem_ctx, struct samr_Ids); - if (r->out.rids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetAliasMembership(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_LOOKUPNAMES: { - struct samr_LookupNames *r = (struct samr_LookupNames *)_r; - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(mem_ctx, struct samr_Ids); - if (r->out.rids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.types = talloc_zero(mem_ctx, struct samr_Ids); - if (r->out.types == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_LookupNames(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_LOOKUPRIDS: { - struct samr_LookupRids *r = (struct samr_LookupRids *)_r; - ZERO_STRUCT(r->out); - r->out.names = talloc_zero(mem_ctx, struct lsa_Strings); - if (r->out.names == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.types = talloc_zero(mem_ctx, struct samr_Ids); - if (r->out.types == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_LookupRids(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_OPENGROUP: { - struct samr_OpenGroup *r = (struct samr_OpenGroup *)_r; - ZERO_STRUCT(r->out); - r->out.group_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.group_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_OpenGroup(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYGROUPINFO: { - struct samr_QueryGroupInfo *r = (struct samr_QueryGroupInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union samr_GroupInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryGroupInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETGROUPINFO: { - struct samr_SetGroupInfo *r = (struct samr_SetGroupInfo *)_r; - r->out.result = _samr_SetGroupInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ADDGROUPMEMBER: { - struct samr_AddGroupMember *r = (struct samr_AddGroupMember *)_r; - r->out.result = _samr_AddGroupMember(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_DELETEDOMAINGROUP: { - struct samr_DeleteDomainGroup *r = (struct samr_DeleteDomainGroup *)_r; - ZERO_STRUCT(r->out); - r->out.group_handle = r->in.group_handle; - r->out.result = _samr_DeleteDomainGroup(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_DELETEGROUPMEMBER: { - struct samr_DeleteGroupMember *r = (struct samr_DeleteGroupMember *)_r; - r->out.result = _samr_DeleteGroupMember(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYGROUPMEMBER: { - struct samr_QueryGroupMember *r = (struct samr_QueryGroupMember *)_r; - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(mem_ctx, struct samr_RidTypeArray *); - if (r->out.rids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryGroupMember(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETMEMBERATTRIBUTESOFGROUP: { - struct samr_SetMemberAttributesOfGroup *r = (struct samr_SetMemberAttributesOfGroup *)_r; - r->out.result = _samr_SetMemberAttributesOfGroup(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_OPENALIAS: { - struct samr_OpenAlias *r = (struct samr_OpenAlias *)_r; - ZERO_STRUCT(r->out); - r->out.alias_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.alias_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_OpenAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYALIASINFO: { - struct samr_QueryAliasInfo *r = (struct samr_QueryAliasInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union samr_AliasInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryAliasInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETALIASINFO: { - struct samr_SetAliasInfo *r = (struct samr_SetAliasInfo *)_r; - r->out.result = _samr_SetAliasInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_DELETEDOMALIAS: { - struct samr_DeleteDomAlias *r = (struct samr_DeleteDomAlias *)_r; - ZERO_STRUCT(r->out); - r->out.alias_handle = r->in.alias_handle; - r->out.result = _samr_DeleteDomAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ADDALIASMEMBER: { - struct samr_AddAliasMember *r = (struct samr_AddAliasMember *)_r; - r->out.result = _samr_AddAliasMember(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_DELETEALIASMEMBER: { - struct samr_DeleteAliasMember *r = (struct samr_DeleteAliasMember *)_r; - r->out.result = _samr_DeleteAliasMember(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETMEMBERSINALIAS: { - struct samr_GetMembersInAlias *r = (struct samr_GetMembersInAlias *)_r; - ZERO_STRUCT(r->out); - r->out.sids = talloc_zero(mem_ctx, struct lsa_SidArray); - if (r->out.sids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetMembersInAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_OPENUSER: { - struct samr_OpenUser *r = (struct samr_OpenUser *)_r; - ZERO_STRUCT(r->out); - r->out.user_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.user_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_OpenUser(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_DELETEUSER: { - struct samr_DeleteUser *r = (struct samr_DeleteUser *)_r; - ZERO_STRUCT(r->out); - r->out.user_handle = r->in.user_handle; - r->out.result = _samr_DeleteUser(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYUSERINFO: { - struct samr_QueryUserInfo *r = (struct samr_QueryUserInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union samr_UserInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryUserInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETUSERINFO: { - struct samr_SetUserInfo *r = (struct samr_SetUserInfo *)_r; - r->out.result = _samr_SetUserInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CHANGEPASSWORDUSER: { - struct samr_ChangePasswordUser *r = (struct samr_ChangePasswordUser *)_r; - r->out.result = _samr_ChangePasswordUser(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETGROUPSFORUSER: { - struct samr_GetGroupsForUser *r = (struct samr_GetGroupsForUser *)_r; - ZERO_STRUCT(r->out); - r->out.rids = talloc_zero(mem_ctx, struct samr_RidWithAttributeArray *); - if (r->out.rids == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetGroupsForUser(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYDISPLAYINFO: { - struct samr_QueryDisplayInfo *r = (struct samr_QueryDisplayInfo *)_r; - ZERO_STRUCT(r->out); - r->out.total_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.total_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.returned_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.returned_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union samr_DispInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryDisplayInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETDISPLAYENUMERATIONINDEX: { - struct samr_GetDisplayEnumerationIndex *r = (struct samr_GetDisplayEnumerationIndex *)_r; - ZERO_STRUCT(r->out); - r->out.idx = talloc_zero(mem_ctx, uint32_t); - if (r->out.idx == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetDisplayEnumerationIndex(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_TESTPRIVATEFUNCTIONSDOMAIN: { - struct samr_TestPrivateFunctionsDomain *r = (struct samr_TestPrivateFunctionsDomain *)_r; - r->out.result = _samr_TestPrivateFunctionsDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_TESTPRIVATEFUNCTIONSUSER: { - struct samr_TestPrivateFunctionsUser *r = (struct samr_TestPrivateFunctionsUser *)_r; - r->out.result = _samr_TestPrivateFunctionsUser(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETUSERPWINFO: { - struct samr_GetUserPwInfo *r = (struct samr_GetUserPwInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct samr_PwInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetUserPwInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_REMOVEMEMBERFROMFOREIGNDOMAIN: { - struct samr_RemoveMemberFromForeignDomain *r = (struct samr_RemoveMemberFromForeignDomain *)_r; - r->out.result = _samr_RemoveMemberFromForeignDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYDOMAININFO2: { - struct samr_QueryDomainInfo2 *r = (struct samr_QueryDomainInfo2 *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union samr_DomainInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryDomainInfo2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYUSERINFO2: { - struct samr_QueryUserInfo2 *r = (struct samr_QueryUserInfo2 *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union samr_UserInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryUserInfo2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYDISPLAYINFO2: { - struct samr_QueryDisplayInfo2 *r = (struct samr_QueryDisplayInfo2 *)_r; - ZERO_STRUCT(r->out); - r->out.total_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.total_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.returned_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.returned_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union samr_DispInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryDisplayInfo2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETDISPLAYENUMERATIONINDEX2: { - struct samr_GetDisplayEnumerationIndex2 *r = (struct samr_GetDisplayEnumerationIndex2 *)_r; - ZERO_STRUCT(r->out); - r->out.idx = talloc_zero(mem_ctx, uint32_t); - if (r->out.idx == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetDisplayEnumerationIndex2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CREATEUSER2: { - struct samr_CreateUser2 *r = (struct samr_CreateUser2 *)_r; - ZERO_STRUCT(r->out); - r->out.user_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.user_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.access_granted = talloc_zero(mem_ctx, uint32_t); - if (r->out.access_granted == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.rid = talloc_zero(mem_ctx, uint32_t); - if (r->out.rid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_CreateUser2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_QUERYDISPLAYINFO3: { - struct samr_QueryDisplayInfo3 *r = (struct samr_QueryDisplayInfo3 *)_r; - ZERO_STRUCT(r->out); - r->out.total_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.total_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.returned_size = talloc_zero(mem_ctx, uint32_t); - if (r->out.returned_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union samr_DispInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_QueryDisplayInfo3(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_ADDMULTIPLEMEMBERSTOALIAS: { - struct samr_AddMultipleMembersToAlias *r = (struct samr_AddMultipleMembersToAlias *)_r; - r->out.result = _samr_AddMultipleMembersToAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_REMOVEMULTIPLEMEMBERSFROMALIAS: { - struct samr_RemoveMultipleMembersFromAlias *r = (struct samr_RemoveMultipleMembersFromAlias *)_r; - r->out.result = _samr_RemoveMultipleMembersFromAlias(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_OEMCHANGEPASSWORDUSER2: { - struct samr_OemChangePasswordUser2 *r = (struct samr_OemChangePasswordUser2 *)_r; - r->out.result = _samr_OemChangePasswordUser2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CHANGEPASSWORDUSER2: { - struct samr_ChangePasswordUser2 *r = (struct samr_ChangePasswordUser2 *)_r; - r->out.result = _samr_ChangePasswordUser2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETDOMPWINFO: { - struct samr_GetDomPwInfo *r = (struct samr_GetDomPwInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct samr_PwInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetDomPwInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CONNECT2: { - struct samr_Connect2 *r = (struct samr_Connect2 *)_r; - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.connect_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_Connect2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETUSERINFO2: { - struct samr_SetUserInfo2 *r = (struct samr_SetUserInfo2 *)_r; - r->out.result = _samr_SetUserInfo2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETBOOTKEYINFORMATION: { - struct samr_SetBootKeyInformation *r = (struct samr_SetBootKeyInformation *)_r; - r->out.result = _samr_SetBootKeyInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_GETBOOTKEYINFORMATION: { - struct samr_GetBootKeyInformation *r = (struct samr_GetBootKeyInformation *)_r; - ZERO_STRUCT(r->out); - r->out.unknown = talloc_zero(mem_ctx, uint32_t); - if (r->out.unknown == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_GetBootKeyInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CONNECT3: { - struct samr_Connect3 *r = (struct samr_Connect3 *)_r; - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.connect_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_Connect3(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CONNECT4: { - struct samr_Connect4 *r = (struct samr_Connect4 *)_r; - ZERO_STRUCT(r->out); - r->out.connect_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.connect_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_Connect4(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CHANGEPASSWORDUSER3: { - struct samr_ChangePasswordUser3 *r = (struct samr_ChangePasswordUser3 *)_r; - ZERO_STRUCT(r->out); - r->out.dominfo = talloc_zero(mem_ctx, struct samr_DomInfo1 *); - if (r->out.dominfo == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.reject = talloc_zero(mem_ctx, struct userPwdChangeFailureInformation *); - if (r->out.reject == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_ChangePasswordUser3(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_CONNECT5: { - struct samr_Connect5 *r = (struct samr_Connect5 *)_r; - ZERO_STRUCT(r->out); - r->out.level_out = talloc_zero(mem_ctx, uint32_t); - if (r->out.level_out == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info_out = talloc_zero(mem_ctx, union samr_ConnectInfo); - if (r->out.info_out == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.connect_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.connect_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_Connect5(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_RIDTOSID: { - struct samr_RidToSid *r = (struct samr_RidToSid *)_r; - ZERO_STRUCT(r->out); - r->out.sid = talloc_zero(mem_ctx, struct dom_sid2 *); - if (r->out.sid == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_RidToSid(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_SETDSRMPASSWORD: { - struct samr_SetDsrmPassword *r = (struct samr_SetDsrmPassword *)_r; - r->out.result = _samr_SetDsrmPassword(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SAMR_VALIDATEPASSWORD: { - struct samr_ValidatePassword *r = (struct samr_ValidatePassword *)_r; - ZERO_STRUCT(r->out); - r->out.rep = talloc_zero(mem_ctx, union samr_ValidatePasswordRep *); - if (r->out.rep == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _samr_ValidatePassword(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_samr_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "samr", "samr", &ndr_table_samr, api_samr_cmds, sizeof(api_samr_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_samr.h b/librpc/gen_ndr/srv_samr.h deleted file mode 100644 index 4b308ebf29d..00000000000 --- a/librpc/gen_ndr/srv_samr.h +++ /dev/null @@ -1,143 +0,0 @@ -#include "../librpc/gen_ndr/ndr_samr.h" -#ifndef __SRV_SAMR__ -#define __SRV_SAMR__ -NTSTATUS _samr_Connect(pipes_struct *p, struct samr_Connect *r); -NTSTATUS _samr_Close(pipes_struct *p, struct samr_Close *r); -NTSTATUS _samr_SetSecurity(pipes_struct *p, struct samr_SetSecurity *r); -NTSTATUS _samr_QuerySecurity(pipes_struct *p, struct samr_QuerySecurity *r); -NTSTATUS _samr_Shutdown(pipes_struct *p, struct samr_Shutdown *r); -NTSTATUS _samr_LookupDomain(pipes_struct *p, struct samr_LookupDomain *r); -NTSTATUS _samr_EnumDomains(pipes_struct *p, struct samr_EnumDomains *r); -NTSTATUS _samr_OpenDomain(pipes_struct *p, struct samr_OpenDomain *r); -NTSTATUS _samr_QueryDomainInfo(pipes_struct *p, struct samr_QueryDomainInfo *r); -NTSTATUS _samr_SetDomainInfo(pipes_struct *p, struct samr_SetDomainInfo *r); -NTSTATUS _samr_CreateDomainGroup(pipes_struct *p, struct samr_CreateDomainGroup *r); -NTSTATUS _samr_EnumDomainGroups(pipes_struct *p, struct samr_EnumDomainGroups *r); -NTSTATUS _samr_CreateUser(pipes_struct *p, struct samr_CreateUser *r); -NTSTATUS _samr_EnumDomainUsers(pipes_struct *p, struct samr_EnumDomainUsers *r); -NTSTATUS _samr_CreateDomAlias(pipes_struct *p, struct samr_CreateDomAlias *r); -NTSTATUS _samr_EnumDomainAliases(pipes_struct *p, struct samr_EnumDomainAliases *r); -NTSTATUS _samr_GetAliasMembership(pipes_struct *p, struct samr_GetAliasMembership *r); -NTSTATUS _samr_LookupNames(pipes_struct *p, struct samr_LookupNames *r); -NTSTATUS _samr_LookupRids(pipes_struct *p, struct samr_LookupRids *r); -NTSTATUS _samr_OpenGroup(pipes_struct *p, struct samr_OpenGroup *r); -NTSTATUS _samr_QueryGroupInfo(pipes_struct *p, struct samr_QueryGroupInfo *r); -NTSTATUS _samr_SetGroupInfo(pipes_struct *p, struct samr_SetGroupInfo *r); -NTSTATUS _samr_AddGroupMember(pipes_struct *p, struct samr_AddGroupMember *r); -NTSTATUS _samr_DeleteDomainGroup(pipes_struct *p, struct samr_DeleteDomainGroup *r); -NTSTATUS _samr_DeleteGroupMember(pipes_struct *p, struct samr_DeleteGroupMember *r); -NTSTATUS _samr_QueryGroupMember(pipes_struct *p, struct samr_QueryGroupMember *r); -NTSTATUS _samr_SetMemberAttributesOfGroup(pipes_struct *p, struct samr_SetMemberAttributesOfGroup *r); -NTSTATUS _samr_OpenAlias(pipes_struct *p, struct samr_OpenAlias *r); -NTSTATUS _samr_QueryAliasInfo(pipes_struct *p, struct samr_QueryAliasInfo *r); -NTSTATUS _samr_SetAliasInfo(pipes_struct *p, struct samr_SetAliasInfo *r); -NTSTATUS _samr_DeleteDomAlias(pipes_struct *p, struct samr_DeleteDomAlias *r); -NTSTATUS _samr_AddAliasMember(pipes_struct *p, struct samr_AddAliasMember *r); -NTSTATUS _samr_DeleteAliasMember(pipes_struct *p, struct samr_DeleteAliasMember *r); -NTSTATUS _samr_GetMembersInAlias(pipes_struct *p, struct samr_GetMembersInAlias *r); -NTSTATUS _samr_OpenUser(pipes_struct *p, struct samr_OpenUser *r); -NTSTATUS _samr_DeleteUser(pipes_struct *p, struct samr_DeleteUser *r); -NTSTATUS _samr_QueryUserInfo(pipes_struct *p, struct samr_QueryUserInfo *r); -NTSTATUS _samr_SetUserInfo(pipes_struct *p, struct samr_SetUserInfo *r); -NTSTATUS _samr_ChangePasswordUser(pipes_struct *p, struct samr_ChangePasswordUser *r); -NTSTATUS _samr_GetGroupsForUser(pipes_struct *p, struct samr_GetGroupsForUser *r); -NTSTATUS _samr_QueryDisplayInfo(pipes_struct *p, struct samr_QueryDisplayInfo *r); -NTSTATUS _samr_GetDisplayEnumerationIndex(pipes_struct *p, struct samr_GetDisplayEnumerationIndex *r); -NTSTATUS _samr_TestPrivateFunctionsDomain(pipes_struct *p, struct samr_TestPrivateFunctionsDomain *r); -NTSTATUS _samr_TestPrivateFunctionsUser(pipes_struct *p, struct samr_TestPrivateFunctionsUser *r); -NTSTATUS _samr_GetUserPwInfo(pipes_struct *p, struct samr_GetUserPwInfo *r); -NTSTATUS _samr_RemoveMemberFromForeignDomain(pipes_struct *p, struct samr_RemoveMemberFromForeignDomain *r); -NTSTATUS _samr_QueryDomainInfo2(pipes_struct *p, struct samr_QueryDomainInfo2 *r); -NTSTATUS _samr_QueryUserInfo2(pipes_struct *p, struct samr_QueryUserInfo2 *r); -NTSTATUS _samr_QueryDisplayInfo2(pipes_struct *p, struct samr_QueryDisplayInfo2 *r); -NTSTATUS _samr_GetDisplayEnumerationIndex2(pipes_struct *p, struct samr_GetDisplayEnumerationIndex2 *r); -NTSTATUS _samr_CreateUser2(pipes_struct *p, struct samr_CreateUser2 *r); -NTSTATUS _samr_QueryDisplayInfo3(pipes_struct *p, struct samr_QueryDisplayInfo3 *r); -NTSTATUS _samr_AddMultipleMembersToAlias(pipes_struct *p, struct samr_AddMultipleMembersToAlias *r); -NTSTATUS _samr_RemoveMultipleMembersFromAlias(pipes_struct *p, struct samr_RemoveMultipleMembersFromAlias *r); -NTSTATUS _samr_OemChangePasswordUser2(pipes_struct *p, struct samr_OemChangePasswordUser2 *r); -NTSTATUS _samr_ChangePasswordUser2(pipes_struct *p, struct samr_ChangePasswordUser2 *r); -NTSTATUS _samr_GetDomPwInfo(pipes_struct *p, struct samr_GetDomPwInfo *r); -NTSTATUS _samr_Connect2(pipes_struct *p, struct samr_Connect2 *r); -NTSTATUS _samr_SetUserInfo2(pipes_struct *p, struct samr_SetUserInfo2 *r); -NTSTATUS _samr_SetBootKeyInformation(pipes_struct *p, struct samr_SetBootKeyInformation *r); -NTSTATUS _samr_GetBootKeyInformation(pipes_struct *p, struct samr_GetBootKeyInformation *r); -NTSTATUS _samr_Connect3(pipes_struct *p, struct samr_Connect3 *r); -NTSTATUS _samr_Connect4(pipes_struct *p, struct samr_Connect4 *r); -NTSTATUS _samr_ChangePasswordUser3(pipes_struct *p, struct samr_ChangePasswordUser3 *r); -NTSTATUS _samr_Connect5(pipes_struct *p, struct samr_Connect5 *r); -NTSTATUS _samr_RidToSid(pipes_struct *p, struct samr_RidToSid *r); -NTSTATUS _samr_SetDsrmPassword(pipes_struct *p, struct samr_SetDsrmPassword *r); -NTSTATUS _samr_ValidatePassword(pipes_struct *p, struct samr_ValidatePassword *r); -void samr_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_samr_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -NTSTATUS _samr_Connect(pipes_struct *p, struct samr_Connect *r); -NTSTATUS _samr_Close(pipes_struct *p, struct samr_Close *r); -NTSTATUS _samr_SetSecurity(pipes_struct *p, struct samr_SetSecurity *r); -NTSTATUS _samr_QuerySecurity(pipes_struct *p, struct samr_QuerySecurity *r); -NTSTATUS _samr_Shutdown(pipes_struct *p, struct samr_Shutdown *r); -NTSTATUS _samr_LookupDomain(pipes_struct *p, struct samr_LookupDomain *r); -NTSTATUS _samr_EnumDomains(pipes_struct *p, struct samr_EnumDomains *r); -NTSTATUS _samr_OpenDomain(pipes_struct *p, struct samr_OpenDomain *r); -NTSTATUS _samr_QueryDomainInfo(pipes_struct *p, struct samr_QueryDomainInfo *r); -NTSTATUS _samr_SetDomainInfo(pipes_struct *p, struct samr_SetDomainInfo *r); -NTSTATUS _samr_CreateDomainGroup(pipes_struct *p, struct samr_CreateDomainGroup *r); -NTSTATUS _samr_EnumDomainGroups(pipes_struct *p, struct samr_EnumDomainGroups *r); -NTSTATUS _samr_CreateUser(pipes_struct *p, struct samr_CreateUser *r); -NTSTATUS _samr_EnumDomainUsers(pipes_struct *p, struct samr_EnumDomainUsers *r); -NTSTATUS _samr_CreateDomAlias(pipes_struct *p, struct samr_CreateDomAlias *r); -NTSTATUS _samr_EnumDomainAliases(pipes_struct *p, struct samr_EnumDomainAliases *r); -NTSTATUS _samr_GetAliasMembership(pipes_struct *p, struct samr_GetAliasMembership *r); -NTSTATUS _samr_LookupNames(pipes_struct *p, struct samr_LookupNames *r); -NTSTATUS _samr_LookupRids(pipes_struct *p, struct samr_LookupRids *r); -NTSTATUS _samr_OpenGroup(pipes_struct *p, struct samr_OpenGroup *r); -NTSTATUS _samr_QueryGroupInfo(pipes_struct *p, struct samr_QueryGroupInfo *r); -NTSTATUS _samr_SetGroupInfo(pipes_struct *p, struct samr_SetGroupInfo *r); -NTSTATUS _samr_AddGroupMember(pipes_struct *p, struct samr_AddGroupMember *r); -NTSTATUS _samr_DeleteDomainGroup(pipes_struct *p, struct samr_DeleteDomainGroup *r); -NTSTATUS _samr_DeleteGroupMember(pipes_struct *p, struct samr_DeleteGroupMember *r); -NTSTATUS _samr_QueryGroupMember(pipes_struct *p, struct samr_QueryGroupMember *r); -NTSTATUS _samr_SetMemberAttributesOfGroup(pipes_struct *p, struct samr_SetMemberAttributesOfGroup *r); -NTSTATUS _samr_OpenAlias(pipes_struct *p, struct samr_OpenAlias *r); -NTSTATUS _samr_QueryAliasInfo(pipes_struct *p, struct samr_QueryAliasInfo *r); -NTSTATUS _samr_SetAliasInfo(pipes_struct *p, struct samr_SetAliasInfo *r); -NTSTATUS _samr_DeleteDomAlias(pipes_struct *p, struct samr_DeleteDomAlias *r); -NTSTATUS _samr_AddAliasMember(pipes_struct *p, struct samr_AddAliasMember *r); -NTSTATUS _samr_DeleteAliasMember(pipes_struct *p, struct samr_DeleteAliasMember *r); -NTSTATUS _samr_GetMembersInAlias(pipes_struct *p, struct samr_GetMembersInAlias *r); -NTSTATUS _samr_OpenUser(pipes_struct *p, struct samr_OpenUser *r); -NTSTATUS _samr_DeleteUser(pipes_struct *p, struct samr_DeleteUser *r); -NTSTATUS _samr_QueryUserInfo(pipes_struct *p, struct samr_QueryUserInfo *r); -NTSTATUS _samr_SetUserInfo(pipes_struct *p, struct samr_SetUserInfo *r); -NTSTATUS _samr_ChangePasswordUser(pipes_struct *p, struct samr_ChangePasswordUser *r); -NTSTATUS _samr_GetGroupsForUser(pipes_struct *p, struct samr_GetGroupsForUser *r); -NTSTATUS _samr_QueryDisplayInfo(pipes_struct *p, struct samr_QueryDisplayInfo *r); -NTSTATUS _samr_GetDisplayEnumerationIndex(pipes_struct *p, struct samr_GetDisplayEnumerationIndex *r); -NTSTATUS _samr_TestPrivateFunctionsDomain(pipes_struct *p, struct samr_TestPrivateFunctionsDomain *r); -NTSTATUS _samr_TestPrivateFunctionsUser(pipes_struct *p, struct samr_TestPrivateFunctionsUser *r); -NTSTATUS _samr_GetUserPwInfo(pipes_struct *p, struct samr_GetUserPwInfo *r); -NTSTATUS _samr_RemoveMemberFromForeignDomain(pipes_struct *p, struct samr_RemoveMemberFromForeignDomain *r); -NTSTATUS _samr_QueryDomainInfo2(pipes_struct *p, struct samr_QueryDomainInfo2 *r); -NTSTATUS _samr_QueryUserInfo2(pipes_struct *p, struct samr_QueryUserInfo2 *r); -NTSTATUS _samr_QueryDisplayInfo2(pipes_struct *p, struct samr_QueryDisplayInfo2 *r); -NTSTATUS _samr_GetDisplayEnumerationIndex2(pipes_struct *p, struct samr_GetDisplayEnumerationIndex2 *r); -NTSTATUS _samr_CreateUser2(pipes_struct *p, struct samr_CreateUser2 *r); -NTSTATUS _samr_QueryDisplayInfo3(pipes_struct *p, struct samr_QueryDisplayInfo3 *r); -NTSTATUS _samr_AddMultipleMembersToAlias(pipes_struct *p, struct samr_AddMultipleMembersToAlias *r); -NTSTATUS _samr_RemoveMultipleMembersFromAlias(pipes_struct *p, struct samr_RemoveMultipleMembersFromAlias *r); -NTSTATUS _samr_OemChangePasswordUser2(pipes_struct *p, struct samr_OemChangePasswordUser2 *r); -NTSTATUS _samr_ChangePasswordUser2(pipes_struct *p, struct samr_ChangePasswordUser2 *r); -NTSTATUS _samr_GetDomPwInfo(pipes_struct *p, struct samr_GetDomPwInfo *r); -NTSTATUS _samr_Connect2(pipes_struct *p, struct samr_Connect2 *r); -NTSTATUS _samr_SetUserInfo2(pipes_struct *p, struct samr_SetUserInfo2 *r); -NTSTATUS _samr_SetBootKeyInformation(pipes_struct *p, struct samr_SetBootKeyInformation *r); -NTSTATUS _samr_GetBootKeyInformation(pipes_struct *p, struct samr_GetBootKeyInformation *r); -NTSTATUS _samr_Connect3(pipes_struct *p, struct samr_Connect3 *r); -NTSTATUS _samr_Connect4(pipes_struct *p, struct samr_Connect4 *r); -NTSTATUS _samr_ChangePasswordUser3(pipes_struct *p, struct samr_ChangePasswordUser3 *r); -NTSTATUS _samr_Connect5(pipes_struct *p, struct samr_Connect5 *r); -NTSTATUS _samr_RidToSid(pipes_struct *p, struct samr_RidToSid *r); -NTSTATUS _samr_SetDsrmPassword(pipes_struct *p, struct samr_SetDsrmPassword *r); -NTSTATUS _samr_ValidatePassword(pipes_struct *p, struct samr_ValidatePassword *r); -NTSTATUS rpc_samr_init(void); -#endif /* __SRV_SAMR__ */ diff --git a/librpc/gen_ndr/srv_spoolss.c b/librpc/gen_ndr/srv_spoolss.c deleted file mode 100644 index 0ac29d408a4..00000000000 --- a/librpc/gen_ndr/srv_spoolss.c +++ /dev/null @@ -1,9739 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_spoolss.h" - -static bool api_spoolss_EnumPrinters(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrinters *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTERS]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrinters); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrinters, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_PrinterInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrinters(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinters, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_OpenPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_OpenPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_OPENPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_OpenPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_OpenPrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_OpenPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_SetJob(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_SetJob *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SETJOB]; - - r = talloc(talloc_tos(), struct spoolss_SetJob); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_SetJob, r); - } - - r->out.result = _spoolss_SetJob(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_SetJob, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetJob(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetJob *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETJOB]; - - r = talloc(talloc_tos(), struct spoolss_GetJob); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetJob, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_JobInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetJob(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetJob, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumJobs(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumJobs *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMJOBS]; - - r = talloc(talloc_tos(), struct spoolss_EnumJobs); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumJobs, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_JobInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumJobs(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumJobs, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_AddPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_AddPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinter, r); - } - - r->out.result = _spoolss_DeletePrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_SetPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_SetPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SETPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_SetPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_SetPrinter, r); - } - - r->out.result = _spoolss_SetPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_SetPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_PrinterInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrinterDriver(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrinterDriver *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTERDRIVER]; - - r = talloc(talloc_tos(), struct spoolss_AddPrinterDriver); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriver, r); - } - - r->out.result = _spoolss_AddPrinterDriver(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriver, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPrinterDrivers(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrinterDrivers *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTERDRIVERS]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrinterDrivers); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDrivers, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_DriverInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrinterDrivers(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDrivers, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinterDriver(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinterDriver *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTERDRIVER]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinterDriver); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_DriverInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinterDriver(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinterDriverDirectory(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinterDriverDirectory *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinterDriverDirectory); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverDirectory, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_DriverDirectoryInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinterDriverDirectory(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverDirectory, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterDriver(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterDriver *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERDRIVER]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterDriver); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriver, r); - } - - r->out.result = _spoolss_DeletePrinterDriver(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriver, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrintProcessor(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrintProcessor *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTPROCESSOR]; - - r = talloc(talloc_tos(), struct spoolss_AddPrintProcessor); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, r); - } - - r->out.result = _spoolss_AddPrintProcessor(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProcessor, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPrintProcessors(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrintProcessors *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTPROCESSORS]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrintProcessors); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcessors, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_PrintProcessorInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrintProcessors(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcessors, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrintProcessorDirectory(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrintProcessorDirectory *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY]; - - r = talloc(talloc_tos(), struct spoolss_GetPrintProcessorDirectory); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrintProcessorDirectory, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_PrintProcessorDirectoryInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrintProcessorDirectory(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrintProcessorDirectory, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_StartDocPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_StartDocPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_STARTDOCPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_StartDocPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_StartDocPrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.job_id = talloc_zero(r, uint32_t); - if (r->out.job_id == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_StartDocPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_StartDocPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_StartPagePrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_StartPagePrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_STARTPAGEPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_StartPagePrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_StartPagePrinter, r); - } - - r->out.result = _spoolss_StartPagePrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_StartPagePrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_WritePrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_WritePrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_WRITEPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_WritePrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_WritePrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.num_written = talloc_zero(r, uint32_t); - if (r->out.num_written == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_WritePrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_WritePrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EndPagePrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EndPagePrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENDPAGEPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_EndPagePrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EndPagePrinter, r); - } - - r->out.result = _spoolss_EndPagePrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EndPagePrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AbortPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AbortPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ABORTPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_AbortPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AbortPrinter, r); - } - - r->out.result = _spoolss_AbortPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AbortPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ReadPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ReadPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_READPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_ReadPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ReadPrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.data = talloc_zero_array(r, uint8_t, r->in.data_size); - if (r->out.data == NULL) { - talloc_free(r); - return false; - } - - r->out._data_size = talloc_zero(r, uint32_t); - if (r->out._data_size == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_ReadPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ReadPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EndDocPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EndDocPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENDDOCPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_EndDocPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EndDocPrinter, r); - } - - r->out.result = _spoolss_EndDocPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EndDocPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddJob(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddJob *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDJOB]; - - r = talloc(talloc_tos(), struct spoolss_AddJob); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddJob, r); - } - - ZERO_STRUCT(r->out); - r->out.buffer = r->in.buffer; - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_AddJob(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddJob, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ScheduleJob(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ScheduleJob *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SCHEDULEJOB]; - - r = talloc(talloc_tos(), struct spoolss_ScheduleJob); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, r); - } - - r->out.result = _spoolss_ScheduleJob(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ScheduleJob, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinterData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinterData *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTERDATA]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinterData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinterData, r); - } - - ZERO_STRUCT(r->out); - r->out.type = talloc_zero(r, enum winreg_Type); - if (r->out.type == NULL) { - talloc_free(r); - return false; - } - - r->out.data = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.data == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinterData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_SetPrinterData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_SetPrinterData *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SETPRINTERDATA]; - - r = talloc(talloc_tos(), struct spoolss_SetPrinterData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_SetPrinterData, r); - } - - r->out.result = _spoolss_SetPrinterData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_WaitForPrinterChange(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_WaitForPrinterChange *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_WAITFORPRINTERCHANGE]; - - r = talloc(talloc_tos(), struct spoolss_WaitForPrinterChange); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_WaitForPrinterChange, r); - } - - r->out.result = _spoolss_WaitForPrinterChange(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_WaitForPrinterChange, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ClosePrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ClosePrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_CLOSEPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_ClosePrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ClosePrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _spoolss_ClosePrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ClosePrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddForm(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddForm *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDFORM]; - - r = talloc(talloc_tos(), struct spoolss_AddForm); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddForm, r); - } - - r->out.result = _spoolss_AddForm(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddForm, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeleteForm(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeleteForm *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEFORM]; - - r = talloc(talloc_tos(), struct spoolss_DeleteForm); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeleteForm, r); - } - - r->out.result = _spoolss_DeleteForm(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeleteForm, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetForm(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetForm *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETFORM]; - - r = talloc(talloc_tos(), struct spoolss_GetForm); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetForm, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_FormInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetForm(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetForm, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_SetForm(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_SetForm *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SETFORM]; - - r = talloc(talloc_tos(), struct spoolss_SetForm); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_SetForm, r); - } - - r->out.result = _spoolss_SetForm(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_SetForm, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumForms(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumForms *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMFORMS]; - - r = talloc(talloc_tos(), struct spoolss_EnumForms); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumForms, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_FormInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumForms(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumForms, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPorts(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPorts *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPORTS]; - - r = talloc(talloc_tos(), struct spoolss_EnumPorts); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPorts, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_PortInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPorts(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPorts, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumMonitors(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumMonitors *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMMONITORS]; - - r = talloc(talloc_tos(), struct spoolss_EnumMonitors); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumMonitors, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_MonitorInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumMonitors(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumMonitors, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPort(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPort *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPORT]; - - r = talloc(talloc_tos(), struct spoolss_AddPort); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPort, r); - } - - r->out.result = _spoolss_AddPort(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPort, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ConfigurePort(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ConfigurePort *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_CONFIGUREPORT]; - - r = talloc(talloc_tos(), struct spoolss_ConfigurePort); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ConfigurePort, r); - } - - r->out.result = _spoolss_ConfigurePort(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ConfigurePort, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePort(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePort *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPORT]; - - r = talloc(talloc_tos(), struct spoolss_DeletePort); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePort, r); - } - - r->out.result = _spoolss_DeletePort(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePort, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_CreatePrinterIC(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_CreatePrinterIC *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_CREATEPRINTERIC]; - - r = talloc(talloc_tos(), struct spoolss_CreatePrinterIC); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_CreatePrinterIC, r); - } - - ZERO_STRUCT(r->out); - r->out.gdi_handle = talloc_zero(r, struct policy_handle); - if (r->out.gdi_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_CreatePrinterIC(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_CreatePrinterIC, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_PlayGDIScriptOnPrinterIC(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_PlayGDIScriptOnPrinterIC *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC]; - - r = talloc(talloc_tos(), struct spoolss_PlayGDIScriptOnPrinterIC); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, r); - } - - r->out.result = _spoolss_PlayGDIScriptOnPrinterIC(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_PlayGDIScriptOnPrinterIC, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterIC(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterIC *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERIC]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterIC); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterIC, r); - } - - ZERO_STRUCT(r->out); - r->out.gdi_handle = r->in.gdi_handle; - r->out.result = _spoolss_DeletePrinterIC(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterIC, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrinterConnection(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrinterConnection *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTERCONNECTION]; - - r = talloc(talloc_tos(), struct spoolss_AddPrinterConnection); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrinterConnection, r); - } - - r->out.result = _spoolss_AddPrinterConnection(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterConnection, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterConnection(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterConnection *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERCONNECTION]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterConnection); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterConnection, r); - } - - r->out.result = _spoolss_DeletePrinterConnection(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterConnection, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_PrinterMessageBox(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_PrinterMessageBox *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_PRINTERMESSAGEBOX]; - - r = talloc(talloc_tos(), struct spoolss_PrinterMessageBox); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_PrinterMessageBox, r); - } - - r->out.result = _spoolss_PrinterMessageBox(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_PrinterMessageBox, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddMonitor(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddMonitor *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDMONITOR]; - - r = talloc(talloc_tos(), struct spoolss_AddMonitor); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddMonitor, r); - } - - r->out.result = _spoolss_AddMonitor(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddMonitor, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeleteMonitor(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeleteMonitor *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEMONITOR]; - - r = talloc(talloc_tos(), struct spoolss_DeleteMonitor); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeleteMonitor, r); - } - - r->out.result = _spoolss_DeleteMonitor(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeleteMonitor, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrintProcessor(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrintProcessor *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTPROCESSOR]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrintProcessor); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProcessor, r); - } - - r->out.result = _spoolss_DeletePrintProcessor(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProcessor, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrintProvidor(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrintProvidor *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTPROVIDOR]; - - r = talloc(talloc_tos(), struct spoolss_AddPrintProvidor); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrintProvidor, r); - } - - r->out.result = _spoolss_AddPrintProvidor(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrintProvidor, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrintProvidor(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrintProvidor *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTPROVIDOR]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrintProvidor); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrintProvidor, r); - } - - r->out.result = _spoolss_DeletePrintProvidor(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrintProvidor, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPrintProcDataTypes(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrintProcDataTypes *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTPROCDATATYPES]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrintProcDataTypes); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, union spoolss_PrintProcDataTypesInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrintProcDataTypes(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrintProcDataTypes, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ResetPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ResetPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_RESETPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_ResetPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ResetPrinter, r); - } - - r->out.result = _spoolss_ResetPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinterDriver2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinterDriver2 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTERDRIVER2]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinterDriver2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriver2, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union spoolss_DriverInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.server_major_version = talloc_zero(r, uint32_t); - if (r->out.server_major_version == NULL) { - talloc_free(r); - return false; - } - - r->out.server_minor_version = talloc_zero(r, uint32_t); - if (r->out.server_minor_version == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinterDriver2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriver2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_FindFirstPrinterChangeNotification(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_FindFirstPrinterChangeNotification *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION]; - - r = talloc(talloc_tos(), struct spoolss_FindFirstPrinterChangeNotification); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_FindFirstPrinterChangeNotification, r); - } - - r->out.result = _spoolss_FindFirstPrinterChangeNotification(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_FindFirstPrinterChangeNotification, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_FindNextPrinterChangeNotification(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_FindNextPrinterChangeNotification *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION]; - - r = talloc(talloc_tos(), struct spoolss_FindNextPrinterChangeNotification); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_FindNextPrinterChangeNotification, r); - } - - r->out.result = _spoolss_FindNextPrinterChangeNotification(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_FindNextPrinterChangeNotification, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_FindClosePrinterNotify(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_FindClosePrinterNotify *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY]; - - r = talloc(talloc_tos(), struct spoolss_FindClosePrinterNotify); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_FindClosePrinterNotify, r); - } - - r->out.result = _spoolss_FindClosePrinterNotify(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_FindClosePrinterNotify, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_RouterFindFirstPrinterChangeNotificationOld(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD]; - - r = talloc(talloc_tos(), struct spoolss_RouterFindFirstPrinterChangeNotificationOld); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, r); - } - - r->out.result = _spoolss_RouterFindFirstPrinterChangeNotificationOld(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotificationOld, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ReplyOpenPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ReplyOpenPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_REPLYOPENPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_ReplyOpenPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_ReplyOpenPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_RouterReplyPrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_RouterReplyPrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ROUTERREPLYPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_RouterReplyPrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, r); - } - - r->out.result = _spoolss_RouterReplyPrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ReplyClosePrinter(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ReplyClosePrinter *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_REPLYCLOSEPRINTER]; - - r = talloc(talloc_tos(), struct spoolss_ReplyClosePrinter); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ReplyClosePrinter, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _spoolss_ReplyClosePrinter(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ReplyClosePrinter, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPortEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPortEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPORTEX]; - - r = talloc(talloc_tos(), struct spoolss_AddPortEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPortEx, r); - } - - r->out.result = _spoolss_AddPortEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPortEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_RouterFindFirstPrinterChangeNotification(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_RouterFindFirstPrinterChangeNotification *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION]; - - r = talloc(talloc_tos(), struct spoolss_RouterFindFirstPrinterChangeNotification); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, r); - } - - r->out.result = _spoolss_RouterFindFirstPrinterChangeNotification(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_RouterFindFirstPrinterChangeNotification, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_SpoolerInit(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_SpoolerInit *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SPOOLERINIT]; - - r = talloc(talloc_tos(), struct spoolss_SpoolerInit); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_SpoolerInit, r); - } - - r->out.result = _spoolss_SpoolerInit(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_SpoolerInit, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_ResetPrinterEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_ResetPrinterEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_RESETPRINTEREX]; - - r = talloc(talloc_tos(), struct spoolss_ResetPrinterEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_ResetPrinterEx, r); - } - - r->out.result = _spoolss_ResetPrinterEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_ResetPrinterEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_RemoteFindFirstPrinterChangeNotifyEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX]; - - r = talloc(talloc_tos(), struct spoolss_RemoteFindFirstPrinterChangeNotifyEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, r); - } - - r->out.result = _spoolss_RemoteFindFirstPrinterChangeNotifyEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_RemoteFindFirstPrinterChangeNotifyEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_RouterReplyPrinterEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_RouterReplyPrinterEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ROUTERREPLYPRINTEREX]; - - r = talloc(talloc_tos(), struct spoolss_RouterReplyPrinterEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinterEx, r); - } - - ZERO_STRUCT(r->out); - r->out.reply_result = talloc_zero(r, uint32_t); - if (r->out.reply_result == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_RouterReplyPrinterEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_RouterReplyPrinterEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_RouterRefreshPrinterChangeNotify(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_RouterRefreshPrinterChangeNotify *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY]; - - r = talloc(talloc_tos(), struct spoolss_RouterRefreshPrinterChangeNotify); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct spoolss_NotifyInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_RouterRefreshPrinterChangeNotify(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_RouterRefreshPrinterChangeNotify, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_44(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_44 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_44]; - - r = talloc(talloc_tos(), struct spoolss_44); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_44, r); - } - - r->out.result = _spoolss_44(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_44, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_OpenPrinterEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_OpenPrinterEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_OPENPRINTEREX]; - - r = talloc(talloc_tos(), struct spoolss_OpenPrinterEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_OpenPrinterEx, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_OpenPrinterEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_OpenPrinterEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrinterEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrinterEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTEREX]; - - r = talloc(talloc_tos(), struct spoolss_AddPrinterEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrinterEx, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_AddPrinterEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_47(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_47 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_47]; - - r = talloc(talloc_tos(), struct spoolss_47); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_47, r); - } - - r->out.result = _spoolss_47(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_47, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPrinterData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrinterData *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTERDATA]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrinterData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterData, r); - } - - ZERO_STRUCT(r->out); - r->out.value_name = talloc_zero_array(r, const char, r->in.value_offered / 2); - if (r->out.value_name == NULL) { - talloc_free(r); - return false; - } - - r->out.value_needed = talloc_zero(r, uint32_t); - if (r->out.value_needed == NULL) { - talloc_free(r); - return false; - } - - r->out.type = talloc_zero(r, enum winreg_Type); - if (r->out.type == NULL) { - talloc_free(r); - return false; - } - - r->out.data = talloc_zero_array(r, uint8_t, r->in.data_offered); - if (r->out.data == NULL) { - talloc_free(r); - return false; - } - - r->out.data_needed = talloc_zero(r, uint32_t); - if (r->out.data_needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrinterData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterData *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERDATA]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterData, r); - } - - r->out.result = _spoolss_DeletePrinterData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_4a(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_4a *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_4A]; - - r = talloc(talloc_tos(), struct spoolss_4a); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_4a, r); - } - - r->out.result = _spoolss_4a(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_4a, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_4b(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_4b *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_4B]; - - r = talloc(talloc_tos(), struct spoolss_4b); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_4b, r); - } - - r->out.result = _spoolss_4b(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_4b, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_4c(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_4c *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_4C]; - - r = talloc(talloc_tos(), struct spoolss_4c); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_4c, r); - } - - r->out.result = _spoolss_4c(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_4c, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_SetPrinterDataEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_SetPrinterDataEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_SETPRINTERDATAEX]; - - r = talloc(talloc_tos(), struct spoolss_SetPrinterDataEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_SetPrinterDataEx, r); - } - - r->out.result = _spoolss_SetPrinterDataEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_SetPrinterDataEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinterDataEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinterDataEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTERDATAEX]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinterDataEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDataEx, r); - } - - ZERO_STRUCT(r->out); - r->out.type = talloc_zero(r, enum winreg_Type); - if (r->out.type == NULL) { - talloc_free(r); - return false; - } - - r->out.data = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.data == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinterDataEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDataEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPrinterDataEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrinterDataEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTERDATAEX]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrinterDataEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterDataEx, r); - } - - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(r, uint32_t); - if (r->out.count == NULL) { - talloc_free(r); - return false; - } - - r->out.info = talloc_zero(r, struct spoolss_PrinterEnumValues *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrinterDataEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterDataEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_EnumPrinterKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_EnumPrinterKey *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ENUMPRINTERKEY]; - - r = talloc(talloc_tos(), struct spoolss_EnumPrinterKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_EnumPrinterKey, r); - } - - ZERO_STRUCT(r->out); - r->out._ndr_size = talloc_zero(r, uint32_t); - if (r->out._ndr_size == NULL) { - talloc_free(r); - return false; - } - - r->out.key_buffer = talloc_zero(r, union spoolss_KeyNames); - if (r->out.key_buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_EnumPrinterKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_EnumPrinterKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterDataEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterDataEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERDATAEX]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterDataEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDataEx, r); - } - - r->out.result = _spoolss_DeletePrinterDataEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDataEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterKey *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERKEY]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, r); - } - - r->out.result = _spoolss_DeletePrinterKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_53(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_53 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_53]; - - r = talloc(talloc_tos(), struct spoolss_53); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_53, r); - } - - r->out.result = _spoolss_53(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_53, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_DeletePrinterDriverEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_DeletePrinterDriverEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_DELETEPRINTERDRIVEREX]; - - r = talloc(talloc_tos(), struct spoolss_DeletePrinterDriverEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, r); - } - - r->out.result = _spoolss_DeletePrinterDriverEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_DeletePrinterDriverEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_55(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_55 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_55]; - - r = talloc(talloc_tos(), struct spoolss_55); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_55, r); - } - - r->out.result = _spoolss_55(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_55, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_56(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_56 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_56]; - - r = talloc(talloc_tos(), struct spoolss_56); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_56, r); - } - - r->out.result = _spoolss_56(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_56, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_57(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_57 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_57]; - - r = talloc(talloc_tos(), struct spoolss_57); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_57, r); - } - - r->out.result = _spoolss_57(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_57, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_XcvData(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_XcvData *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_XCVDATA]; - - r = talloc(talloc_tos(), struct spoolss_XcvData); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_XcvData, r); - } - - ZERO_STRUCT(r->out); - r->out.status_code = r->in.status_code; - r->out.out_data = talloc_zero_array(r, uint8_t, r->in.out_data_size); - if (r->out.out_data == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_XcvData(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_XcvData, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_AddPrinterDriverEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_AddPrinterDriverEx *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_ADDPRINTERDRIVEREX]; - - r = talloc(talloc_tos(), struct spoolss_AddPrinterDriverEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_AddPrinterDriverEx, r); - } - - r->out.result = _spoolss_AddPrinterDriverEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_AddPrinterDriverEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_5a(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_5a *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_5A]; - - r = talloc(talloc_tos(), struct spoolss_5a); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_5a, r); - } - - r->out.result = _spoolss_5a(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_5a, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_5b(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_5b *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_5B]; - - r = talloc(talloc_tos(), struct spoolss_5b); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_5b, r); - } - - r->out.result = _spoolss_5b(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_5b, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_5c(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_5c *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_5C]; - - r = talloc(talloc_tos(), struct spoolss_5c); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_5c, r); - } - - r->out.result = _spoolss_5c(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_5c, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_5d(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_5d *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_5D]; - - r = talloc(talloc_tos(), struct spoolss_5d); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_5d, r); - } - - r->out.result = _spoolss_5d(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_5d, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_5e(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_5e *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_5E]; - - r = talloc(talloc_tos(), struct spoolss_5e); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_5e, r); - } - - r->out.result = _spoolss_5e(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_5e, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_5f(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_5f *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_5F]; - - r = talloc(talloc_tos(), struct spoolss_5f); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_5f, r); - } - - r->out.result = _spoolss_5f(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_5f, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_60(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_60 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_60]; - - r = talloc(talloc_tos(), struct spoolss_60); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_60, r); - } - - r->out.result = _spoolss_60(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_60, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_61(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_61 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_61]; - - r = talloc(talloc_tos(), struct spoolss_61); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_61, r); - } - - r->out.result = _spoolss_61(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_61, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_62(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_62 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_62]; - - r = talloc(talloc_tos(), struct spoolss_62); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_62, r); - } - - r->out.result = _spoolss_62(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_62, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_63(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_63 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_63]; - - r = talloc(talloc_tos(), struct spoolss_63); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_63, r); - } - - r->out.result = _spoolss_63(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_63, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_64(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_64 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_64]; - - r = talloc(talloc_tos(), struct spoolss_64); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_64, r); - } - - r->out.result = _spoolss_64(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_64, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_65(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_65 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_65]; - - r = talloc(talloc_tos(), struct spoolss_65); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_65, r); - } - - r->out.result = _spoolss_65(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_65, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetCorePrinterDrivers(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetCorePrinterDrivers *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETCOREPRINTERDRIVERS]; - - r = talloc(talloc_tos(), struct spoolss_GetCorePrinterDrivers); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetCorePrinterDrivers, r); - } - - ZERO_STRUCT(r->out); - r->out.core_printer_drivers = talloc_zero_array(r, struct spoolss_CorePrinterDriver, r->in.core_printer_driver_count); - if (r->out.core_printer_drivers == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetCorePrinterDrivers(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetCorePrinterDrivers, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_67(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_67 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_67]; - - r = talloc(talloc_tos(), struct spoolss_67); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_67, r); - } - - r->out.result = _spoolss_67(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_67, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_GetPrinterDriverPackagePath(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_GetPrinterDriverPackagePath *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_GETPRINTERDRIVERPACKAGEPATH]; - - r = talloc(talloc_tos(), struct spoolss_GetPrinterDriverPackagePath); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_GetPrinterDriverPackagePath, r); - } - - ZERO_STRUCT(r->out); - r->out.driver_package_cab = r->in.driver_package_cab; - r->out.required = talloc_zero(r, uint32_t); - if (r->out.required == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _spoolss_GetPrinterDriverPackagePath(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_GetPrinterDriverPackagePath, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_69(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_69 *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_69]; - - r = talloc(talloc_tos(), struct spoolss_69); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_69, r); - } - - r->out.result = _spoolss_69(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_69, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_6a(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_6a *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_6A]; - - r = talloc(talloc_tos(), struct spoolss_6a); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_6a, r); - } - - r->out.result = _spoolss_6a(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_6a, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_6b(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_6b *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_6B]; - - r = talloc(talloc_tos(), struct spoolss_6b); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_6b, r); - } - - r->out.result = _spoolss_6b(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_6b, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_6c(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_6c *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_6C]; - - r = talloc(talloc_tos(), struct spoolss_6c); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_6c, r); - } - - r->out.result = _spoolss_6c(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_6c, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_spoolss_6d(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct spoolss_6d *r; - - call = &ndr_table_spoolss.calls[NDR_SPOOLSS_6D]; - - r = talloc(talloc_tos(), struct spoolss_6d); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(spoolss_6d, r); - } - - r->out.result = _spoolss_6d(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(spoolss_6d, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_spoolss_cmds[] = -{ - {"SPOOLSS_ENUMPRINTERS", NDR_SPOOLSS_ENUMPRINTERS, api_spoolss_EnumPrinters}, - {"SPOOLSS_OPENPRINTER", NDR_SPOOLSS_OPENPRINTER, api_spoolss_OpenPrinter}, - {"SPOOLSS_SETJOB", NDR_SPOOLSS_SETJOB, api_spoolss_SetJob}, - {"SPOOLSS_GETJOB", NDR_SPOOLSS_GETJOB, api_spoolss_GetJob}, - {"SPOOLSS_ENUMJOBS", NDR_SPOOLSS_ENUMJOBS, api_spoolss_EnumJobs}, - {"SPOOLSS_ADDPRINTER", NDR_SPOOLSS_ADDPRINTER, api_spoolss_AddPrinter}, - {"SPOOLSS_DELETEPRINTER", NDR_SPOOLSS_DELETEPRINTER, api_spoolss_DeletePrinter}, - {"SPOOLSS_SETPRINTER", NDR_SPOOLSS_SETPRINTER, api_spoolss_SetPrinter}, - {"SPOOLSS_GETPRINTER", NDR_SPOOLSS_GETPRINTER, api_spoolss_GetPrinter}, - {"SPOOLSS_ADDPRINTERDRIVER", NDR_SPOOLSS_ADDPRINTERDRIVER, api_spoolss_AddPrinterDriver}, - {"SPOOLSS_ENUMPRINTERDRIVERS", NDR_SPOOLSS_ENUMPRINTERDRIVERS, api_spoolss_EnumPrinterDrivers}, - {"SPOOLSS_GETPRINTERDRIVER", NDR_SPOOLSS_GETPRINTERDRIVER, api_spoolss_GetPrinterDriver}, - {"SPOOLSS_GETPRINTERDRIVERDIRECTORY", NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY, api_spoolss_GetPrinterDriverDirectory}, - {"SPOOLSS_DELETEPRINTERDRIVER", NDR_SPOOLSS_DELETEPRINTERDRIVER, api_spoolss_DeletePrinterDriver}, - {"SPOOLSS_ADDPRINTPROCESSOR", NDR_SPOOLSS_ADDPRINTPROCESSOR, api_spoolss_AddPrintProcessor}, - {"SPOOLSS_ENUMPRINTPROCESSORS", NDR_SPOOLSS_ENUMPRINTPROCESSORS, api_spoolss_EnumPrintProcessors}, - {"SPOOLSS_GETPRINTPROCESSORDIRECTORY", NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY, api_spoolss_GetPrintProcessorDirectory}, - {"SPOOLSS_STARTDOCPRINTER", NDR_SPOOLSS_STARTDOCPRINTER, api_spoolss_StartDocPrinter}, - {"SPOOLSS_STARTPAGEPRINTER", NDR_SPOOLSS_STARTPAGEPRINTER, api_spoolss_StartPagePrinter}, - {"SPOOLSS_WRITEPRINTER", NDR_SPOOLSS_WRITEPRINTER, api_spoolss_WritePrinter}, - {"SPOOLSS_ENDPAGEPRINTER", NDR_SPOOLSS_ENDPAGEPRINTER, api_spoolss_EndPagePrinter}, - {"SPOOLSS_ABORTPRINTER", NDR_SPOOLSS_ABORTPRINTER, api_spoolss_AbortPrinter}, - {"SPOOLSS_READPRINTER", NDR_SPOOLSS_READPRINTER, api_spoolss_ReadPrinter}, - {"SPOOLSS_ENDDOCPRINTER", NDR_SPOOLSS_ENDDOCPRINTER, api_spoolss_EndDocPrinter}, - {"SPOOLSS_ADDJOB", NDR_SPOOLSS_ADDJOB, api_spoolss_AddJob}, - {"SPOOLSS_SCHEDULEJOB", NDR_SPOOLSS_SCHEDULEJOB, api_spoolss_ScheduleJob}, - {"SPOOLSS_GETPRINTERDATA", NDR_SPOOLSS_GETPRINTERDATA, api_spoolss_GetPrinterData}, - {"SPOOLSS_SETPRINTERDATA", NDR_SPOOLSS_SETPRINTERDATA, api_spoolss_SetPrinterData}, - {"SPOOLSS_WAITFORPRINTERCHANGE", NDR_SPOOLSS_WAITFORPRINTERCHANGE, api_spoolss_WaitForPrinterChange}, - {"SPOOLSS_CLOSEPRINTER", NDR_SPOOLSS_CLOSEPRINTER, api_spoolss_ClosePrinter}, - {"SPOOLSS_ADDFORM", NDR_SPOOLSS_ADDFORM, api_spoolss_AddForm}, - {"SPOOLSS_DELETEFORM", NDR_SPOOLSS_DELETEFORM, api_spoolss_DeleteForm}, - {"SPOOLSS_GETFORM", NDR_SPOOLSS_GETFORM, api_spoolss_GetForm}, - {"SPOOLSS_SETFORM", NDR_SPOOLSS_SETFORM, api_spoolss_SetForm}, - {"SPOOLSS_ENUMFORMS", NDR_SPOOLSS_ENUMFORMS, api_spoolss_EnumForms}, - {"SPOOLSS_ENUMPORTS", NDR_SPOOLSS_ENUMPORTS, api_spoolss_EnumPorts}, - {"SPOOLSS_ENUMMONITORS", NDR_SPOOLSS_ENUMMONITORS, api_spoolss_EnumMonitors}, - {"SPOOLSS_ADDPORT", NDR_SPOOLSS_ADDPORT, api_spoolss_AddPort}, - {"SPOOLSS_CONFIGUREPORT", NDR_SPOOLSS_CONFIGUREPORT, api_spoolss_ConfigurePort}, - {"SPOOLSS_DELETEPORT", NDR_SPOOLSS_DELETEPORT, api_spoolss_DeletePort}, - {"SPOOLSS_CREATEPRINTERIC", NDR_SPOOLSS_CREATEPRINTERIC, api_spoolss_CreatePrinterIC}, - {"SPOOLSS_PLAYGDISCRIPTONPRINTERIC", NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC, api_spoolss_PlayGDIScriptOnPrinterIC}, - {"SPOOLSS_DELETEPRINTERIC", NDR_SPOOLSS_DELETEPRINTERIC, api_spoolss_DeletePrinterIC}, - {"SPOOLSS_ADDPRINTERCONNECTION", NDR_SPOOLSS_ADDPRINTERCONNECTION, api_spoolss_AddPrinterConnection}, - {"SPOOLSS_DELETEPRINTERCONNECTION", NDR_SPOOLSS_DELETEPRINTERCONNECTION, api_spoolss_DeletePrinterConnection}, - {"SPOOLSS_PRINTERMESSAGEBOX", NDR_SPOOLSS_PRINTERMESSAGEBOX, api_spoolss_PrinterMessageBox}, - {"SPOOLSS_ADDMONITOR", NDR_SPOOLSS_ADDMONITOR, api_spoolss_AddMonitor}, - {"SPOOLSS_DELETEMONITOR", NDR_SPOOLSS_DELETEMONITOR, api_spoolss_DeleteMonitor}, - {"SPOOLSS_DELETEPRINTPROCESSOR", NDR_SPOOLSS_DELETEPRINTPROCESSOR, api_spoolss_DeletePrintProcessor}, - {"SPOOLSS_ADDPRINTPROVIDOR", NDR_SPOOLSS_ADDPRINTPROVIDOR, api_spoolss_AddPrintProvidor}, - {"SPOOLSS_DELETEPRINTPROVIDOR", NDR_SPOOLSS_DELETEPRINTPROVIDOR, api_spoolss_DeletePrintProvidor}, - {"SPOOLSS_ENUMPRINTPROCDATATYPES", NDR_SPOOLSS_ENUMPRINTPROCDATATYPES, api_spoolss_EnumPrintProcDataTypes}, - {"SPOOLSS_RESETPRINTER", NDR_SPOOLSS_RESETPRINTER, api_spoolss_ResetPrinter}, - {"SPOOLSS_GETPRINTERDRIVER2", NDR_SPOOLSS_GETPRINTERDRIVER2, api_spoolss_GetPrinterDriver2}, - {"SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION", NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION, api_spoolss_FindFirstPrinterChangeNotification}, - {"SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION", NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION, api_spoolss_FindNextPrinterChangeNotification}, - {"SPOOLSS_FINDCLOSEPRINTERNOTIFY", NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY, api_spoolss_FindClosePrinterNotify}, - {"SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD", NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD, api_spoolss_RouterFindFirstPrinterChangeNotificationOld}, - {"SPOOLSS_REPLYOPENPRINTER", NDR_SPOOLSS_REPLYOPENPRINTER, api_spoolss_ReplyOpenPrinter}, - {"SPOOLSS_ROUTERREPLYPRINTER", NDR_SPOOLSS_ROUTERREPLYPRINTER, api_spoolss_RouterReplyPrinter}, - {"SPOOLSS_REPLYCLOSEPRINTER", NDR_SPOOLSS_REPLYCLOSEPRINTER, api_spoolss_ReplyClosePrinter}, - {"SPOOLSS_ADDPORTEX", NDR_SPOOLSS_ADDPORTEX, api_spoolss_AddPortEx}, - {"SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION", NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION, api_spoolss_RouterFindFirstPrinterChangeNotification}, - {"SPOOLSS_SPOOLERINIT", NDR_SPOOLSS_SPOOLERINIT, api_spoolss_SpoolerInit}, - {"SPOOLSS_RESETPRINTEREX", NDR_SPOOLSS_RESETPRINTEREX, api_spoolss_ResetPrinterEx}, - {"SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX", NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX, api_spoolss_RemoteFindFirstPrinterChangeNotifyEx}, - {"SPOOLSS_ROUTERREPLYPRINTEREX", NDR_SPOOLSS_ROUTERREPLYPRINTEREX, api_spoolss_RouterReplyPrinterEx}, - {"SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY", NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY, api_spoolss_RouterRefreshPrinterChangeNotify}, - {"SPOOLSS_44", NDR_SPOOLSS_44, api_spoolss_44}, - {"SPOOLSS_OPENPRINTEREX", NDR_SPOOLSS_OPENPRINTEREX, api_spoolss_OpenPrinterEx}, - {"SPOOLSS_ADDPRINTEREX", NDR_SPOOLSS_ADDPRINTEREX, api_spoolss_AddPrinterEx}, - {"SPOOLSS_47", NDR_SPOOLSS_47, api_spoolss_47}, - {"SPOOLSS_ENUMPRINTERDATA", NDR_SPOOLSS_ENUMPRINTERDATA, api_spoolss_EnumPrinterData}, - {"SPOOLSS_DELETEPRINTERDATA", NDR_SPOOLSS_DELETEPRINTERDATA, api_spoolss_DeletePrinterData}, - {"SPOOLSS_4A", NDR_SPOOLSS_4A, api_spoolss_4a}, - {"SPOOLSS_4B", NDR_SPOOLSS_4B, api_spoolss_4b}, - {"SPOOLSS_4C", NDR_SPOOLSS_4C, api_spoolss_4c}, - {"SPOOLSS_SETPRINTERDATAEX", NDR_SPOOLSS_SETPRINTERDATAEX, api_spoolss_SetPrinterDataEx}, - {"SPOOLSS_GETPRINTERDATAEX", NDR_SPOOLSS_GETPRINTERDATAEX, api_spoolss_GetPrinterDataEx}, - {"SPOOLSS_ENUMPRINTERDATAEX", NDR_SPOOLSS_ENUMPRINTERDATAEX, api_spoolss_EnumPrinterDataEx}, - {"SPOOLSS_ENUMPRINTERKEY", NDR_SPOOLSS_ENUMPRINTERKEY, api_spoolss_EnumPrinterKey}, - {"SPOOLSS_DELETEPRINTERDATAEX", NDR_SPOOLSS_DELETEPRINTERDATAEX, api_spoolss_DeletePrinterDataEx}, - {"SPOOLSS_DELETEPRINTERKEY", NDR_SPOOLSS_DELETEPRINTERKEY, api_spoolss_DeletePrinterKey}, - {"SPOOLSS_53", NDR_SPOOLSS_53, api_spoolss_53}, - {"SPOOLSS_DELETEPRINTERDRIVEREX", NDR_SPOOLSS_DELETEPRINTERDRIVEREX, api_spoolss_DeletePrinterDriverEx}, - {"SPOOLSS_55", NDR_SPOOLSS_55, api_spoolss_55}, - {"SPOOLSS_56", NDR_SPOOLSS_56, api_spoolss_56}, - {"SPOOLSS_57", NDR_SPOOLSS_57, api_spoolss_57}, - {"SPOOLSS_XCVDATA", NDR_SPOOLSS_XCVDATA, api_spoolss_XcvData}, - {"SPOOLSS_ADDPRINTERDRIVEREX", NDR_SPOOLSS_ADDPRINTERDRIVEREX, api_spoolss_AddPrinterDriverEx}, - {"SPOOLSS_5A", NDR_SPOOLSS_5A, api_spoolss_5a}, - {"SPOOLSS_5B", NDR_SPOOLSS_5B, api_spoolss_5b}, - {"SPOOLSS_5C", NDR_SPOOLSS_5C, api_spoolss_5c}, - {"SPOOLSS_5D", NDR_SPOOLSS_5D, api_spoolss_5d}, - {"SPOOLSS_5E", NDR_SPOOLSS_5E, api_spoolss_5e}, - {"SPOOLSS_5F", NDR_SPOOLSS_5F, api_spoolss_5f}, - {"SPOOLSS_60", NDR_SPOOLSS_60, api_spoolss_60}, - {"SPOOLSS_61", NDR_SPOOLSS_61, api_spoolss_61}, - {"SPOOLSS_62", NDR_SPOOLSS_62, api_spoolss_62}, - {"SPOOLSS_63", NDR_SPOOLSS_63, api_spoolss_63}, - {"SPOOLSS_64", NDR_SPOOLSS_64, api_spoolss_64}, - {"SPOOLSS_65", NDR_SPOOLSS_65, api_spoolss_65}, - {"SPOOLSS_GETCOREPRINTERDRIVERS", NDR_SPOOLSS_GETCOREPRINTERDRIVERS, api_spoolss_GetCorePrinterDrivers}, - {"SPOOLSS_67", NDR_SPOOLSS_67, api_spoolss_67}, - {"SPOOLSS_GETPRINTERDRIVERPACKAGEPATH", NDR_SPOOLSS_GETPRINTERDRIVERPACKAGEPATH, api_spoolss_GetPrinterDriverPackagePath}, - {"SPOOLSS_69", NDR_SPOOLSS_69, api_spoolss_69}, - {"SPOOLSS_6A", NDR_SPOOLSS_6A, api_spoolss_6a}, - {"SPOOLSS_6B", NDR_SPOOLSS_6B, api_spoolss_6b}, - {"SPOOLSS_6C", NDR_SPOOLSS_6C, api_spoolss_6c}, - {"SPOOLSS_6D", NDR_SPOOLSS_6D, api_spoolss_6d}, -}; - -void spoolss_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_spoolss_cmds; - *n_fns = sizeof(api_spoolss_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_SPOOLSS_ENUMPRINTERS: { - struct spoolss_EnumPrinters *r = (struct spoolss_EnumPrinters *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_PrinterInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrinters(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_OPENPRINTER: { - struct spoolss_OpenPrinter *r = (struct spoolss_OpenPrinter *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_OpenPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SETJOB: { - struct spoolss_SetJob *r = (struct spoolss_SetJob *)_r; - r->out.result = _spoolss_SetJob(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETJOB: { - struct spoolss_GetJob *r = (struct spoolss_GetJob *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_JobInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetJob(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMJOBS: { - struct spoolss_EnumJobs *r = (struct spoolss_EnumJobs *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_JobInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumJobs(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTER: { - struct spoolss_AddPrinter *r = (struct spoolss_AddPrinter *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_AddPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTER: { - struct spoolss_DeletePrinter *r = (struct spoolss_DeletePrinter *)_r; - r->out.result = _spoolss_DeletePrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SETPRINTER: { - struct spoolss_SetPrinter *r = (struct spoolss_SetPrinter *)_r; - r->out.result = _spoolss_SetPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTER: { - struct spoolss_GetPrinter *r = (struct spoolss_GetPrinter *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_PrinterInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTERDRIVER: { - struct spoolss_AddPrinterDriver *r = (struct spoolss_AddPrinterDriver *)_r; - r->out.result = _spoolss_AddPrinterDriver(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPRINTERDRIVERS: { - struct spoolss_EnumPrinterDrivers *r = (struct spoolss_EnumPrinterDrivers *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_DriverInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrinterDrivers(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTERDRIVER: { - struct spoolss_GetPrinterDriver *r = (struct spoolss_GetPrinterDriver *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_DriverInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinterDriver(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTERDRIVERDIRECTORY: { - struct spoolss_GetPrinterDriverDirectory *r = (struct spoolss_GetPrinterDriverDirectory *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_DriverDirectoryInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinterDriverDirectory(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERDRIVER: { - struct spoolss_DeletePrinterDriver *r = (struct spoolss_DeletePrinterDriver *)_r; - r->out.result = _spoolss_DeletePrinterDriver(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTPROCESSOR: { - struct spoolss_AddPrintProcessor *r = (struct spoolss_AddPrintProcessor *)_r; - r->out.result = _spoolss_AddPrintProcessor(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPRINTPROCESSORS: { - struct spoolss_EnumPrintProcessors *r = (struct spoolss_EnumPrintProcessors *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_PrintProcessorInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrintProcessors(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTPROCESSORDIRECTORY: { - struct spoolss_GetPrintProcessorDirectory *r = (struct spoolss_GetPrintProcessorDirectory *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_PrintProcessorDirectoryInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrintProcessorDirectory(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_STARTDOCPRINTER: { - struct spoolss_StartDocPrinter *r = (struct spoolss_StartDocPrinter *)_r; - ZERO_STRUCT(r->out); - r->out.job_id = talloc_zero(mem_ctx, uint32_t); - if (r->out.job_id == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_StartDocPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_STARTPAGEPRINTER: { - struct spoolss_StartPagePrinter *r = (struct spoolss_StartPagePrinter *)_r; - r->out.result = _spoolss_StartPagePrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_WRITEPRINTER: { - struct spoolss_WritePrinter *r = (struct spoolss_WritePrinter *)_r; - ZERO_STRUCT(r->out); - r->out.num_written = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_written == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_WritePrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENDPAGEPRINTER: { - struct spoolss_EndPagePrinter *r = (struct spoolss_EndPagePrinter *)_r; - r->out.result = _spoolss_EndPagePrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ABORTPRINTER: { - struct spoolss_AbortPrinter *r = (struct spoolss_AbortPrinter *)_r; - r->out.result = _spoolss_AbortPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_READPRINTER: { - struct spoolss_ReadPrinter *r = (struct spoolss_ReadPrinter *)_r; - ZERO_STRUCT(r->out); - r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.data_size); - if (r->out.data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out._data_size = talloc_zero(mem_ctx, uint32_t); - if (r->out._data_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_ReadPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENDDOCPRINTER: { - struct spoolss_EndDocPrinter *r = (struct spoolss_EndDocPrinter *)_r; - r->out.result = _spoolss_EndDocPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDJOB: { - struct spoolss_AddJob *r = (struct spoolss_AddJob *)_r; - ZERO_STRUCT(r->out); - r->out.buffer = r->in.buffer; - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_AddJob(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SCHEDULEJOB: { - struct spoolss_ScheduleJob *r = (struct spoolss_ScheduleJob *)_r; - r->out.result = _spoolss_ScheduleJob(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTERDATA: { - struct spoolss_GetPrinterData *r = (struct spoolss_GetPrinterData *)_r; - ZERO_STRUCT(r->out); - r->out.type = talloc_zero(mem_ctx, enum winreg_Type); - if (r->out.type == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinterData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SETPRINTERDATA: { - struct spoolss_SetPrinterData *r = (struct spoolss_SetPrinterData *)_r; - r->out.result = _spoolss_SetPrinterData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_WAITFORPRINTERCHANGE: { - struct spoolss_WaitForPrinterChange *r = (struct spoolss_WaitForPrinterChange *)_r; - r->out.result = _spoolss_WaitForPrinterChange(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_CLOSEPRINTER: { - struct spoolss_ClosePrinter *r = (struct spoolss_ClosePrinter *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _spoolss_ClosePrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDFORM: { - struct spoolss_AddForm *r = (struct spoolss_AddForm *)_r; - r->out.result = _spoolss_AddForm(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEFORM: { - struct spoolss_DeleteForm *r = (struct spoolss_DeleteForm *)_r; - r->out.result = _spoolss_DeleteForm(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETFORM: { - struct spoolss_GetForm *r = (struct spoolss_GetForm *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_FormInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetForm(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SETFORM: { - struct spoolss_SetForm *r = (struct spoolss_SetForm *)_r; - r->out.result = _spoolss_SetForm(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMFORMS: { - struct spoolss_EnumForms *r = (struct spoolss_EnumForms *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_FormInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumForms(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPORTS: { - struct spoolss_EnumPorts *r = (struct spoolss_EnumPorts *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_PortInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPorts(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMMONITORS: { - struct spoolss_EnumMonitors *r = (struct spoolss_EnumMonitors *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_MonitorInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumMonitors(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPORT: { - struct spoolss_AddPort *r = (struct spoolss_AddPort *)_r; - r->out.result = _spoolss_AddPort(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_CONFIGUREPORT: { - struct spoolss_ConfigurePort *r = (struct spoolss_ConfigurePort *)_r; - r->out.result = _spoolss_ConfigurePort(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPORT: { - struct spoolss_DeletePort *r = (struct spoolss_DeletePort *)_r; - r->out.result = _spoolss_DeletePort(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_CREATEPRINTERIC: { - struct spoolss_CreatePrinterIC *r = (struct spoolss_CreatePrinterIC *)_r; - ZERO_STRUCT(r->out); - r->out.gdi_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.gdi_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_CreatePrinterIC(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_PLAYGDISCRIPTONPRINTERIC: { - struct spoolss_PlayGDIScriptOnPrinterIC *r = (struct spoolss_PlayGDIScriptOnPrinterIC *)_r; - r->out.result = _spoolss_PlayGDIScriptOnPrinterIC(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERIC: { - struct spoolss_DeletePrinterIC *r = (struct spoolss_DeletePrinterIC *)_r; - ZERO_STRUCT(r->out); - r->out.gdi_handle = r->in.gdi_handle; - r->out.result = _spoolss_DeletePrinterIC(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTERCONNECTION: { - struct spoolss_AddPrinterConnection *r = (struct spoolss_AddPrinterConnection *)_r; - r->out.result = _spoolss_AddPrinterConnection(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERCONNECTION: { - struct spoolss_DeletePrinterConnection *r = (struct spoolss_DeletePrinterConnection *)_r; - r->out.result = _spoolss_DeletePrinterConnection(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_PRINTERMESSAGEBOX: { - struct spoolss_PrinterMessageBox *r = (struct spoolss_PrinterMessageBox *)_r; - r->out.result = _spoolss_PrinterMessageBox(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDMONITOR: { - struct spoolss_AddMonitor *r = (struct spoolss_AddMonitor *)_r; - r->out.result = _spoolss_AddMonitor(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEMONITOR: { - struct spoolss_DeleteMonitor *r = (struct spoolss_DeleteMonitor *)_r; - r->out.result = _spoolss_DeleteMonitor(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTPROCESSOR: { - struct spoolss_DeletePrintProcessor *r = (struct spoolss_DeletePrintProcessor *)_r; - r->out.result = _spoolss_DeletePrintProcessor(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTPROVIDOR: { - struct spoolss_AddPrintProvidor *r = (struct spoolss_AddPrintProvidor *)_r; - r->out.result = _spoolss_AddPrintProvidor(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTPROVIDOR: { - struct spoolss_DeletePrintProvidor *r = (struct spoolss_DeletePrintProvidor *)_r; - r->out.result = _spoolss_DeletePrintProvidor(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPRINTPROCDATATYPES: { - struct spoolss_EnumPrintProcDataTypes *r = (struct spoolss_EnumPrintProcDataTypes *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, union spoolss_PrintProcDataTypesInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrintProcDataTypes(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_RESETPRINTER: { - struct spoolss_ResetPrinter *r = (struct spoolss_ResetPrinter *)_r; - r->out.result = _spoolss_ResetPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTERDRIVER2: { - struct spoolss_GetPrinterDriver2 *r = (struct spoolss_GetPrinterDriver2 *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union spoolss_DriverInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.server_major_version = talloc_zero(mem_ctx, uint32_t); - if (r->out.server_major_version == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.server_minor_version = talloc_zero(mem_ctx, uint32_t); - if (r->out.server_minor_version == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinterDriver2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION: { - struct spoolss_FindFirstPrinterChangeNotification *r = (struct spoolss_FindFirstPrinterChangeNotification *)_r; - r->out.result = _spoolss_FindFirstPrinterChangeNotification(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION: { - struct spoolss_FindNextPrinterChangeNotification *r = (struct spoolss_FindNextPrinterChangeNotification *)_r; - r->out.result = _spoolss_FindNextPrinterChangeNotification(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_FINDCLOSEPRINTERNOTIFY: { - struct spoolss_FindClosePrinterNotify *r = (struct spoolss_FindClosePrinterNotify *)_r; - r->out.result = _spoolss_FindClosePrinterNotify(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATIONOLD: { - struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r = (struct spoolss_RouterFindFirstPrinterChangeNotificationOld *)_r; - r->out.result = _spoolss_RouterFindFirstPrinterChangeNotificationOld(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_REPLYOPENPRINTER: { - struct spoolss_ReplyOpenPrinter *r = (struct spoolss_ReplyOpenPrinter *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_ReplyOpenPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ROUTERREPLYPRINTER: { - struct spoolss_RouterReplyPrinter *r = (struct spoolss_RouterReplyPrinter *)_r; - r->out.result = _spoolss_RouterReplyPrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_REPLYCLOSEPRINTER: { - struct spoolss_ReplyClosePrinter *r = (struct spoolss_ReplyClosePrinter *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _spoolss_ReplyClosePrinter(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPORTEX: { - struct spoolss_AddPortEx *r = (struct spoolss_AddPortEx *)_r; - r->out.result = _spoolss_AddPortEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ROUTERFINDFIRSTPRINTERCHANGENOTIFICATION: { - struct spoolss_RouterFindFirstPrinterChangeNotification *r = (struct spoolss_RouterFindFirstPrinterChangeNotification *)_r; - r->out.result = _spoolss_RouterFindFirstPrinterChangeNotification(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SPOOLERINIT: { - struct spoolss_SpoolerInit *r = (struct spoolss_SpoolerInit *)_r; - r->out.result = _spoolss_SpoolerInit(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_RESETPRINTEREX: { - struct spoolss_ResetPrinterEx *r = (struct spoolss_ResetPrinterEx *)_r; - r->out.result = _spoolss_ResetPrinterEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFYEX: { - struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r = (struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *)_r; - r->out.result = _spoolss_RemoteFindFirstPrinterChangeNotifyEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ROUTERREPLYPRINTEREX: { - struct spoolss_RouterReplyPrinterEx *r = (struct spoolss_RouterReplyPrinterEx *)_r; - ZERO_STRUCT(r->out); - r->out.reply_result = talloc_zero(mem_ctx, uint32_t); - if (r->out.reply_result == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_RouterReplyPrinterEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFY: { - struct spoolss_RouterRefreshPrinterChangeNotify *r = (struct spoolss_RouterRefreshPrinterChangeNotify *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct spoolss_NotifyInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_RouterRefreshPrinterChangeNotify(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_44: { - struct spoolss_44 *r = (struct spoolss_44 *)_r; - r->out.result = _spoolss_44(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_OPENPRINTEREX: { - struct spoolss_OpenPrinterEx *r = (struct spoolss_OpenPrinterEx *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_OpenPrinterEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTEREX: { - struct spoolss_AddPrinterEx *r = (struct spoolss_AddPrinterEx *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_AddPrinterEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_47: { - struct spoolss_47 *r = (struct spoolss_47 *)_r; - r->out.result = _spoolss_47(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPRINTERDATA: { - struct spoolss_EnumPrinterData *r = (struct spoolss_EnumPrinterData *)_r; - ZERO_STRUCT(r->out); - r->out.value_name = talloc_zero_array(mem_ctx, const char, r->in.value_offered / 2); - if (r->out.value_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.value_needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.value_needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.type = talloc_zero(mem_ctx, enum winreg_Type); - if (r->out.type == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.data_offered); - if (r->out.data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.data_needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.data_needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrinterData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERDATA: { - struct spoolss_DeletePrinterData *r = (struct spoolss_DeletePrinterData *)_r; - r->out.result = _spoolss_DeletePrinterData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_4A: { - struct spoolss_4a *r = (struct spoolss_4a *)_r; - r->out.result = _spoolss_4a(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_4B: { - struct spoolss_4b *r = (struct spoolss_4b *)_r; - r->out.result = _spoolss_4b(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_4C: { - struct spoolss_4c *r = (struct spoolss_4c *)_r; - r->out.result = _spoolss_4c(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_SETPRINTERDATAEX: { - struct spoolss_SetPrinterDataEx *r = (struct spoolss_SetPrinterDataEx *)_r; - r->out.result = _spoolss_SetPrinterDataEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTERDATAEX: { - struct spoolss_GetPrinterDataEx *r = (struct spoolss_GetPrinterDataEx *)_r; - ZERO_STRUCT(r->out); - r->out.type = talloc_zero(mem_ctx, enum winreg_Type); - if (r->out.type == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinterDataEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPRINTERDATAEX: { - struct spoolss_EnumPrinterDataEx *r = (struct spoolss_EnumPrinterDataEx *)_r; - ZERO_STRUCT(r->out); - r->out.count = talloc_zero(mem_ctx, uint32_t); - if (r->out.count == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.info = talloc_zero(mem_ctx, struct spoolss_PrinterEnumValues *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrinterDataEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ENUMPRINTERKEY: { - struct spoolss_EnumPrinterKey *r = (struct spoolss_EnumPrinterKey *)_r; - ZERO_STRUCT(r->out); - r->out._ndr_size = talloc_zero(mem_ctx, uint32_t); - if (r->out._ndr_size == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.key_buffer = talloc_zero(mem_ctx, union spoolss_KeyNames); - if (r->out.key_buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_EnumPrinterKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERDATAEX: { - struct spoolss_DeletePrinterDataEx *r = (struct spoolss_DeletePrinterDataEx *)_r; - r->out.result = _spoolss_DeletePrinterDataEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERKEY: { - struct spoolss_DeletePrinterKey *r = (struct spoolss_DeletePrinterKey *)_r; - r->out.result = _spoolss_DeletePrinterKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_53: { - struct spoolss_53 *r = (struct spoolss_53 *)_r; - r->out.result = _spoolss_53(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_DELETEPRINTERDRIVEREX: { - struct spoolss_DeletePrinterDriverEx *r = (struct spoolss_DeletePrinterDriverEx *)_r; - r->out.result = _spoolss_DeletePrinterDriverEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_55: { - struct spoolss_55 *r = (struct spoolss_55 *)_r; - r->out.result = _spoolss_55(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_56: { - struct spoolss_56 *r = (struct spoolss_56 *)_r; - r->out.result = _spoolss_56(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_57: { - struct spoolss_57 *r = (struct spoolss_57 *)_r; - r->out.result = _spoolss_57(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_XCVDATA: { - struct spoolss_XcvData *r = (struct spoolss_XcvData *)_r; - ZERO_STRUCT(r->out); - r->out.status_code = r->in.status_code; - r->out.out_data = talloc_zero_array(mem_ctx, uint8_t, r->in.out_data_size); - if (r->out.out_data == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_XcvData(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_ADDPRINTERDRIVEREX: { - struct spoolss_AddPrinterDriverEx *r = (struct spoolss_AddPrinterDriverEx *)_r; - r->out.result = _spoolss_AddPrinterDriverEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_5A: { - struct spoolss_5a *r = (struct spoolss_5a *)_r; - r->out.result = _spoolss_5a(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_5B: { - struct spoolss_5b *r = (struct spoolss_5b *)_r; - r->out.result = _spoolss_5b(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_5C: { - struct spoolss_5c *r = (struct spoolss_5c *)_r; - r->out.result = _spoolss_5c(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_5D: { - struct spoolss_5d *r = (struct spoolss_5d *)_r; - r->out.result = _spoolss_5d(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_5E: { - struct spoolss_5e *r = (struct spoolss_5e *)_r; - r->out.result = _spoolss_5e(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_5F: { - struct spoolss_5f *r = (struct spoolss_5f *)_r; - r->out.result = _spoolss_5f(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_60: { - struct spoolss_60 *r = (struct spoolss_60 *)_r; - r->out.result = _spoolss_60(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_61: { - struct spoolss_61 *r = (struct spoolss_61 *)_r; - r->out.result = _spoolss_61(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_62: { - struct spoolss_62 *r = (struct spoolss_62 *)_r; - r->out.result = _spoolss_62(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_63: { - struct spoolss_63 *r = (struct spoolss_63 *)_r; - r->out.result = _spoolss_63(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_64: { - struct spoolss_64 *r = (struct spoolss_64 *)_r; - r->out.result = _spoolss_64(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_65: { - struct spoolss_65 *r = (struct spoolss_65 *)_r; - r->out.result = _spoolss_65(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETCOREPRINTERDRIVERS: { - struct spoolss_GetCorePrinterDrivers *r = (struct spoolss_GetCorePrinterDrivers *)_r; - ZERO_STRUCT(r->out); - r->out.core_printer_drivers = talloc_zero_array(mem_ctx, struct spoolss_CorePrinterDriver, r->in.core_printer_driver_count); - if (r->out.core_printer_drivers == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetCorePrinterDrivers(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_67: { - struct spoolss_67 *r = (struct spoolss_67 *)_r; - r->out.result = _spoolss_67(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_GETPRINTERDRIVERPACKAGEPATH: { - struct spoolss_GetPrinterDriverPackagePath *r = (struct spoolss_GetPrinterDriverPackagePath *)_r; - ZERO_STRUCT(r->out); - r->out.driver_package_cab = r->in.driver_package_cab; - r->out.required = talloc_zero(mem_ctx, uint32_t); - if (r->out.required == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _spoolss_GetPrinterDriverPackagePath(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_69: { - struct spoolss_69 *r = (struct spoolss_69 *)_r; - r->out.result = _spoolss_69(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_6A: { - struct spoolss_6a *r = (struct spoolss_6a *)_r; - r->out.result = _spoolss_6a(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_6B: { - struct spoolss_6b *r = (struct spoolss_6b *)_r; - r->out.result = _spoolss_6b(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_6C: { - struct spoolss_6c *r = (struct spoolss_6c *)_r; - r->out.result = _spoolss_6c(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SPOOLSS_6D: { - struct spoolss_6d *r = (struct spoolss_6d *)_r; - r->out.result = _spoolss_6d(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_spoolss_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "spoolss", "spoolss", &ndr_table_spoolss, api_spoolss_cmds, sizeof(api_spoolss_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_spoolss.h b/librpc/gen_ndr/srv_spoolss.h deleted file mode 100644 index 8b5d8f8d486..00000000000 --- a/librpc/gen_ndr/srv_spoolss.h +++ /dev/null @@ -1,227 +0,0 @@ -#include "../librpc/gen_ndr/ndr_spoolss.h" -#ifndef __SRV_SPOOLSS__ -#define __SRV_SPOOLSS__ -WERROR _spoolss_EnumPrinters(pipes_struct *p, struct spoolss_EnumPrinters *r); -WERROR _spoolss_OpenPrinter(pipes_struct *p, struct spoolss_OpenPrinter *r); -WERROR _spoolss_SetJob(pipes_struct *p, struct spoolss_SetJob *r); -WERROR _spoolss_GetJob(pipes_struct *p, struct spoolss_GetJob *r); -WERROR _spoolss_EnumJobs(pipes_struct *p, struct spoolss_EnumJobs *r); -WERROR _spoolss_AddPrinter(pipes_struct *p, struct spoolss_AddPrinter *r); -WERROR _spoolss_DeletePrinter(pipes_struct *p, struct spoolss_DeletePrinter *r); -WERROR _spoolss_SetPrinter(pipes_struct *p, struct spoolss_SetPrinter *r); -WERROR _spoolss_GetPrinter(pipes_struct *p, struct spoolss_GetPrinter *r); -WERROR _spoolss_AddPrinterDriver(pipes_struct *p, struct spoolss_AddPrinterDriver *r); -WERROR _spoolss_EnumPrinterDrivers(pipes_struct *p, struct spoolss_EnumPrinterDrivers *r); -WERROR _spoolss_GetPrinterDriver(pipes_struct *p, struct spoolss_GetPrinterDriver *r); -WERROR _spoolss_GetPrinterDriverDirectory(pipes_struct *p, struct spoolss_GetPrinterDriverDirectory *r); -WERROR _spoolss_DeletePrinterDriver(pipes_struct *p, struct spoolss_DeletePrinterDriver *r); -WERROR _spoolss_AddPrintProcessor(pipes_struct *p, struct spoolss_AddPrintProcessor *r); -WERROR _spoolss_EnumPrintProcessors(pipes_struct *p, struct spoolss_EnumPrintProcessors *r); -WERROR _spoolss_GetPrintProcessorDirectory(pipes_struct *p, struct spoolss_GetPrintProcessorDirectory *r); -WERROR _spoolss_StartDocPrinter(pipes_struct *p, struct spoolss_StartDocPrinter *r); -WERROR _spoolss_StartPagePrinter(pipes_struct *p, struct spoolss_StartPagePrinter *r); -WERROR _spoolss_WritePrinter(pipes_struct *p, struct spoolss_WritePrinter *r); -WERROR _spoolss_EndPagePrinter(pipes_struct *p, struct spoolss_EndPagePrinter *r); -WERROR _spoolss_AbortPrinter(pipes_struct *p, struct spoolss_AbortPrinter *r); -WERROR _spoolss_ReadPrinter(pipes_struct *p, struct spoolss_ReadPrinter *r); -WERROR _spoolss_EndDocPrinter(pipes_struct *p, struct spoolss_EndDocPrinter *r); -WERROR _spoolss_AddJob(pipes_struct *p, struct spoolss_AddJob *r); -WERROR _spoolss_ScheduleJob(pipes_struct *p, struct spoolss_ScheduleJob *r); -WERROR _spoolss_GetPrinterData(pipes_struct *p, struct spoolss_GetPrinterData *r); -WERROR _spoolss_SetPrinterData(pipes_struct *p, struct spoolss_SetPrinterData *r); -WERROR _spoolss_WaitForPrinterChange(pipes_struct *p, struct spoolss_WaitForPrinterChange *r); -WERROR _spoolss_ClosePrinter(pipes_struct *p, struct spoolss_ClosePrinter *r); -WERROR _spoolss_AddForm(pipes_struct *p, struct spoolss_AddForm *r); -WERROR _spoolss_DeleteForm(pipes_struct *p, struct spoolss_DeleteForm *r); -WERROR _spoolss_GetForm(pipes_struct *p, struct spoolss_GetForm *r); -WERROR _spoolss_SetForm(pipes_struct *p, struct spoolss_SetForm *r); -WERROR _spoolss_EnumForms(pipes_struct *p, struct spoolss_EnumForms *r); -WERROR _spoolss_EnumPorts(pipes_struct *p, struct spoolss_EnumPorts *r); -WERROR _spoolss_EnumMonitors(pipes_struct *p, struct spoolss_EnumMonitors *r); -WERROR _spoolss_AddPort(pipes_struct *p, struct spoolss_AddPort *r); -WERROR _spoolss_ConfigurePort(pipes_struct *p, struct spoolss_ConfigurePort *r); -WERROR _spoolss_DeletePort(pipes_struct *p, struct spoolss_DeletePort *r); -WERROR _spoolss_CreatePrinterIC(pipes_struct *p, struct spoolss_CreatePrinterIC *r); -WERROR _spoolss_PlayGDIScriptOnPrinterIC(pipes_struct *p, struct spoolss_PlayGDIScriptOnPrinterIC *r); -WERROR _spoolss_DeletePrinterIC(pipes_struct *p, struct spoolss_DeletePrinterIC *r); -WERROR _spoolss_AddPrinterConnection(pipes_struct *p, struct spoolss_AddPrinterConnection *r); -WERROR _spoolss_DeletePrinterConnection(pipes_struct *p, struct spoolss_DeletePrinterConnection *r); -WERROR _spoolss_PrinterMessageBox(pipes_struct *p, struct spoolss_PrinterMessageBox *r); -WERROR _spoolss_AddMonitor(pipes_struct *p, struct spoolss_AddMonitor *r); -WERROR _spoolss_DeleteMonitor(pipes_struct *p, struct spoolss_DeleteMonitor *r); -WERROR _spoolss_DeletePrintProcessor(pipes_struct *p, struct spoolss_DeletePrintProcessor *r); -WERROR _spoolss_AddPrintProvidor(pipes_struct *p, struct spoolss_AddPrintProvidor *r); -WERROR _spoolss_DeletePrintProvidor(pipes_struct *p, struct spoolss_DeletePrintProvidor *r); -WERROR _spoolss_EnumPrintProcDataTypes(pipes_struct *p, struct spoolss_EnumPrintProcDataTypes *r); -WERROR _spoolss_ResetPrinter(pipes_struct *p, struct spoolss_ResetPrinter *r); -WERROR _spoolss_GetPrinterDriver2(pipes_struct *p, struct spoolss_GetPrinterDriver2 *r); -WERROR _spoolss_FindFirstPrinterChangeNotification(pipes_struct *p, struct spoolss_FindFirstPrinterChangeNotification *r); -WERROR _spoolss_FindNextPrinterChangeNotification(pipes_struct *p, struct spoolss_FindNextPrinterChangeNotification *r); -WERROR _spoolss_FindClosePrinterNotify(pipes_struct *p, struct spoolss_FindClosePrinterNotify *r); -WERROR _spoolss_RouterFindFirstPrinterChangeNotificationOld(pipes_struct *p, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r); -WERROR _spoolss_ReplyOpenPrinter(pipes_struct *p, struct spoolss_ReplyOpenPrinter *r); -WERROR _spoolss_RouterReplyPrinter(pipes_struct *p, struct spoolss_RouterReplyPrinter *r); -WERROR _spoolss_ReplyClosePrinter(pipes_struct *p, struct spoolss_ReplyClosePrinter *r); -WERROR _spoolss_AddPortEx(pipes_struct *p, struct spoolss_AddPortEx *r); -WERROR _spoolss_RouterFindFirstPrinterChangeNotification(pipes_struct *p, struct spoolss_RouterFindFirstPrinterChangeNotification *r); -WERROR _spoolss_SpoolerInit(pipes_struct *p, struct spoolss_SpoolerInit *r); -WERROR _spoolss_ResetPrinterEx(pipes_struct *p, struct spoolss_ResetPrinterEx *r); -WERROR _spoolss_RemoteFindFirstPrinterChangeNotifyEx(pipes_struct *p, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r); -WERROR _spoolss_RouterReplyPrinterEx(pipes_struct *p, struct spoolss_RouterReplyPrinterEx *r); -WERROR _spoolss_RouterRefreshPrinterChangeNotify(pipes_struct *p, struct spoolss_RouterRefreshPrinterChangeNotify *r); -WERROR _spoolss_44(pipes_struct *p, struct spoolss_44 *r); -WERROR _spoolss_OpenPrinterEx(pipes_struct *p, struct spoolss_OpenPrinterEx *r); -WERROR _spoolss_AddPrinterEx(pipes_struct *p, struct spoolss_AddPrinterEx *r); -WERROR _spoolss_47(pipes_struct *p, struct spoolss_47 *r); -WERROR _spoolss_EnumPrinterData(pipes_struct *p, struct spoolss_EnumPrinterData *r); -WERROR _spoolss_DeletePrinterData(pipes_struct *p, struct spoolss_DeletePrinterData *r); -WERROR _spoolss_4a(pipes_struct *p, struct spoolss_4a *r); -WERROR _spoolss_4b(pipes_struct *p, struct spoolss_4b *r); -WERROR _spoolss_4c(pipes_struct *p, struct spoolss_4c *r); -WERROR _spoolss_SetPrinterDataEx(pipes_struct *p, struct spoolss_SetPrinterDataEx *r); -WERROR _spoolss_GetPrinterDataEx(pipes_struct *p, struct spoolss_GetPrinterDataEx *r); -WERROR _spoolss_EnumPrinterDataEx(pipes_struct *p, struct spoolss_EnumPrinterDataEx *r); -WERROR _spoolss_EnumPrinterKey(pipes_struct *p, struct spoolss_EnumPrinterKey *r); -WERROR _spoolss_DeletePrinterDataEx(pipes_struct *p, struct spoolss_DeletePrinterDataEx *r); -WERROR _spoolss_DeletePrinterKey(pipes_struct *p, struct spoolss_DeletePrinterKey *r); -WERROR _spoolss_53(pipes_struct *p, struct spoolss_53 *r); -WERROR _spoolss_DeletePrinterDriverEx(pipes_struct *p, struct spoolss_DeletePrinterDriverEx *r); -WERROR _spoolss_55(pipes_struct *p, struct spoolss_55 *r); -WERROR _spoolss_56(pipes_struct *p, struct spoolss_56 *r); -WERROR _spoolss_57(pipes_struct *p, struct spoolss_57 *r); -WERROR _spoolss_XcvData(pipes_struct *p, struct spoolss_XcvData *r); -WERROR _spoolss_AddPrinterDriverEx(pipes_struct *p, struct spoolss_AddPrinterDriverEx *r); -WERROR _spoolss_5a(pipes_struct *p, struct spoolss_5a *r); -WERROR _spoolss_5b(pipes_struct *p, struct spoolss_5b *r); -WERROR _spoolss_5c(pipes_struct *p, struct spoolss_5c *r); -WERROR _spoolss_5d(pipes_struct *p, struct spoolss_5d *r); -WERROR _spoolss_5e(pipes_struct *p, struct spoolss_5e *r); -WERROR _spoolss_5f(pipes_struct *p, struct spoolss_5f *r); -WERROR _spoolss_60(pipes_struct *p, struct spoolss_60 *r); -WERROR _spoolss_61(pipes_struct *p, struct spoolss_61 *r); -WERROR _spoolss_62(pipes_struct *p, struct spoolss_62 *r); -WERROR _spoolss_63(pipes_struct *p, struct spoolss_63 *r); -WERROR _spoolss_64(pipes_struct *p, struct spoolss_64 *r); -WERROR _spoolss_65(pipes_struct *p, struct spoolss_65 *r); -WERROR _spoolss_GetCorePrinterDrivers(pipes_struct *p, struct spoolss_GetCorePrinterDrivers *r); -WERROR _spoolss_67(pipes_struct *p, struct spoolss_67 *r); -WERROR _spoolss_GetPrinterDriverPackagePath(pipes_struct *p, struct spoolss_GetPrinterDriverPackagePath *r); -WERROR _spoolss_69(pipes_struct *p, struct spoolss_69 *r); -WERROR _spoolss_6a(pipes_struct *p, struct spoolss_6a *r); -WERROR _spoolss_6b(pipes_struct *p, struct spoolss_6b *r); -WERROR _spoolss_6c(pipes_struct *p, struct spoolss_6c *r); -WERROR _spoolss_6d(pipes_struct *p, struct spoolss_6d *r); -void spoolss_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _spoolss_EnumPrinters(pipes_struct *p, struct spoolss_EnumPrinters *r); -WERROR _spoolss_OpenPrinter(pipes_struct *p, struct spoolss_OpenPrinter *r); -WERROR _spoolss_SetJob(pipes_struct *p, struct spoolss_SetJob *r); -WERROR _spoolss_GetJob(pipes_struct *p, struct spoolss_GetJob *r); -WERROR _spoolss_EnumJobs(pipes_struct *p, struct spoolss_EnumJobs *r); -WERROR _spoolss_AddPrinter(pipes_struct *p, struct spoolss_AddPrinter *r); -WERROR _spoolss_DeletePrinter(pipes_struct *p, struct spoolss_DeletePrinter *r); -WERROR _spoolss_SetPrinter(pipes_struct *p, struct spoolss_SetPrinter *r); -WERROR _spoolss_GetPrinter(pipes_struct *p, struct spoolss_GetPrinter *r); -WERROR _spoolss_AddPrinterDriver(pipes_struct *p, struct spoolss_AddPrinterDriver *r); -WERROR _spoolss_EnumPrinterDrivers(pipes_struct *p, struct spoolss_EnumPrinterDrivers *r); -WERROR _spoolss_GetPrinterDriver(pipes_struct *p, struct spoolss_GetPrinterDriver *r); -WERROR _spoolss_GetPrinterDriverDirectory(pipes_struct *p, struct spoolss_GetPrinterDriverDirectory *r); -WERROR _spoolss_DeletePrinterDriver(pipes_struct *p, struct spoolss_DeletePrinterDriver *r); -WERROR _spoolss_AddPrintProcessor(pipes_struct *p, struct spoolss_AddPrintProcessor *r); -WERROR _spoolss_EnumPrintProcessors(pipes_struct *p, struct spoolss_EnumPrintProcessors *r); -WERROR _spoolss_GetPrintProcessorDirectory(pipes_struct *p, struct spoolss_GetPrintProcessorDirectory *r); -WERROR _spoolss_StartDocPrinter(pipes_struct *p, struct spoolss_StartDocPrinter *r); -WERROR _spoolss_StartPagePrinter(pipes_struct *p, struct spoolss_StartPagePrinter *r); -WERROR _spoolss_WritePrinter(pipes_struct *p, struct spoolss_WritePrinter *r); -WERROR _spoolss_EndPagePrinter(pipes_struct *p, struct spoolss_EndPagePrinter *r); -WERROR _spoolss_AbortPrinter(pipes_struct *p, struct spoolss_AbortPrinter *r); -WERROR _spoolss_ReadPrinter(pipes_struct *p, struct spoolss_ReadPrinter *r); -WERROR _spoolss_EndDocPrinter(pipes_struct *p, struct spoolss_EndDocPrinter *r); -WERROR _spoolss_AddJob(pipes_struct *p, struct spoolss_AddJob *r); -WERROR _spoolss_ScheduleJob(pipes_struct *p, struct spoolss_ScheduleJob *r); -WERROR _spoolss_GetPrinterData(pipes_struct *p, struct spoolss_GetPrinterData *r); -WERROR _spoolss_SetPrinterData(pipes_struct *p, struct spoolss_SetPrinterData *r); -WERROR _spoolss_WaitForPrinterChange(pipes_struct *p, struct spoolss_WaitForPrinterChange *r); -WERROR _spoolss_ClosePrinter(pipes_struct *p, struct spoolss_ClosePrinter *r); -WERROR _spoolss_AddForm(pipes_struct *p, struct spoolss_AddForm *r); -WERROR _spoolss_DeleteForm(pipes_struct *p, struct spoolss_DeleteForm *r); -WERROR _spoolss_GetForm(pipes_struct *p, struct spoolss_GetForm *r); -WERROR _spoolss_SetForm(pipes_struct *p, struct spoolss_SetForm *r); -WERROR _spoolss_EnumForms(pipes_struct *p, struct spoolss_EnumForms *r); -WERROR _spoolss_EnumPorts(pipes_struct *p, struct spoolss_EnumPorts *r); -WERROR _spoolss_EnumMonitors(pipes_struct *p, struct spoolss_EnumMonitors *r); -WERROR _spoolss_AddPort(pipes_struct *p, struct spoolss_AddPort *r); -WERROR _spoolss_ConfigurePort(pipes_struct *p, struct spoolss_ConfigurePort *r); -WERROR _spoolss_DeletePort(pipes_struct *p, struct spoolss_DeletePort *r); -WERROR _spoolss_CreatePrinterIC(pipes_struct *p, struct spoolss_CreatePrinterIC *r); -WERROR _spoolss_PlayGDIScriptOnPrinterIC(pipes_struct *p, struct spoolss_PlayGDIScriptOnPrinterIC *r); -WERROR _spoolss_DeletePrinterIC(pipes_struct *p, struct spoolss_DeletePrinterIC *r); -WERROR _spoolss_AddPrinterConnection(pipes_struct *p, struct spoolss_AddPrinterConnection *r); -WERROR _spoolss_DeletePrinterConnection(pipes_struct *p, struct spoolss_DeletePrinterConnection *r); -WERROR _spoolss_PrinterMessageBox(pipes_struct *p, struct spoolss_PrinterMessageBox *r); -WERROR _spoolss_AddMonitor(pipes_struct *p, struct spoolss_AddMonitor *r); -WERROR _spoolss_DeleteMonitor(pipes_struct *p, struct spoolss_DeleteMonitor *r); -WERROR _spoolss_DeletePrintProcessor(pipes_struct *p, struct spoolss_DeletePrintProcessor *r); -WERROR _spoolss_AddPrintProvidor(pipes_struct *p, struct spoolss_AddPrintProvidor *r); -WERROR _spoolss_DeletePrintProvidor(pipes_struct *p, struct spoolss_DeletePrintProvidor *r); -WERROR _spoolss_EnumPrintProcDataTypes(pipes_struct *p, struct spoolss_EnumPrintProcDataTypes *r); -WERROR _spoolss_ResetPrinter(pipes_struct *p, struct spoolss_ResetPrinter *r); -WERROR _spoolss_GetPrinterDriver2(pipes_struct *p, struct spoolss_GetPrinterDriver2 *r); -WERROR _spoolss_FindFirstPrinterChangeNotification(pipes_struct *p, struct spoolss_FindFirstPrinterChangeNotification *r); -WERROR _spoolss_FindNextPrinterChangeNotification(pipes_struct *p, struct spoolss_FindNextPrinterChangeNotification *r); -WERROR _spoolss_FindClosePrinterNotify(pipes_struct *p, struct spoolss_FindClosePrinterNotify *r); -WERROR _spoolss_RouterFindFirstPrinterChangeNotificationOld(pipes_struct *p, struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r); -WERROR _spoolss_ReplyOpenPrinter(pipes_struct *p, struct spoolss_ReplyOpenPrinter *r); -WERROR _spoolss_RouterReplyPrinter(pipes_struct *p, struct spoolss_RouterReplyPrinter *r); -WERROR _spoolss_ReplyClosePrinter(pipes_struct *p, struct spoolss_ReplyClosePrinter *r); -WERROR _spoolss_AddPortEx(pipes_struct *p, struct spoolss_AddPortEx *r); -WERROR _spoolss_RouterFindFirstPrinterChangeNotification(pipes_struct *p, struct spoolss_RouterFindFirstPrinterChangeNotification *r); -WERROR _spoolss_SpoolerInit(pipes_struct *p, struct spoolss_SpoolerInit *r); -WERROR _spoolss_ResetPrinterEx(pipes_struct *p, struct spoolss_ResetPrinterEx *r); -WERROR _spoolss_RemoteFindFirstPrinterChangeNotifyEx(pipes_struct *p, struct spoolss_RemoteFindFirstPrinterChangeNotifyEx *r); -WERROR _spoolss_RouterReplyPrinterEx(pipes_struct *p, struct spoolss_RouterReplyPrinterEx *r); -WERROR _spoolss_RouterRefreshPrinterChangeNotify(pipes_struct *p, struct spoolss_RouterRefreshPrinterChangeNotify *r); -WERROR _spoolss_44(pipes_struct *p, struct spoolss_44 *r); -WERROR _spoolss_OpenPrinterEx(pipes_struct *p, struct spoolss_OpenPrinterEx *r); -WERROR _spoolss_AddPrinterEx(pipes_struct *p, struct spoolss_AddPrinterEx *r); -WERROR _spoolss_47(pipes_struct *p, struct spoolss_47 *r); -WERROR _spoolss_EnumPrinterData(pipes_struct *p, struct spoolss_EnumPrinterData *r); -WERROR _spoolss_DeletePrinterData(pipes_struct *p, struct spoolss_DeletePrinterData *r); -WERROR _spoolss_4a(pipes_struct *p, struct spoolss_4a *r); -WERROR _spoolss_4b(pipes_struct *p, struct spoolss_4b *r); -WERROR _spoolss_4c(pipes_struct *p, struct spoolss_4c *r); -WERROR _spoolss_SetPrinterDataEx(pipes_struct *p, struct spoolss_SetPrinterDataEx *r); -WERROR _spoolss_GetPrinterDataEx(pipes_struct *p, struct spoolss_GetPrinterDataEx *r); -WERROR _spoolss_EnumPrinterDataEx(pipes_struct *p, struct spoolss_EnumPrinterDataEx *r); -WERROR _spoolss_EnumPrinterKey(pipes_struct *p, struct spoolss_EnumPrinterKey *r); -WERROR _spoolss_DeletePrinterDataEx(pipes_struct *p, struct spoolss_DeletePrinterDataEx *r); -WERROR _spoolss_DeletePrinterKey(pipes_struct *p, struct spoolss_DeletePrinterKey *r); -WERROR _spoolss_53(pipes_struct *p, struct spoolss_53 *r); -WERROR _spoolss_DeletePrinterDriverEx(pipes_struct *p, struct spoolss_DeletePrinterDriverEx *r); -WERROR _spoolss_55(pipes_struct *p, struct spoolss_55 *r); -WERROR _spoolss_56(pipes_struct *p, struct spoolss_56 *r); -WERROR _spoolss_57(pipes_struct *p, struct spoolss_57 *r); -WERROR _spoolss_XcvData(pipes_struct *p, struct spoolss_XcvData *r); -WERROR _spoolss_AddPrinterDriverEx(pipes_struct *p, struct spoolss_AddPrinterDriverEx *r); -WERROR _spoolss_5a(pipes_struct *p, struct spoolss_5a *r); -WERROR _spoolss_5b(pipes_struct *p, struct spoolss_5b *r); -WERROR _spoolss_5c(pipes_struct *p, struct spoolss_5c *r); -WERROR _spoolss_5d(pipes_struct *p, struct spoolss_5d *r); -WERROR _spoolss_5e(pipes_struct *p, struct spoolss_5e *r); -WERROR _spoolss_5f(pipes_struct *p, struct spoolss_5f *r); -WERROR _spoolss_60(pipes_struct *p, struct spoolss_60 *r); -WERROR _spoolss_61(pipes_struct *p, struct spoolss_61 *r); -WERROR _spoolss_62(pipes_struct *p, struct spoolss_62 *r); -WERROR _spoolss_63(pipes_struct *p, struct spoolss_63 *r); -WERROR _spoolss_64(pipes_struct *p, struct spoolss_64 *r); -WERROR _spoolss_65(pipes_struct *p, struct spoolss_65 *r); -WERROR _spoolss_GetCorePrinterDrivers(pipes_struct *p, struct spoolss_GetCorePrinterDrivers *r); -WERROR _spoolss_67(pipes_struct *p, struct spoolss_67 *r); -WERROR _spoolss_GetPrinterDriverPackagePath(pipes_struct *p, struct spoolss_GetPrinterDriverPackagePath *r); -WERROR _spoolss_69(pipes_struct *p, struct spoolss_69 *r); -WERROR _spoolss_6a(pipes_struct *p, struct spoolss_6a *r); -WERROR _spoolss_6b(pipes_struct *p, struct spoolss_6b *r); -WERROR _spoolss_6c(pipes_struct *p, struct spoolss_6c *r); -WERROR _spoolss_6d(pipes_struct *p, struct spoolss_6d *r); -NTSTATUS rpc_spoolss_init(void); -#endif /* __SRV_SPOOLSS__ */ diff --git a/librpc/gen_ndr/srv_srvsvc.c b/librpc/gen_ndr/srv_srvsvc.c deleted file mode 100644 index 96852f426ea..00000000000 --- a/librpc/gen_ndr/srv_srvsvc.c +++ /dev/null @@ -1,4688 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_srvsvc.h" - -static bool api_srvsvc_NetCharDevEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetCharDevEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevGetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVGETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union srvsvc_NetCharDevInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetCharDevGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevControl(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevControl *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVCONTROL]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevControl); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevControl, r); - } - - r->out.result = _srvsvc_NetCharDevControl(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevControl, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevQEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevQEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevQEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetCharDevQEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevQGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevQGetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQGETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevQGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union srvsvc_NetCharDevQInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetCharDevQGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevQSetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevQSetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQSETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevQSetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQSetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetCharDevQSetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQSetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevQPurge(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevQPurge *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQPURGE]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevQPurge); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurge, r); - } - - r->out.result = _srvsvc_NetCharDevQPurge(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQPurge, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetCharDevQPurgeSelf(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetCharDevQPurgeSelf *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCHARDEVQPURGESELF]; - - r = talloc(talloc_tos(), struct srvsvc_NetCharDevQPurgeSelf); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurgeSelf, r); - } - - r->out.result = _srvsvc_NetCharDevQPurgeSelf(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQPurgeSelf, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetConnEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetConnEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETCONNENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetConnEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetConnEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetConnEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetConnEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetFileEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetFileEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETFILEENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetFileEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetFileEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetFileEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetFileEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetFileGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetFileGetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETFILEGETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetFileGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetFileGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union srvsvc_NetFileInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetFileGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetFileGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetFileClose(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetFileClose *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETFILECLOSE]; - - r = talloc(talloc_tos(), struct srvsvc_NetFileClose); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetFileClose, r); - } - - r->out.result = _srvsvc_NetFileClose(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetFileClose, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetSessEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetSessEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSESSENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetSessEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetSessEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetSessEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetSessEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetSessDel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetSessDel *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSESSDEL]; - - r = talloc(talloc_tos(), struct srvsvc_NetSessDel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetSessDel, r); - } - - r->out.result = _srvsvc_NetSessDel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetSessDel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareAdd(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareAdd *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREADD]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareAdd); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareAdd, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetShareAdd(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareAdd, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareEnumAll(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareEnumAll *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREENUMALL]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareEnumAll); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnumAll, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetShareEnumAll(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnumAll, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareGetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREGETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union srvsvc_NetShareInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetShareGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareSetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareSetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHARESETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareSetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareSetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetShareSetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareSetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareDel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareDel *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDEL]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareDel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareDel, r); - } - - r->out.result = _srvsvc_NetShareDel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareDelSticky(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareDelSticky *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDELSTICKY]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareDelSticky); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelSticky, r); - } - - r->out.result = _srvsvc_NetShareDelSticky(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelSticky, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareCheck(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareCheck *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHARECHECK]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareCheck); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareCheck, r); - } - - ZERO_STRUCT(r->out); - r->out.type = talloc_zero(r, enum srvsvc_ShareType); - if (r->out.type == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetShareCheck(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareCheck, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetSrvGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetSrvGetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSRVGETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetSrvGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetSrvGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union srvsvc_NetSrvInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetSrvGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetSrvSetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetSrvSetInfo *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSRVSETINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NetSrvSetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetSrvSetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetSrvSetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvSetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetDiskEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetDiskEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETDISKENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetDiskEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetDiskEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetDiskEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetDiskEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetServerStatisticsGet(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetServerStatisticsGet *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSERVERSTATISTICSGET]; - - r = talloc(talloc_tos(), struct srvsvc_NetServerStatisticsGet); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetServerStatisticsGet, r); - } - - ZERO_STRUCT(r->out); - r->out.stats = talloc_zero(r, struct srvsvc_Statistics *); - if (r->out.stats == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetServerStatisticsGet(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetServerStatisticsGet, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetTransportAdd(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetTransportAdd *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETTRANSPORTADD]; - - r = talloc(talloc_tos(), struct srvsvc_NetTransportAdd); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetTransportAdd, r); - } - - r->out.result = _srvsvc_NetTransportAdd(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportAdd, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetTransportEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetTransportEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETTRANSPORTENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetTransportEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetTransportEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.transports = r->in.transports; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetTransportEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetTransportDel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetTransportDel *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETTRANSPORTDEL]; - - r = talloc(talloc_tos(), struct srvsvc_NetTransportDel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetTransportDel, r); - } - - r->out.result = _srvsvc_NetTransportDel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportDel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetRemoteTOD(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetRemoteTOD *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETREMOTETOD]; - - r = talloc(talloc_tos(), struct srvsvc_NetRemoteTOD); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetRemoteTOD, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct srvsvc_NetRemoteTODInfo *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetRemoteTOD(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetRemoteTOD, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetSetServiceBits(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetSetServiceBits *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSETSERVICEBITS]; - - r = talloc(talloc_tos(), struct srvsvc_NetSetServiceBits); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetSetServiceBits, r); - } - - r->out.result = _srvsvc_NetSetServiceBits(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetSetServiceBits, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetPathType(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetPathType *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPATHTYPE]; - - r = talloc(talloc_tos(), struct srvsvc_NetPathType); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetPathType, r); - } - - ZERO_STRUCT(r->out); - r->out.pathtype = talloc_zero(r, uint32_t); - if (r->out.pathtype == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetPathType(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetPathType, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetPathCanonicalize(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetPathCanonicalize *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPATHCANONICALIZE]; - - r = talloc(talloc_tos(), struct srvsvc_NetPathCanonicalize); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetPathCanonicalize, r); - } - - ZERO_STRUCT(r->out); - r->out.pathtype = r->in.pathtype; - r->out.can_path = talloc_zero_array(r, uint8_t, r->in.maxbuf); - if (r->out.can_path == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetPathCanonicalize(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCanonicalize, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetPathCompare(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetPathCompare *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPATHCOMPARE]; - - r = talloc(talloc_tos(), struct srvsvc_NetPathCompare); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetPathCompare, r); - } - - r->out.result = _srvsvc_NetPathCompare(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCompare, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetNameValidate(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetNameValidate *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETNAMEVALIDATE]; - - r = talloc(talloc_tos(), struct srvsvc_NetNameValidate); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetNameValidate, r); - } - - r->out.result = _srvsvc_NetNameValidate(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetNameValidate, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRPRNAMECANONICALIZE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRPRNAMECANONICALIZE *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRPRNAMECANONICALIZE]; - - r = talloc(talloc_tos(), struct srvsvc_NETRPRNAMECANONICALIZE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRPRNAMECANONICALIZE, r); - } - - r->out.result = _srvsvc_NETRPRNAMECANONICALIZE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRPRNAMECANONICALIZE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetPRNameCompare(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetPRNameCompare *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETPRNAMECOMPARE]; - - r = talloc(talloc_tos(), struct srvsvc_NetPRNameCompare); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetPRNameCompare, r); - } - - r->out.result = _srvsvc_NetPRNameCompare(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetPRNameCompare, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareEnum *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREENUM]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(r, uint32_t); - if (r->out.totalentries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetShareEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareDelStart(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareDelStart *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDELSTART]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareDelStart); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelStart, r); - } - - ZERO_STRUCT(r->out); - r->out.hnd = talloc_zero(r, struct policy_handle); - if (r->out.hnd == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetShareDelStart(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelStart, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetShareDelCommit(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetShareDelCommit *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSHAREDELCOMMIT]; - - r = talloc(talloc_tos(), struct srvsvc_NetShareDelCommit); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelCommit, r); - } - - ZERO_STRUCT(r->out); - r->out.hnd = r->in.hnd; - r->out.result = _srvsvc_NetShareDelCommit(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelCommit, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetGetFileSecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetGetFileSecurity *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETGETFILESECURITY]; - - r = talloc(talloc_tos(), struct srvsvc_NetGetFileSecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetGetFileSecurity, r); - } - - ZERO_STRUCT(r->out); - r->out.sd_buf = talloc_zero(r, struct sec_desc_buf *); - if (r->out.sd_buf == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _srvsvc_NetGetFileSecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetGetFileSecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetSetFileSecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetSetFileSecurity *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSETFILESECURITY]; - - r = talloc(talloc_tos(), struct srvsvc_NetSetFileSecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetSetFileSecurity, r); - } - - r->out.result = _srvsvc_NetSetFileSecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetSetFileSecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetServerTransportAddEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetServerTransportAddEx *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSERVERTRANSPORTADDEX]; - - r = talloc(talloc_tos(), struct srvsvc_NetServerTransportAddEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetServerTransportAddEx, r); - } - - r->out.result = _srvsvc_NetServerTransportAddEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetServerTransportAddEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NetServerSetServiceBitsEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NetServerSetServiceBitsEx *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETSERVERSETSERVICEBITSEX]; - - r = talloc(talloc_tos(), struct srvsvc_NetServerSetServiceBitsEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NetServerSetServiceBitsEx, r); - } - - r->out.result = _srvsvc_NetServerSetServiceBitsEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NetServerSetServiceBitsEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSGETVERSION(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSGETVERSION *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSGETVERSION]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSGETVERSION); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSGETVERSION, r); - } - - r->out.result = _srvsvc_NETRDFSGETVERSION(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSGETVERSION, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSCREATELOCALPARTITION(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSCREATELOCALPARTITION *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSCREATELOCALPARTITION]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSCREATELOCALPARTITION); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSCREATELOCALPARTITION, r); - } - - r->out.result = _srvsvc_NETRDFSCREATELOCALPARTITION(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSCREATELOCALPARTITION, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSDELETELOCALPARTITION(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSDELETELOCALPARTITION *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSDELETELOCALPARTITION]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSDELETELOCALPARTITION); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSDELETELOCALPARTITION, r); - } - - r->out.result = _srvsvc_NETRDFSDELETELOCALPARTITION(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSDELETELOCALPARTITION, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSSETLOCALVOLUMESTATE(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSSETLOCALVOLUMESTATE); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSSETLOCALVOLUMESTATE, r); - } - - r->out.result = _srvsvc_NETRDFSSETLOCALVOLUMESTATE(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSSETLOCALVOLUMESTATE, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSSETSERVERINFO(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSSETSERVERINFO *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSSETSERVERINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSSETSERVERINFO); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSSETSERVERINFO, r); - } - - r->out.result = _srvsvc_NETRDFSSETSERVERINFO(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSSETSERVERINFO, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSCREATEEXITPOINT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSCREATEEXITPOINT *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSCREATEEXITPOINT]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSCREATEEXITPOINT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSCREATEEXITPOINT, r); - } - - r->out.result = _srvsvc_NETRDFSCREATEEXITPOINT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSCREATEEXITPOINT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSDELETEEXITPOINT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSDELETEEXITPOINT *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSDELETEEXITPOINT]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSDELETEEXITPOINT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSDELETEEXITPOINT, r); - } - - r->out.result = _srvsvc_NETRDFSDELETEEXITPOINT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSDELETEEXITPOINT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSMODIFYPREFIX(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSMODIFYPREFIX *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSMODIFYPREFIX]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSMODIFYPREFIX); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSMODIFYPREFIX, r); - } - - r->out.result = _srvsvc_NETRDFSMODIFYPREFIX(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSMODIFYPREFIX, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSFIXLOCALVOLUME(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSFIXLOCALVOLUME *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSFIXLOCALVOLUME]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSFIXLOCALVOLUME); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSFIXLOCALVOLUME, r); - } - - r->out.result = _srvsvc_NETRDFSFIXLOCALVOLUME(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSFIXLOCALVOLUME, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRDFSMANAGERREPORTSITEINFO(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO]; - - r = talloc(talloc_tos(), struct srvsvc_NETRDFSMANAGERREPORTSITEINFO); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSMANAGERREPORTSITEINFO, r); - } - - r->out.result = _srvsvc_NETRDFSMANAGERREPORTSITEINFO(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSMANAGERREPORTSITEINFO, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_srvsvc_NETRSERVERTRANSPORTDELEX(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct srvsvc_NETRSERVERTRANSPORTDELEX *r; - - call = &ndr_table_srvsvc.calls[NDR_SRVSVC_NETRSERVERTRANSPORTDELEX]; - - r = talloc(talloc_tos(), struct srvsvc_NETRSERVERTRANSPORTDELEX); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(srvsvc_NETRSERVERTRANSPORTDELEX, r); - } - - r->out.result = _srvsvc_NETRSERVERTRANSPORTDELEX(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(srvsvc_NETRSERVERTRANSPORTDELEX, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_srvsvc_cmds[] = -{ - {"SRVSVC_NETCHARDEVENUM", NDR_SRVSVC_NETCHARDEVENUM, api_srvsvc_NetCharDevEnum}, - {"SRVSVC_NETCHARDEVGETINFO", NDR_SRVSVC_NETCHARDEVGETINFO, api_srvsvc_NetCharDevGetInfo}, - {"SRVSVC_NETCHARDEVCONTROL", NDR_SRVSVC_NETCHARDEVCONTROL, api_srvsvc_NetCharDevControl}, - {"SRVSVC_NETCHARDEVQENUM", NDR_SRVSVC_NETCHARDEVQENUM, api_srvsvc_NetCharDevQEnum}, - {"SRVSVC_NETCHARDEVQGETINFO", NDR_SRVSVC_NETCHARDEVQGETINFO, api_srvsvc_NetCharDevQGetInfo}, - {"SRVSVC_NETCHARDEVQSETINFO", NDR_SRVSVC_NETCHARDEVQSETINFO, api_srvsvc_NetCharDevQSetInfo}, - {"SRVSVC_NETCHARDEVQPURGE", NDR_SRVSVC_NETCHARDEVQPURGE, api_srvsvc_NetCharDevQPurge}, - {"SRVSVC_NETCHARDEVQPURGESELF", NDR_SRVSVC_NETCHARDEVQPURGESELF, api_srvsvc_NetCharDevQPurgeSelf}, - {"SRVSVC_NETCONNENUM", NDR_SRVSVC_NETCONNENUM, api_srvsvc_NetConnEnum}, - {"SRVSVC_NETFILEENUM", NDR_SRVSVC_NETFILEENUM, api_srvsvc_NetFileEnum}, - {"SRVSVC_NETFILEGETINFO", NDR_SRVSVC_NETFILEGETINFO, api_srvsvc_NetFileGetInfo}, - {"SRVSVC_NETFILECLOSE", NDR_SRVSVC_NETFILECLOSE, api_srvsvc_NetFileClose}, - {"SRVSVC_NETSESSENUM", NDR_SRVSVC_NETSESSENUM, api_srvsvc_NetSessEnum}, - {"SRVSVC_NETSESSDEL", NDR_SRVSVC_NETSESSDEL, api_srvsvc_NetSessDel}, - {"SRVSVC_NETSHAREADD", NDR_SRVSVC_NETSHAREADD, api_srvsvc_NetShareAdd}, - {"SRVSVC_NETSHAREENUMALL", NDR_SRVSVC_NETSHAREENUMALL, api_srvsvc_NetShareEnumAll}, - {"SRVSVC_NETSHAREGETINFO", NDR_SRVSVC_NETSHAREGETINFO, api_srvsvc_NetShareGetInfo}, - {"SRVSVC_NETSHARESETINFO", NDR_SRVSVC_NETSHARESETINFO, api_srvsvc_NetShareSetInfo}, - {"SRVSVC_NETSHAREDEL", NDR_SRVSVC_NETSHAREDEL, api_srvsvc_NetShareDel}, - {"SRVSVC_NETSHAREDELSTICKY", NDR_SRVSVC_NETSHAREDELSTICKY, api_srvsvc_NetShareDelSticky}, - {"SRVSVC_NETSHARECHECK", NDR_SRVSVC_NETSHARECHECK, api_srvsvc_NetShareCheck}, - {"SRVSVC_NETSRVGETINFO", NDR_SRVSVC_NETSRVGETINFO, api_srvsvc_NetSrvGetInfo}, - {"SRVSVC_NETSRVSETINFO", NDR_SRVSVC_NETSRVSETINFO, api_srvsvc_NetSrvSetInfo}, - {"SRVSVC_NETDISKENUM", NDR_SRVSVC_NETDISKENUM, api_srvsvc_NetDiskEnum}, - {"SRVSVC_NETSERVERSTATISTICSGET", NDR_SRVSVC_NETSERVERSTATISTICSGET, api_srvsvc_NetServerStatisticsGet}, - {"SRVSVC_NETTRANSPORTADD", NDR_SRVSVC_NETTRANSPORTADD, api_srvsvc_NetTransportAdd}, - {"SRVSVC_NETTRANSPORTENUM", NDR_SRVSVC_NETTRANSPORTENUM, api_srvsvc_NetTransportEnum}, - {"SRVSVC_NETTRANSPORTDEL", NDR_SRVSVC_NETTRANSPORTDEL, api_srvsvc_NetTransportDel}, - {"SRVSVC_NETREMOTETOD", NDR_SRVSVC_NETREMOTETOD, api_srvsvc_NetRemoteTOD}, - {"SRVSVC_NETSETSERVICEBITS", NDR_SRVSVC_NETSETSERVICEBITS, api_srvsvc_NetSetServiceBits}, - {"SRVSVC_NETPATHTYPE", NDR_SRVSVC_NETPATHTYPE, api_srvsvc_NetPathType}, - {"SRVSVC_NETPATHCANONICALIZE", NDR_SRVSVC_NETPATHCANONICALIZE, api_srvsvc_NetPathCanonicalize}, - {"SRVSVC_NETPATHCOMPARE", NDR_SRVSVC_NETPATHCOMPARE, api_srvsvc_NetPathCompare}, - {"SRVSVC_NETNAMEVALIDATE", NDR_SRVSVC_NETNAMEVALIDATE, api_srvsvc_NetNameValidate}, - {"SRVSVC_NETRPRNAMECANONICALIZE", NDR_SRVSVC_NETRPRNAMECANONICALIZE, api_srvsvc_NETRPRNAMECANONICALIZE}, - {"SRVSVC_NETPRNAMECOMPARE", NDR_SRVSVC_NETPRNAMECOMPARE, api_srvsvc_NetPRNameCompare}, - {"SRVSVC_NETSHAREENUM", NDR_SRVSVC_NETSHAREENUM, api_srvsvc_NetShareEnum}, - {"SRVSVC_NETSHAREDELSTART", NDR_SRVSVC_NETSHAREDELSTART, api_srvsvc_NetShareDelStart}, - {"SRVSVC_NETSHAREDELCOMMIT", NDR_SRVSVC_NETSHAREDELCOMMIT, api_srvsvc_NetShareDelCommit}, - {"SRVSVC_NETGETFILESECURITY", NDR_SRVSVC_NETGETFILESECURITY, api_srvsvc_NetGetFileSecurity}, - {"SRVSVC_NETSETFILESECURITY", NDR_SRVSVC_NETSETFILESECURITY, api_srvsvc_NetSetFileSecurity}, - {"SRVSVC_NETSERVERTRANSPORTADDEX", NDR_SRVSVC_NETSERVERTRANSPORTADDEX, api_srvsvc_NetServerTransportAddEx}, - {"SRVSVC_NETSERVERSETSERVICEBITSEX", NDR_SRVSVC_NETSERVERSETSERVICEBITSEX, api_srvsvc_NetServerSetServiceBitsEx}, - {"SRVSVC_NETRDFSGETVERSION", NDR_SRVSVC_NETRDFSGETVERSION, api_srvsvc_NETRDFSGETVERSION}, - {"SRVSVC_NETRDFSCREATELOCALPARTITION", NDR_SRVSVC_NETRDFSCREATELOCALPARTITION, api_srvsvc_NETRDFSCREATELOCALPARTITION}, - {"SRVSVC_NETRDFSDELETELOCALPARTITION", NDR_SRVSVC_NETRDFSDELETELOCALPARTITION, api_srvsvc_NETRDFSDELETELOCALPARTITION}, - {"SRVSVC_NETRDFSSETLOCALVOLUMESTATE", NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE, api_srvsvc_NETRDFSSETLOCALVOLUMESTATE}, - {"SRVSVC_NETRDFSSETSERVERINFO", NDR_SRVSVC_NETRDFSSETSERVERINFO, api_srvsvc_NETRDFSSETSERVERINFO}, - {"SRVSVC_NETRDFSCREATEEXITPOINT", NDR_SRVSVC_NETRDFSCREATEEXITPOINT, api_srvsvc_NETRDFSCREATEEXITPOINT}, - {"SRVSVC_NETRDFSDELETEEXITPOINT", NDR_SRVSVC_NETRDFSDELETEEXITPOINT, api_srvsvc_NETRDFSDELETEEXITPOINT}, - {"SRVSVC_NETRDFSMODIFYPREFIX", NDR_SRVSVC_NETRDFSMODIFYPREFIX, api_srvsvc_NETRDFSMODIFYPREFIX}, - {"SRVSVC_NETRDFSFIXLOCALVOLUME", NDR_SRVSVC_NETRDFSFIXLOCALVOLUME, api_srvsvc_NETRDFSFIXLOCALVOLUME}, - {"SRVSVC_NETRDFSMANAGERREPORTSITEINFO", NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO, api_srvsvc_NETRDFSMANAGERREPORTSITEINFO}, - {"SRVSVC_NETRSERVERTRANSPORTDELEX", NDR_SRVSVC_NETRSERVERTRANSPORTDELEX, api_srvsvc_NETRSERVERTRANSPORTDELEX}, -}; - -void srvsvc_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_srvsvc_cmds; - *n_fns = sizeof(api_srvsvc_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_srvsvc_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_SRVSVC_NETCHARDEVENUM: { - struct srvsvc_NetCharDevEnum *r = (struct srvsvc_NetCharDevEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetCharDevEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVGETINFO: { - struct srvsvc_NetCharDevGetInfo *r = (struct srvsvc_NetCharDevGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union srvsvc_NetCharDevInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetCharDevGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVCONTROL: { - struct srvsvc_NetCharDevControl *r = (struct srvsvc_NetCharDevControl *)_r; - r->out.result = _srvsvc_NetCharDevControl(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVQENUM: { - struct srvsvc_NetCharDevQEnum *r = (struct srvsvc_NetCharDevQEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetCharDevQEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVQGETINFO: { - struct srvsvc_NetCharDevQGetInfo *r = (struct srvsvc_NetCharDevQGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union srvsvc_NetCharDevQInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetCharDevQGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVQSETINFO: { - struct srvsvc_NetCharDevQSetInfo *r = (struct srvsvc_NetCharDevQSetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetCharDevQSetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVQPURGE: { - struct srvsvc_NetCharDevQPurge *r = (struct srvsvc_NetCharDevQPurge *)_r; - r->out.result = _srvsvc_NetCharDevQPurge(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCHARDEVQPURGESELF: { - struct srvsvc_NetCharDevQPurgeSelf *r = (struct srvsvc_NetCharDevQPurgeSelf *)_r; - r->out.result = _srvsvc_NetCharDevQPurgeSelf(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETCONNENUM: { - struct srvsvc_NetConnEnum *r = (struct srvsvc_NetConnEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetConnEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETFILEENUM: { - struct srvsvc_NetFileEnum *r = (struct srvsvc_NetFileEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetFileEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETFILEGETINFO: { - struct srvsvc_NetFileGetInfo *r = (struct srvsvc_NetFileGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union srvsvc_NetFileInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetFileGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETFILECLOSE: { - struct srvsvc_NetFileClose *r = (struct srvsvc_NetFileClose *)_r; - r->out.result = _srvsvc_NetFileClose(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSESSENUM: { - struct srvsvc_NetSessEnum *r = (struct srvsvc_NetSessEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetSessEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSESSDEL: { - struct srvsvc_NetSessDel *r = (struct srvsvc_NetSessDel *)_r; - r->out.result = _srvsvc_NetSessDel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREADD: { - struct srvsvc_NetShareAdd *r = (struct srvsvc_NetShareAdd *)_r; - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetShareAdd(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREENUMALL: { - struct srvsvc_NetShareEnumAll *r = (struct srvsvc_NetShareEnumAll *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetShareEnumAll(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREGETINFO: { - struct srvsvc_NetShareGetInfo *r = (struct srvsvc_NetShareGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union srvsvc_NetShareInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetShareGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHARESETINFO: { - struct srvsvc_NetShareSetInfo *r = (struct srvsvc_NetShareSetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetShareSetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREDEL: { - struct srvsvc_NetShareDel *r = (struct srvsvc_NetShareDel *)_r; - r->out.result = _srvsvc_NetShareDel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREDELSTICKY: { - struct srvsvc_NetShareDelSticky *r = (struct srvsvc_NetShareDelSticky *)_r; - r->out.result = _srvsvc_NetShareDelSticky(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHARECHECK: { - struct srvsvc_NetShareCheck *r = (struct srvsvc_NetShareCheck *)_r; - ZERO_STRUCT(r->out); - r->out.type = talloc_zero(mem_ctx, enum srvsvc_ShareType); - if (r->out.type == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetShareCheck(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSRVGETINFO: { - struct srvsvc_NetSrvGetInfo *r = (struct srvsvc_NetSrvGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union srvsvc_NetSrvInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetSrvGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSRVSETINFO: { - struct srvsvc_NetSrvSetInfo *r = (struct srvsvc_NetSrvSetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _srvsvc_NetSrvSetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETDISKENUM: { - struct srvsvc_NetDiskEnum *r = (struct srvsvc_NetDiskEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetDiskEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSERVERSTATISTICSGET: { - struct srvsvc_NetServerStatisticsGet *r = (struct srvsvc_NetServerStatisticsGet *)_r; - ZERO_STRUCT(r->out); - r->out.stats = talloc_zero(mem_ctx, struct srvsvc_Statistics *); - if (r->out.stats == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetServerStatisticsGet(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETTRANSPORTADD: { - struct srvsvc_NetTransportAdd *r = (struct srvsvc_NetTransportAdd *)_r; - r->out.result = _srvsvc_NetTransportAdd(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETTRANSPORTENUM: { - struct srvsvc_NetTransportEnum *r = (struct srvsvc_NetTransportEnum *)_r; - ZERO_STRUCT(r->out); - r->out.transports = r->in.transports; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetTransportEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETTRANSPORTDEL: { - struct srvsvc_NetTransportDel *r = (struct srvsvc_NetTransportDel *)_r; - r->out.result = _srvsvc_NetTransportDel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETREMOTETOD: { - struct srvsvc_NetRemoteTOD *r = (struct srvsvc_NetRemoteTOD *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct srvsvc_NetRemoteTODInfo *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetRemoteTOD(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSETSERVICEBITS: { - struct srvsvc_NetSetServiceBits *r = (struct srvsvc_NetSetServiceBits *)_r; - r->out.result = _srvsvc_NetSetServiceBits(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETPATHTYPE: { - struct srvsvc_NetPathType *r = (struct srvsvc_NetPathType *)_r; - ZERO_STRUCT(r->out); - r->out.pathtype = talloc_zero(mem_ctx, uint32_t); - if (r->out.pathtype == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetPathType(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETPATHCANONICALIZE: { - struct srvsvc_NetPathCanonicalize *r = (struct srvsvc_NetPathCanonicalize *)_r; - ZERO_STRUCT(r->out); - r->out.pathtype = r->in.pathtype; - r->out.can_path = talloc_zero_array(mem_ctx, uint8_t, r->in.maxbuf); - if (r->out.can_path == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetPathCanonicalize(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETPATHCOMPARE: { - struct srvsvc_NetPathCompare *r = (struct srvsvc_NetPathCompare *)_r; - r->out.result = _srvsvc_NetPathCompare(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETNAMEVALIDATE: { - struct srvsvc_NetNameValidate *r = (struct srvsvc_NetNameValidate *)_r; - r->out.result = _srvsvc_NetNameValidate(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRPRNAMECANONICALIZE: { - struct srvsvc_NETRPRNAMECANONICALIZE *r = (struct srvsvc_NETRPRNAMECANONICALIZE *)_r; - r->out.result = _srvsvc_NETRPRNAMECANONICALIZE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETPRNAMECOMPARE: { - struct srvsvc_NetPRNameCompare *r = (struct srvsvc_NetPRNameCompare *)_r; - r->out.result = _srvsvc_NetPRNameCompare(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREENUM: { - struct srvsvc_NetShareEnum *r = (struct srvsvc_NetShareEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info_ctr = r->in.info_ctr; - r->out.resume_handle = r->in.resume_handle; - r->out.totalentries = talloc_zero(mem_ctx, uint32_t); - if (r->out.totalentries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetShareEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREDELSTART: { - struct srvsvc_NetShareDelStart *r = (struct srvsvc_NetShareDelStart *)_r; - ZERO_STRUCT(r->out); - r->out.hnd = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.hnd == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetShareDelStart(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSHAREDELCOMMIT: { - struct srvsvc_NetShareDelCommit *r = (struct srvsvc_NetShareDelCommit *)_r; - ZERO_STRUCT(r->out); - r->out.hnd = r->in.hnd; - r->out.result = _srvsvc_NetShareDelCommit(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETGETFILESECURITY: { - struct srvsvc_NetGetFileSecurity *r = (struct srvsvc_NetGetFileSecurity *)_r; - ZERO_STRUCT(r->out); - r->out.sd_buf = talloc_zero(mem_ctx, struct sec_desc_buf *); - if (r->out.sd_buf == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _srvsvc_NetGetFileSecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSETFILESECURITY: { - struct srvsvc_NetSetFileSecurity *r = (struct srvsvc_NetSetFileSecurity *)_r; - r->out.result = _srvsvc_NetSetFileSecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSERVERTRANSPORTADDEX: { - struct srvsvc_NetServerTransportAddEx *r = (struct srvsvc_NetServerTransportAddEx *)_r; - r->out.result = _srvsvc_NetServerTransportAddEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETSERVERSETSERVICEBITSEX: { - struct srvsvc_NetServerSetServiceBitsEx *r = (struct srvsvc_NetServerSetServiceBitsEx *)_r; - r->out.result = _srvsvc_NetServerSetServiceBitsEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSGETVERSION: { - struct srvsvc_NETRDFSGETVERSION *r = (struct srvsvc_NETRDFSGETVERSION *)_r; - r->out.result = _srvsvc_NETRDFSGETVERSION(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSCREATELOCALPARTITION: { - struct srvsvc_NETRDFSCREATELOCALPARTITION *r = (struct srvsvc_NETRDFSCREATELOCALPARTITION *)_r; - r->out.result = _srvsvc_NETRDFSCREATELOCALPARTITION(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSDELETELOCALPARTITION: { - struct srvsvc_NETRDFSDELETELOCALPARTITION *r = (struct srvsvc_NETRDFSDELETELOCALPARTITION *)_r; - r->out.result = _srvsvc_NETRDFSDELETELOCALPARTITION(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE: { - struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r = (struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *)_r; - r->out.result = _srvsvc_NETRDFSSETLOCALVOLUMESTATE(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSSETSERVERINFO: { - struct srvsvc_NETRDFSSETSERVERINFO *r = (struct srvsvc_NETRDFSSETSERVERINFO *)_r; - r->out.result = _srvsvc_NETRDFSSETSERVERINFO(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSCREATEEXITPOINT: { - struct srvsvc_NETRDFSCREATEEXITPOINT *r = (struct srvsvc_NETRDFSCREATEEXITPOINT *)_r; - r->out.result = _srvsvc_NETRDFSCREATEEXITPOINT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSDELETEEXITPOINT: { - struct srvsvc_NETRDFSDELETEEXITPOINT *r = (struct srvsvc_NETRDFSDELETEEXITPOINT *)_r; - r->out.result = _srvsvc_NETRDFSDELETEEXITPOINT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSMODIFYPREFIX: { - struct srvsvc_NETRDFSMODIFYPREFIX *r = (struct srvsvc_NETRDFSMODIFYPREFIX *)_r; - r->out.result = _srvsvc_NETRDFSMODIFYPREFIX(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSFIXLOCALVOLUME: { - struct srvsvc_NETRDFSFIXLOCALVOLUME *r = (struct srvsvc_NETRDFSFIXLOCALVOLUME *)_r; - r->out.result = _srvsvc_NETRDFSFIXLOCALVOLUME(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO: { - struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r = (struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *)_r; - r->out.result = _srvsvc_NETRDFSMANAGERREPORTSITEINFO(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SRVSVC_NETRSERVERTRANSPORTDELEX: { - struct srvsvc_NETRSERVERTRANSPORTDELEX *r = (struct srvsvc_NETRSERVERTRANSPORTDELEX *)_r; - r->out.result = _srvsvc_NETRSERVERTRANSPORTDELEX(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_srvsvc_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "srvsvc", "srvsvc", &ndr_table_srvsvc, api_srvsvc_cmds, sizeof(api_srvsvc_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_srvsvc.h b/librpc/gen_ndr/srv_srvsvc.h deleted file mode 100644 index b96466c7008..00000000000 --- a/librpc/gen_ndr/srv_srvsvc.h +++ /dev/null @@ -1,115 +0,0 @@ -#include "../librpc/gen_ndr/ndr_srvsvc.h" -#ifndef __SRV_SRVSVC__ -#define __SRV_SRVSVC__ -WERROR _srvsvc_NetCharDevEnum(pipes_struct *p, struct srvsvc_NetCharDevEnum *r); -WERROR _srvsvc_NetCharDevGetInfo(pipes_struct *p, struct srvsvc_NetCharDevGetInfo *r); -WERROR _srvsvc_NetCharDevControl(pipes_struct *p, struct srvsvc_NetCharDevControl *r); -WERROR _srvsvc_NetCharDevQEnum(pipes_struct *p, struct srvsvc_NetCharDevQEnum *r); -WERROR _srvsvc_NetCharDevQGetInfo(pipes_struct *p, struct srvsvc_NetCharDevQGetInfo *r); -WERROR _srvsvc_NetCharDevQSetInfo(pipes_struct *p, struct srvsvc_NetCharDevQSetInfo *r); -WERROR _srvsvc_NetCharDevQPurge(pipes_struct *p, struct srvsvc_NetCharDevQPurge *r); -WERROR _srvsvc_NetCharDevQPurgeSelf(pipes_struct *p, struct srvsvc_NetCharDevQPurgeSelf *r); -WERROR _srvsvc_NetConnEnum(pipes_struct *p, struct srvsvc_NetConnEnum *r); -WERROR _srvsvc_NetFileEnum(pipes_struct *p, struct srvsvc_NetFileEnum *r); -WERROR _srvsvc_NetFileGetInfo(pipes_struct *p, struct srvsvc_NetFileGetInfo *r); -WERROR _srvsvc_NetFileClose(pipes_struct *p, struct srvsvc_NetFileClose *r); -WERROR _srvsvc_NetSessEnum(pipes_struct *p, struct srvsvc_NetSessEnum *r); -WERROR _srvsvc_NetSessDel(pipes_struct *p, struct srvsvc_NetSessDel *r); -WERROR _srvsvc_NetShareAdd(pipes_struct *p, struct srvsvc_NetShareAdd *r); -WERROR _srvsvc_NetShareEnumAll(pipes_struct *p, struct srvsvc_NetShareEnumAll *r); -WERROR _srvsvc_NetShareGetInfo(pipes_struct *p, struct srvsvc_NetShareGetInfo *r); -WERROR _srvsvc_NetShareSetInfo(pipes_struct *p, struct srvsvc_NetShareSetInfo *r); -WERROR _srvsvc_NetShareDel(pipes_struct *p, struct srvsvc_NetShareDel *r); -WERROR _srvsvc_NetShareDelSticky(pipes_struct *p, struct srvsvc_NetShareDelSticky *r); -WERROR _srvsvc_NetShareCheck(pipes_struct *p, struct srvsvc_NetShareCheck *r); -WERROR _srvsvc_NetSrvGetInfo(pipes_struct *p, struct srvsvc_NetSrvGetInfo *r); -WERROR _srvsvc_NetSrvSetInfo(pipes_struct *p, struct srvsvc_NetSrvSetInfo *r); -WERROR _srvsvc_NetDiskEnum(pipes_struct *p, struct srvsvc_NetDiskEnum *r); -WERROR _srvsvc_NetServerStatisticsGet(pipes_struct *p, struct srvsvc_NetServerStatisticsGet *r); -WERROR _srvsvc_NetTransportAdd(pipes_struct *p, struct srvsvc_NetTransportAdd *r); -WERROR _srvsvc_NetTransportEnum(pipes_struct *p, struct srvsvc_NetTransportEnum *r); -WERROR _srvsvc_NetTransportDel(pipes_struct *p, struct srvsvc_NetTransportDel *r); -WERROR _srvsvc_NetRemoteTOD(pipes_struct *p, struct srvsvc_NetRemoteTOD *r); -WERROR _srvsvc_NetSetServiceBits(pipes_struct *p, struct srvsvc_NetSetServiceBits *r); -WERROR _srvsvc_NetPathType(pipes_struct *p, struct srvsvc_NetPathType *r); -WERROR _srvsvc_NetPathCanonicalize(pipes_struct *p, struct srvsvc_NetPathCanonicalize *r); -WERROR _srvsvc_NetPathCompare(pipes_struct *p, struct srvsvc_NetPathCompare *r); -WERROR _srvsvc_NetNameValidate(pipes_struct *p, struct srvsvc_NetNameValidate *r); -WERROR _srvsvc_NETRPRNAMECANONICALIZE(pipes_struct *p, struct srvsvc_NETRPRNAMECANONICALIZE *r); -WERROR _srvsvc_NetPRNameCompare(pipes_struct *p, struct srvsvc_NetPRNameCompare *r); -WERROR _srvsvc_NetShareEnum(pipes_struct *p, struct srvsvc_NetShareEnum *r); -WERROR _srvsvc_NetShareDelStart(pipes_struct *p, struct srvsvc_NetShareDelStart *r); -WERROR _srvsvc_NetShareDelCommit(pipes_struct *p, struct srvsvc_NetShareDelCommit *r); -WERROR _srvsvc_NetGetFileSecurity(pipes_struct *p, struct srvsvc_NetGetFileSecurity *r); -WERROR _srvsvc_NetSetFileSecurity(pipes_struct *p, struct srvsvc_NetSetFileSecurity *r); -WERROR _srvsvc_NetServerTransportAddEx(pipes_struct *p, struct srvsvc_NetServerTransportAddEx *r); -WERROR _srvsvc_NetServerSetServiceBitsEx(pipes_struct *p, struct srvsvc_NetServerSetServiceBitsEx *r); -WERROR _srvsvc_NETRDFSGETVERSION(pipes_struct *p, struct srvsvc_NETRDFSGETVERSION *r); -WERROR _srvsvc_NETRDFSCREATELOCALPARTITION(pipes_struct *p, struct srvsvc_NETRDFSCREATELOCALPARTITION *r); -WERROR _srvsvc_NETRDFSDELETELOCALPARTITION(pipes_struct *p, struct srvsvc_NETRDFSDELETELOCALPARTITION *r); -WERROR _srvsvc_NETRDFSSETLOCALVOLUMESTATE(pipes_struct *p, struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r); -WERROR _srvsvc_NETRDFSSETSERVERINFO(pipes_struct *p, struct srvsvc_NETRDFSSETSERVERINFO *r); -WERROR _srvsvc_NETRDFSCREATEEXITPOINT(pipes_struct *p, struct srvsvc_NETRDFSCREATEEXITPOINT *r); -WERROR _srvsvc_NETRDFSDELETEEXITPOINT(pipes_struct *p, struct srvsvc_NETRDFSDELETEEXITPOINT *r); -WERROR _srvsvc_NETRDFSMODIFYPREFIX(pipes_struct *p, struct srvsvc_NETRDFSMODIFYPREFIX *r); -WERROR _srvsvc_NETRDFSFIXLOCALVOLUME(pipes_struct *p, struct srvsvc_NETRDFSFIXLOCALVOLUME *r); -WERROR _srvsvc_NETRDFSMANAGERREPORTSITEINFO(pipes_struct *p, struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r); -WERROR _srvsvc_NETRSERVERTRANSPORTDELEX(pipes_struct *p, struct srvsvc_NETRSERVERTRANSPORTDELEX *r); -void srvsvc_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_srvsvc_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _srvsvc_NetCharDevEnum(pipes_struct *p, struct srvsvc_NetCharDevEnum *r); -WERROR _srvsvc_NetCharDevGetInfo(pipes_struct *p, struct srvsvc_NetCharDevGetInfo *r); -WERROR _srvsvc_NetCharDevControl(pipes_struct *p, struct srvsvc_NetCharDevControl *r); -WERROR _srvsvc_NetCharDevQEnum(pipes_struct *p, struct srvsvc_NetCharDevQEnum *r); -WERROR _srvsvc_NetCharDevQGetInfo(pipes_struct *p, struct srvsvc_NetCharDevQGetInfo *r); -WERROR _srvsvc_NetCharDevQSetInfo(pipes_struct *p, struct srvsvc_NetCharDevQSetInfo *r); -WERROR _srvsvc_NetCharDevQPurge(pipes_struct *p, struct srvsvc_NetCharDevQPurge *r); -WERROR _srvsvc_NetCharDevQPurgeSelf(pipes_struct *p, struct srvsvc_NetCharDevQPurgeSelf *r); -WERROR _srvsvc_NetConnEnum(pipes_struct *p, struct srvsvc_NetConnEnum *r); -WERROR _srvsvc_NetFileEnum(pipes_struct *p, struct srvsvc_NetFileEnum *r); -WERROR _srvsvc_NetFileGetInfo(pipes_struct *p, struct srvsvc_NetFileGetInfo *r); -WERROR _srvsvc_NetFileClose(pipes_struct *p, struct srvsvc_NetFileClose *r); -WERROR _srvsvc_NetSessEnum(pipes_struct *p, struct srvsvc_NetSessEnum *r); -WERROR _srvsvc_NetSessDel(pipes_struct *p, struct srvsvc_NetSessDel *r); -WERROR _srvsvc_NetShareAdd(pipes_struct *p, struct srvsvc_NetShareAdd *r); -WERROR _srvsvc_NetShareEnumAll(pipes_struct *p, struct srvsvc_NetShareEnumAll *r); -WERROR _srvsvc_NetShareGetInfo(pipes_struct *p, struct srvsvc_NetShareGetInfo *r); -WERROR _srvsvc_NetShareSetInfo(pipes_struct *p, struct srvsvc_NetShareSetInfo *r); -WERROR _srvsvc_NetShareDel(pipes_struct *p, struct srvsvc_NetShareDel *r); -WERROR _srvsvc_NetShareDelSticky(pipes_struct *p, struct srvsvc_NetShareDelSticky *r); -WERROR _srvsvc_NetShareCheck(pipes_struct *p, struct srvsvc_NetShareCheck *r); -WERROR _srvsvc_NetSrvGetInfo(pipes_struct *p, struct srvsvc_NetSrvGetInfo *r); -WERROR _srvsvc_NetSrvSetInfo(pipes_struct *p, struct srvsvc_NetSrvSetInfo *r); -WERROR _srvsvc_NetDiskEnum(pipes_struct *p, struct srvsvc_NetDiskEnum *r); -WERROR _srvsvc_NetServerStatisticsGet(pipes_struct *p, struct srvsvc_NetServerStatisticsGet *r); -WERROR _srvsvc_NetTransportAdd(pipes_struct *p, struct srvsvc_NetTransportAdd *r); -WERROR _srvsvc_NetTransportEnum(pipes_struct *p, struct srvsvc_NetTransportEnum *r); -WERROR _srvsvc_NetTransportDel(pipes_struct *p, struct srvsvc_NetTransportDel *r); -WERROR _srvsvc_NetRemoteTOD(pipes_struct *p, struct srvsvc_NetRemoteTOD *r); -WERROR _srvsvc_NetSetServiceBits(pipes_struct *p, struct srvsvc_NetSetServiceBits *r); -WERROR _srvsvc_NetPathType(pipes_struct *p, struct srvsvc_NetPathType *r); -WERROR _srvsvc_NetPathCanonicalize(pipes_struct *p, struct srvsvc_NetPathCanonicalize *r); -WERROR _srvsvc_NetPathCompare(pipes_struct *p, struct srvsvc_NetPathCompare *r); -WERROR _srvsvc_NetNameValidate(pipes_struct *p, struct srvsvc_NetNameValidate *r); -WERROR _srvsvc_NETRPRNAMECANONICALIZE(pipes_struct *p, struct srvsvc_NETRPRNAMECANONICALIZE *r); -WERROR _srvsvc_NetPRNameCompare(pipes_struct *p, struct srvsvc_NetPRNameCompare *r); -WERROR _srvsvc_NetShareEnum(pipes_struct *p, struct srvsvc_NetShareEnum *r); -WERROR _srvsvc_NetShareDelStart(pipes_struct *p, struct srvsvc_NetShareDelStart *r); -WERROR _srvsvc_NetShareDelCommit(pipes_struct *p, struct srvsvc_NetShareDelCommit *r); -WERROR _srvsvc_NetGetFileSecurity(pipes_struct *p, struct srvsvc_NetGetFileSecurity *r); -WERROR _srvsvc_NetSetFileSecurity(pipes_struct *p, struct srvsvc_NetSetFileSecurity *r); -WERROR _srvsvc_NetServerTransportAddEx(pipes_struct *p, struct srvsvc_NetServerTransportAddEx *r); -WERROR _srvsvc_NetServerSetServiceBitsEx(pipes_struct *p, struct srvsvc_NetServerSetServiceBitsEx *r); -WERROR _srvsvc_NETRDFSGETVERSION(pipes_struct *p, struct srvsvc_NETRDFSGETVERSION *r); -WERROR _srvsvc_NETRDFSCREATELOCALPARTITION(pipes_struct *p, struct srvsvc_NETRDFSCREATELOCALPARTITION *r); -WERROR _srvsvc_NETRDFSDELETELOCALPARTITION(pipes_struct *p, struct srvsvc_NETRDFSDELETELOCALPARTITION *r); -WERROR _srvsvc_NETRDFSSETLOCALVOLUMESTATE(pipes_struct *p, struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r); -WERROR _srvsvc_NETRDFSSETSERVERINFO(pipes_struct *p, struct srvsvc_NETRDFSSETSERVERINFO *r); -WERROR _srvsvc_NETRDFSCREATEEXITPOINT(pipes_struct *p, struct srvsvc_NETRDFSCREATEEXITPOINT *r); -WERROR _srvsvc_NETRDFSDELETEEXITPOINT(pipes_struct *p, struct srvsvc_NETRDFSDELETEEXITPOINT *r); -WERROR _srvsvc_NETRDFSMODIFYPREFIX(pipes_struct *p, struct srvsvc_NETRDFSMODIFYPREFIX *r); -WERROR _srvsvc_NETRDFSFIXLOCALVOLUME(pipes_struct *p, struct srvsvc_NETRDFSFIXLOCALVOLUME *r); -WERROR _srvsvc_NETRDFSMANAGERREPORTSITEINFO(pipes_struct *p, struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r); -WERROR _srvsvc_NETRSERVERTRANSPORTDELEX(pipes_struct *p, struct srvsvc_NETRSERVERTRANSPORTDELEX *r); -NTSTATUS rpc_srvsvc_init(void); -#endif /* __SRV_SRVSVC__ */ diff --git a/librpc/gen_ndr/srv_svcctl.c b/librpc/gen_ndr/srv_svcctl.c deleted file mode 100644 index e218c83026d..00000000000 --- a/librpc/gen_ndr/srv_svcctl.c +++ /dev/null @@ -1,4178 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_svcctl.h" - -static bool api_svcctl_CloseServiceHandle(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_CloseServiceHandle *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CLOSESERVICEHANDLE]; - - r = talloc(talloc_tos(), struct svcctl_CloseServiceHandle); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_CloseServiceHandle, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _svcctl_CloseServiceHandle(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_CloseServiceHandle, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_ControlService(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_ControlService *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CONTROLSERVICE]; - - r = talloc(talloc_tos(), struct svcctl_ControlService); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_ControlService, r); - } - - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero(r, struct SERVICE_STATUS); - if (r->out.service_status == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_ControlService(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_ControlService, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_DeleteService(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_DeleteService *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_DELETESERVICE]; - - r = talloc(talloc_tos(), struct svcctl_DeleteService); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_DeleteService, r); - } - - r->out.result = _svcctl_DeleteService(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_DeleteService, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_LockServiceDatabase(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_LockServiceDatabase *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_LOCKSERVICEDATABASE]; - - r = talloc(talloc_tos(), struct svcctl_LockServiceDatabase); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_LockServiceDatabase, r); - } - - ZERO_STRUCT(r->out); - r->out.lock = talloc_zero(r, struct policy_handle); - if (r->out.lock == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_LockServiceDatabase(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_LockServiceDatabase, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceObjectSecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceObjectSecurity *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICEOBJECTSECURITY]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceObjectSecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceObjectSecurity, r); - } - - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceObjectSecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceObjectSecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_SetServiceObjectSecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_SetServiceObjectSecurity *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_SETSERVICEOBJECTSECURITY]; - - r = talloc(talloc_tos(), struct svcctl_SetServiceObjectSecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_SetServiceObjectSecurity, r); - } - - r->out.result = _svcctl_SetServiceObjectSecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_SetServiceObjectSecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceStatus(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceStatus *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICESTATUS]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceStatus); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceStatus, r); - } - - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero(r, struct SERVICE_STATUS); - if (r->out.service_status == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceStatus(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceStatus, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_SetServiceStatus(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_SetServiceStatus *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_SETSERVICESTATUS]; - - r = talloc(talloc_tos(), struct svcctl_SetServiceStatus); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_SetServiceStatus, r); - } - - r->out.result = _svcctl_SetServiceStatus(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_SetServiceStatus, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_UnlockServiceDatabase(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_UnlockServiceDatabase *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_UNLOCKSERVICEDATABASE]; - - r = talloc(talloc_tos(), struct svcctl_UnlockServiceDatabase); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_UnlockServiceDatabase, r); - } - - ZERO_STRUCT(r->out); - r->out.lock = r->in.lock; - r->out.result = _svcctl_UnlockServiceDatabase(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_UnlockServiceDatabase, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_NotifyBootConfigStatus(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_NotifyBootConfigStatus *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_NOTIFYBOOTCONFIGSTATUS]; - - r = talloc(talloc_tos(), struct svcctl_NotifyBootConfigStatus); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_NotifyBootConfigStatus, r); - } - - r->out.result = _svcctl_NotifyBootConfigStatus(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_NotifyBootConfigStatus, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_SCSetServiceBitsW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_SCSetServiceBitsW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_SCSETSERVICEBITSW]; - - r = talloc(talloc_tos(), struct svcctl_SCSetServiceBitsW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_SCSetServiceBitsW, r); - } - - r->out.result = _svcctl_SCSetServiceBitsW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_SCSetServiceBitsW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_ChangeServiceConfigW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_ChangeServiceConfigW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CHANGESERVICECONFIGW]; - - r = talloc(talloc_tos(), struct svcctl_ChangeServiceConfigW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_ChangeServiceConfigW, r); - } - - ZERO_STRUCT(r->out); - r->out.tag_id = talloc_zero(r, uint32_t); - if (r->out.tag_id == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_ChangeServiceConfigW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_ChangeServiceConfigW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_CreateServiceW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_CreateServiceW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CREATESERVICEW]; - - r = talloc(talloc_tos(), struct svcctl_CreateServiceW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_CreateServiceW, r); - } - - ZERO_STRUCT(r->out); - r->out.TagId = r->in.TagId; - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_CreateServiceW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_CreateServiceW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_EnumDependentServicesW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_EnumDependentServicesW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_ENUMDEPENDENTSERVICESW]; - - r = talloc(talloc_tos(), struct svcctl_EnumDependentServicesW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_EnumDependentServicesW, r); - } - - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.service_status == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.services_returned = talloc_zero(r, uint32_t); - if (r->out.services_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_EnumDependentServicesW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_EnumDependentServicesW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_EnumServicesStatusW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_EnumServicesStatusW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_ENUMSERVICESSTATUSW]; - - r = talloc(talloc_tos(), struct svcctl_EnumServicesStatusW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_EnumServicesStatusW, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.service = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.service == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.services_returned = talloc_zero(r, uint32_t); - if (r->out.services_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_EnumServicesStatusW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_EnumServicesStatusW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_OpenSCManagerW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_OpenSCManagerW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_OPENSCMANAGERW]; - - r = talloc(talloc_tos(), struct svcctl_OpenSCManagerW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_OpenSCManagerW, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_OpenSCManagerW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_OpenSCManagerW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_OpenServiceW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_OpenServiceW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_OPENSERVICEW]; - - r = talloc(talloc_tos(), struct svcctl_OpenServiceW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_OpenServiceW, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_OpenServiceW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_OpenServiceW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceConfigW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceConfigW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICECONFIGW]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceConfigW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceConfigW, r); - } - - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(r, struct QUERY_SERVICE_CONFIG); - if (r->out.query == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceConfigW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceConfigW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceLockStatusW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceLockStatusW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICELOCKSTATUSW]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceLockStatusW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceLockStatusW, r); - } - - ZERO_STRUCT(r->out); - r->out.lock_status = talloc_zero(r, struct SERVICE_LOCK_STATUS); - if (r->out.lock_status == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceLockStatusW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceLockStatusW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_StartServiceW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_StartServiceW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_STARTSERVICEW]; - - r = talloc(talloc_tos(), struct svcctl_StartServiceW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_StartServiceW, r); - } - - r->out.result = _svcctl_StartServiceW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_StartServiceW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_GetServiceDisplayNameW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_GetServiceDisplayNameW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_GETSERVICEDISPLAYNAMEW]; - - r = talloc(talloc_tos(), struct svcctl_GetServiceDisplayNameW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_GetServiceDisplayNameW, r); - } - - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.display_name = talloc_zero(r, const char *); - if (r->out.display_name == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_GetServiceDisplayNameW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_GetServiceDisplayNameW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_GetServiceKeyNameW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_GetServiceKeyNameW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_GETSERVICEKEYNAMEW]; - - r = talloc(talloc_tos(), struct svcctl_GetServiceKeyNameW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_GetServiceKeyNameW, r); - } - - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.key_name = talloc_zero(r, const char *); - if (r->out.key_name == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_GetServiceKeyNameW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_GetServiceKeyNameW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_SCSetServiceBitsA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_SCSetServiceBitsA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_SCSETSERVICEBITSA]; - - r = talloc(talloc_tos(), struct svcctl_SCSetServiceBitsA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_SCSetServiceBitsA, r); - } - - r->out.result = _svcctl_SCSetServiceBitsA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_SCSetServiceBitsA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_ChangeServiceConfigA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_ChangeServiceConfigA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CHANGESERVICECONFIGA]; - - r = talloc(talloc_tos(), struct svcctl_ChangeServiceConfigA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_ChangeServiceConfigA, r); - } - - ZERO_STRUCT(r->out); - r->out.tag_id = talloc_zero(r, uint32_t); - if (r->out.tag_id == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_ChangeServiceConfigA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_ChangeServiceConfigA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_CreateServiceA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_CreateServiceA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CREATESERVICEA]; - - r = talloc(talloc_tos(), struct svcctl_CreateServiceA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_CreateServiceA, r); - } - - ZERO_STRUCT(r->out); - r->out.TagId = talloc_zero(r, uint32_t); - if (r->out.TagId == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_CreateServiceA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_CreateServiceA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_EnumDependentServicesA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_EnumDependentServicesA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_ENUMDEPENDENTSERVICESA]; - - r = talloc(talloc_tos(), struct svcctl_EnumDependentServicesA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_EnumDependentServicesA, r); - } - - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero(r, struct ENUM_SERVICE_STATUSA); - if (r->out.service_status == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.services_returned = talloc_zero(r, uint32_t); - if (r->out.services_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_EnumDependentServicesA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_EnumDependentServicesA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_EnumServicesStatusA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_EnumServicesStatusA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_ENUMSERVICESSTATUSA]; - - r = talloc(talloc_tos(), struct svcctl_EnumServicesStatusA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_EnumServicesStatusA, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.service = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.service == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.services_returned = talloc_zero(r, uint32_t); - if (r->out.services_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_EnumServicesStatusA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_EnumServicesStatusA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_OpenSCManagerA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_OpenSCManagerA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_OPENSCMANAGERA]; - - r = talloc(talloc_tos(), struct svcctl_OpenSCManagerA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_OpenSCManagerA, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_OpenSCManagerA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_OpenSCManagerA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_OpenServiceA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_OpenServiceA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_OPENSERVICEA]; - - r = talloc(talloc_tos(), struct svcctl_OpenServiceA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_OpenServiceA, r); - } - - r->out.result = _svcctl_OpenServiceA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_OpenServiceA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceConfigA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceConfigA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICECONFIGA]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceConfigA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceConfigA, r); - } - - ZERO_STRUCT(r->out); - r->out.query = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.query == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceConfigA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceConfigA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceLockStatusA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceLockStatusA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICELOCKSTATUSA]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceLockStatusA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceLockStatusA, r); - } - - ZERO_STRUCT(r->out); - r->out.lock_status = talloc_zero(r, struct SERVICE_LOCK_STATUS); - if (r->out.lock_status == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceLockStatusA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceLockStatusA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_StartServiceA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_StartServiceA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_STARTSERVICEA]; - - r = talloc(talloc_tos(), struct svcctl_StartServiceA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_StartServiceA, r); - } - - r->out.result = _svcctl_StartServiceA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_StartServiceA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_GetServiceDisplayNameA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_GetServiceDisplayNameA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_GETSERVICEDISPLAYNAMEA]; - - r = talloc(talloc_tos(), struct svcctl_GetServiceDisplayNameA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_GetServiceDisplayNameA, r); - } - - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.display_name = talloc_zero(r, const char *); - if (r->out.display_name == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_GetServiceDisplayNameA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_GetServiceDisplayNameA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_GetServiceKeyNameA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_GetServiceKeyNameA *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_GETSERVICEKEYNAMEA]; - - r = talloc(talloc_tos(), struct svcctl_GetServiceKeyNameA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_GetServiceKeyNameA, r); - } - - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.key_name = talloc_zero(r, const char *); - if (r->out.key_name == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_GetServiceKeyNameA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_GetServiceKeyNameA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_GetCurrentGroupeStateW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_GetCurrentGroupeStateW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_GETCURRENTGROUPESTATEW]; - - r = talloc(talloc_tos(), struct svcctl_GetCurrentGroupeStateW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_GetCurrentGroupeStateW, r); - } - - r->out.result = _svcctl_GetCurrentGroupeStateW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_GetCurrentGroupeStateW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_EnumServiceGroupW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_EnumServiceGroupW *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_ENUMSERVICEGROUPW]; - - r = talloc(talloc_tos(), struct svcctl_EnumServiceGroupW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_EnumServiceGroupW, r); - } - - r->out.result = _svcctl_EnumServiceGroupW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_EnumServiceGroupW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_ChangeServiceConfig2A(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_ChangeServiceConfig2A *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CHANGESERVICECONFIG2A]; - - r = talloc(talloc_tos(), struct svcctl_ChangeServiceConfig2A); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_ChangeServiceConfig2A, r); - } - - r->out.result = _svcctl_ChangeServiceConfig2A(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_ChangeServiceConfig2A, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_ChangeServiceConfig2W(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_ChangeServiceConfig2W *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_CHANGESERVICECONFIG2W]; - - r = talloc(talloc_tos(), struct svcctl_ChangeServiceConfig2W); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_ChangeServiceConfig2W, r); - } - - r->out.result = _svcctl_ChangeServiceConfig2W(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_ChangeServiceConfig2W, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceConfig2A(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceConfig2A *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICECONFIG2A]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceConfig2A); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceConfig2A, r); - } - - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceConfig2A(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceConfig2A, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceConfig2W(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceConfig2W *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICECONFIG2W]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceConfig2W); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceConfig2W, r); - } - - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceConfig2W(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceConfig2W, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_QueryServiceStatusEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_QueryServiceStatusEx *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_QUERYSERVICESTATUSEX]; - - r = talloc(talloc_tos(), struct svcctl_QueryServiceStatusEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_QueryServiceStatusEx, r); - } - - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _svcctl_QueryServiceStatusEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_QueryServiceStatusEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_EnumServicesStatusExA(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct EnumServicesStatusExA *r; - - call = &ndr_table_svcctl.calls[NDR_ENUMSERVICESSTATUSEXA]; - - r = talloc(talloc_tos(), struct EnumServicesStatusExA); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(EnumServicesStatusExA, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.services = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.services == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.service_returned = talloc_zero(r, uint32_t); - if (r->out.service_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.group_name = talloc_zero(r, const char *); - if (r->out.group_name == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _EnumServicesStatusExA(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(EnumServicesStatusExA, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_EnumServicesStatusExW(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct EnumServicesStatusExW *r; - - call = &ndr_table_svcctl.calls[NDR_ENUMSERVICESSTATUSEXW]; - - r = talloc(talloc_tos(), struct EnumServicesStatusExW); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(EnumServicesStatusExW, r); - } - - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.services = talloc_zero_array(r, uint8_t, r->in.offered); - if (r->out.services == NULL) { - talloc_free(r); - return false; - } - - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.service_returned = talloc_zero(r, uint32_t); - if (r->out.service_returned == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _EnumServicesStatusExW(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(EnumServicesStatusExW, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_svcctl_SCSendTSMessage(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct svcctl_SCSendTSMessage *r; - - call = &ndr_table_svcctl.calls[NDR_SVCCTL_SCSENDTSMESSAGE]; - - r = talloc(talloc_tos(), struct svcctl_SCSendTSMessage); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(svcctl_SCSendTSMessage, r); - } - - r->out.result = _svcctl_SCSendTSMessage(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(svcctl_SCSendTSMessage, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_svcctl_cmds[] = -{ - {"SVCCTL_CLOSESERVICEHANDLE", NDR_SVCCTL_CLOSESERVICEHANDLE, api_svcctl_CloseServiceHandle}, - {"SVCCTL_CONTROLSERVICE", NDR_SVCCTL_CONTROLSERVICE, api_svcctl_ControlService}, - {"SVCCTL_DELETESERVICE", NDR_SVCCTL_DELETESERVICE, api_svcctl_DeleteService}, - {"SVCCTL_LOCKSERVICEDATABASE", NDR_SVCCTL_LOCKSERVICEDATABASE, api_svcctl_LockServiceDatabase}, - {"SVCCTL_QUERYSERVICEOBJECTSECURITY", NDR_SVCCTL_QUERYSERVICEOBJECTSECURITY, api_svcctl_QueryServiceObjectSecurity}, - {"SVCCTL_SETSERVICEOBJECTSECURITY", NDR_SVCCTL_SETSERVICEOBJECTSECURITY, api_svcctl_SetServiceObjectSecurity}, - {"SVCCTL_QUERYSERVICESTATUS", NDR_SVCCTL_QUERYSERVICESTATUS, api_svcctl_QueryServiceStatus}, - {"SVCCTL_SETSERVICESTATUS", NDR_SVCCTL_SETSERVICESTATUS, api_svcctl_SetServiceStatus}, - {"SVCCTL_UNLOCKSERVICEDATABASE", NDR_SVCCTL_UNLOCKSERVICEDATABASE, api_svcctl_UnlockServiceDatabase}, - {"SVCCTL_NOTIFYBOOTCONFIGSTATUS", NDR_SVCCTL_NOTIFYBOOTCONFIGSTATUS, api_svcctl_NotifyBootConfigStatus}, - {"SVCCTL_SCSETSERVICEBITSW", NDR_SVCCTL_SCSETSERVICEBITSW, api_svcctl_SCSetServiceBitsW}, - {"SVCCTL_CHANGESERVICECONFIGW", NDR_SVCCTL_CHANGESERVICECONFIGW, api_svcctl_ChangeServiceConfigW}, - {"SVCCTL_CREATESERVICEW", NDR_SVCCTL_CREATESERVICEW, api_svcctl_CreateServiceW}, - {"SVCCTL_ENUMDEPENDENTSERVICESW", NDR_SVCCTL_ENUMDEPENDENTSERVICESW, api_svcctl_EnumDependentServicesW}, - {"SVCCTL_ENUMSERVICESSTATUSW", NDR_SVCCTL_ENUMSERVICESSTATUSW, api_svcctl_EnumServicesStatusW}, - {"SVCCTL_OPENSCMANAGERW", NDR_SVCCTL_OPENSCMANAGERW, api_svcctl_OpenSCManagerW}, - {"SVCCTL_OPENSERVICEW", NDR_SVCCTL_OPENSERVICEW, api_svcctl_OpenServiceW}, - {"SVCCTL_QUERYSERVICECONFIGW", NDR_SVCCTL_QUERYSERVICECONFIGW, api_svcctl_QueryServiceConfigW}, - {"SVCCTL_QUERYSERVICELOCKSTATUSW", NDR_SVCCTL_QUERYSERVICELOCKSTATUSW, api_svcctl_QueryServiceLockStatusW}, - {"SVCCTL_STARTSERVICEW", NDR_SVCCTL_STARTSERVICEW, api_svcctl_StartServiceW}, - {"SVCCTL_GETSERVICEDISPLAYNAMEW", NDR_SVCCTL_GETSERVICEDISPLAYNAMEW, api_svcctl_GetServiceDisplayNameW}, - {"SVCCTL_GETSERVICEKEYNAMEW", NDR_SVCCTL_GETSERVICEKEYNAMEW, api_svcctl_GetServiceKeyNameW}, - {"SVCCTL_SCSETSERVICEBITSA", NDR_SVCCTL_SCSETSERVICEBITSA, api_svcctl_SCSetServiceBitsA}, - {"SVCCTL_CHANGESERVICECONFIGA", NDR_SVCCTL_CHANGESERVICECONFIGA, api_svcctl_ChangeServiceConfigA}, - {"SVCCTL_CREATESERVICEA", NDR_SVCCTL_CREATESERVICEA, api_svcctl_CreateServiceA}, - {"SVCCTL_ENUMDEPENDENTSERVICESA", NDR_SVCCTL_ENUMDEPENDENTSERVICESA, api_svcctl_EnumDependentServicesA}, - {"SVCCTL_ENUMSERVICESSTATUSA", NDR_SVCCTL_ENUMSERVICESSTATUSA, api_svcctl_EnumServicesStatusA}, - {"SVCCTL_OPENSCMANAGERA", NDR_SVCCTL_OPENSCMANAGERA, api_svcctl_OpenSCManagerA}, - {"SVCCTL_OPENSERVICEA", NDR_SVCCTL_OPENSERVICEA, api_svcctl_OpenServiceA}, - {"SVCCTL_QUERYSERVICECONFIGA", NDR_SVCCTL_QUERYSERVICECONFIGA, api_svcctl_QueryServiceConfigA}, - {"SVCCTL_QUERYSERVICELOCKSTATUSA", NDR_SVCCTL_QUERYSERVICELOCKSTATUSA, api_svcctl_QueryServiceLockStatusA}, - {"SVCCTL_STARTSERVICEA", NDR_SVCCTL_STARTSERVICEA, api_svcctl_StartServiceA}, - {"SVCCTL_GETSERVICEDISPLAYNAMEA", NDR_SVCCTL_GETSERVICEDISPLAYNAMEA, api_svcctl_GetServiceDisplayNameA}, - {"SVCCTL_GETSERVICEKEYNAMEA", NDR_SVCCTL_GETSERVICEKEYNAMEA, api_svcctl_GetServiceKeyNameA}, - {"SVCCTL_GETCURRENTGROUPESTATEW", NDR_SVCCTL_GETCURRENTGROUPESTATEW, api_svcctl_GetCurrentGroupeStateW}, - {"SVCCTL_ENUMSERVICEGROUPW", NDR_SVCCTL_ENUMSERVICEGROUPW, api_svcctl_EnumServiceGroupW}, - {"SVCCTL_CHANGESERVICECONFIG2A", NDR_SVCCTL_CHANGESERVICECONFIG2A, api_svcctl_ChangeServiceConfig2A}, - {"SVCCTL_CHANGESERVICECONFIG2W", NDR_SVCCTL_CHANGESERVICECONFIG2W, api_svcctl_ChangeServiceConfig2W}, - {"SVCCTL_QUERYSERVICECONFIG2A", NDR_SVCCTL_QUERYSERVICECONFIG2A, api_svcctl_QueryServiceConfig2A}, - {"SVCCTL_QUERYSERVICECONFIG2W", NDR_SVCCTL_QUERYSERVICECONFIG2W, api_svcctl_QueryServiceConfig2W}, - {"SVCCTL_QUERYSERVICESTATUSEX", NDR_SVCCTL_QUERYSERVICESTATUSEX, api_svcctl_QueryServiceStatusEx}, - {"ENUMSERVICESSTATUSEXA", NDR_ENUMSERVICESSTATUSEXA, api_EnumServicesStatusExA}, - {"ENUMSERVICESSTATUSEXW", NDR_ENUMSERVICESSTATUSEXW, api_EnumServicesStatusExW}, - {"SVCCTL_SCSENDTSMESSAGE", NDR_SVCCTL_SCSENDTSMESSAGE, api_svcctl_SCSendTSMessage}, -}; - -void svcctl_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_svcctl_cmds; - *n_fns = sizeof(api_svcctl_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_svcctl_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_SVCCTL_CLOSESERVICEHANDLE: { - struct svcctl_CloseServiceHandle *r = (struct svcctl_CloseServiceHandle *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _svcctl_CloseServiceHandle(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CONTROLSERVICE: { - struct svcctl_ControlService *r = (struct svcctl_ControlService *)_r; - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero(mem_ctx, struct SERVICE_STATUS); - if (r->out.service_status == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_ControlService(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_DELETESERVICE: { - struct svcctl_DeleteService *r = (struct svcctl_DeleteService *)_r; - r->out.result = _svcctl_DeleteService(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_LOCKSERVICEDATABASE: { - struct svcctl_LockServiceDatabase *r = (struct svcctl_LockServiceDatabase *)_r; - ZERO_STRUCT(r->out); - r->out.lock = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.lock == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_LockServiceDatabase(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICEOBJECTSECURITY: { - struct svcctl_QueryServiceObjectSecurity *r = (struct svcctl_QueryServiceObjectSecurity *)_r; - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceObjectSecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_SETSERVICEOBJECTSECURITY: { - struct svcctl_SetServiceObjectSecurity *r = (struct svcctl_SetServiceObjectSecurity *)_r; - r->out.result = _svcctl_SetServiceObjectSecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICESTATUS: { - struct svcctl_QueryServiceStatus *r = (struct svcctl_QueryServiceStatus *)_r; - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero(mem_ctx, struct SERVICE_STATUS); - if (r->out.service_status == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceStatus(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_SETSERVICESTATUS: { - struct svcctl_SetServiceStatus *r = (struct svcctl_SetServiceStatus *)_r; - r->out.result = _svcctl_SetServiceStatus(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_UNLOCKSERVICEDATABASE: { - struct svcctl_UnlockServiceDatabase *r = (struct svcctl_UnlockServiceDatabase *)_r; - ZERO_STRUCT(r->out); - r->out.lock = r->in.lock; - r->out.result = _svcctl_UnlockServiceDatabase(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_NOTIFYBOOTCONFIGSTATUS: { - struct svcctl_NotifyBootConfigStatus *r = (struct svcctl_NotifyBootConfigStatus *)_r; - r->out.result = _svcctl_NotifyBootConfigStatus(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_SCSETSERVICEBITSW: { - struct svcctl_SCSetServiceBitsW *r = (struct svcctl_SCSetServiceBitsW *)_r; - r->out.result = _svcctl_SCSetServiceBitsW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CHANGESERVICECONFIGW: { - struct svcctl_ChangeServiceConfigW *r = (struct svcctl_ChangeServiceConfigW *)_r; - ZERO_STRUCT(r->out); - r->out.tag_id = talloc_zero(mem_ctx, uint32_t); - if (r->out.tag_id == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_ChangeServiceConfigW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CREATESERVICEW: { - struct svcctl_CreateServiceW *r = (struct svcctl_CreateServiceW *)_r; - ZERO_STRUCT(r->out); - r->out.TagId = r->in.TagId; - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_CreateServiceW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_ENUMDEPENDENTSERVICESW: { - struct svcctl_EnumDependentServicesW *r = (struct svcctl_EnumDependentServicesW *)_r; - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.service_status == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.services_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.services_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_EnumDependentServicesW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_ENUMSERVICESSTATUSW: { - struct svcctl_EnumServicesStatusW *r = (struct svcctl_EnumServicesStatusW *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.service = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.service == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.services_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.services_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_EnumServicesStatusW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_OPENSCMANAGERW: { - struct svcctl_OpenSCManagerW *r = (struct svcctl_OpenSCManagerW *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_OpenSCManagerW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_OPENSERVICEW: { - struct svcctl_OpenServiceW *r = (struct svcctl_OpenServiceW *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_OpenServiceW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICECONFIGW: { - struct svcctl_QueryServiceConfigW *r = (struct svcctl_QueryServiceConfigW *)_r; - ZERO_STRUCT(r->out); - r->out.query = talloc_zero(mem_ctx, struct QUERY_SERVICE_CONFIG); - if (r->out.query == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceConfigW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICELOCKSTATUSW: { - struct svcctl_QueryServiceLockStatusW *r = (struct svcctl_QueryServiceLockStatusW *)_r; - ZERO_STRUCT(r->out); - r->out.lock_status = talloc_zero(mem_ctx, struct SERVICE_LOCK_STATUS); - if (r->out.lock_status == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceLockStatusW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_STARTSERVICEW: { - struct svcctl_StartServiceW *r = (struct svcctl_StartServiceW *)_r; - r->out.result = _svcctl_StartServiceW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_GETSERVICEDISPLAYNAMEW: { - struct svcctl_GetServiceDisplayNameW *r = (struct svcctl_GetServiceDisplayNameW *)_r; - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.display_name = talloc_zero(mem_ctx, const char *); - if (r->out.display_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_GetServiceDisplayNameW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_GETSERVICEKEYNAMEW: { - struct svcctl_GetServiceKeyNameW *r = (struct svcctl_GetServiceKeyNameW *)_r; - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.key_name = talloc_zero(mem_ctx, const char *); - if (r->out.key_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_GetServiceKeyNameW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_SCSETSERVICEBITSA: { - struct svcctl_SCSetServiceBitsA *r = (struct svcctl_SCSetServiceBitsA *)_r; - r->out.result = _svcctl_SCSetServiceBitsA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CHANGESERVICECONFIGA: { - struct svcctl_ChangeServiceConfigA *r = (struct svcctl_ChangeServiceConfigA *)_r; - ZERO_STRUCT(r->out); - r->out.tag_id = talloc_zero(mem_ctx, uint32_t); - if (r->out.tag_id == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_ChangeServiceConfigA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CREATESERVICEA: { - struct svcctl_CreateServiceA *r = (struct svcctl_CreateServiceA *)_r; - ZERO_STRUCT(r->out); - r->out.TagId = talloc_zero(mem_ctx, uint32_t); - if (r->out.TagId == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_CreateServiceA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_ENUMDEPENDENTSERVICESA: { - struct svcctl_EnumDependentServicesA *r = (struct svcctl_EnumDependentServicesA *)_r; - ZERO_STRUCT(r->out); - r->out.service_status = talloc_zero(mem_ctx, struct ENUM_SERVICE_STATUSA); - if (r->out.service_status == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.services_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.services_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_EnumDependentServicesA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_ENUMSERVICESSTATUSA: { - struct svcctl_EnumServicesStatusA *r = (struct svcctl_EnumServicesStatusA *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.service = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.service == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.services_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.services_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_EnumServicesStatusA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_OPENSCMANAGERA: { - struct svcctl_OpenSCManagerA *r = (struct svcctl_OpenSCManagerA *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_OpenSCManagerA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_OPENSERVICEA: { - struct svcctl_OpenServiceA *r = (struct svcctl_OpenServiceA *)_r; - r->out.result = _svcctl_OpenServiceA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICECONFIGA: { - struct svcctl_QueryServiceConfigA *r = (struct svcctl_QueryServiceConfigA *)_r; - ZERO_STRUCT(r->out); - r->out.query = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.query == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceConfigA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICELOCKSTATUSA: { - struct svcctl_QueryServiceLockStatusA *r = (struct svcctl_QueryServiceLockStatusA *)_r; - ZERO_STRUCT(r->out); - r->out.lock_status = talloc_zero(mem_ctx, struct SERVICE_LOCK_STATUS); - if (r->out.lock_status == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceLockStatusA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_STARTSERVICEA: { - struct svcctl_StartServiceA *r = (struct svcctl_StartServiceA *)_r; - r->out.result = _svcctl_StartServiceA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_GETSERVICEDISPLAYNAMEA: { - struct svcctl_GetServiceDisplayNameA *r = (struct svcctl_GetServiceDisplayNameA *)_r; - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.display_name = talloc_zero(mem_ctx, const char *); - if (r->out.display_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_GetServiceDisplayNameA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_GETSERVICEKEYNAMEA: { - struct svcctl_GetServiceKeyNameA *r = (struct svcctl_GetServiceKeyNameA *)_r; - ZERO_STRUCT(r->out); - r->out.display_name_length = r->in.display_name_length; - r->out.key_name = talloc_zero(mem_ctx, const char *); - if (r->out.key_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_GetServiceKeyNameA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_GETCURRENTGROUPESTATEW: { - struct svcctl_GetCurrentGroupeStateW *r = (struct svcctl_GetCurrentGroupeStateW *)_r; - r->out.result = _svcctl_GetCurrentGroupeStateW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_ENUMSERVICEGROUPW: { - struct svcctl_EnumServiceGroupW *r = (struct svcctl_EnumServiceGroupW *)_r; - r->out.result = _svcctl_EnumServiceGroupW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CHANGESERVICECONFIG2A: { - struct svcctl_ChangeServiceConfig2A *r = (struct svcctl_ChangeServiceConfig2A *)_r; - r->out.result = _svcctl_ChangeServiceConfig2A(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_CHANGESERVICECONFIG2W: { - struct svcctl_ChangeServiceConfig2W *r = (struct svcctl_ChangeServiceConfig2W *)_r; - r->out.result = _svcctl_ChangeServiceConfig2W(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICECONFIG2A: { - struct svcctl_QueryServiceConfig2A *r = (struct svcctl_QueryServiceConfig2A *)_r; - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceConfig2A(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICECONFIG2W: { - struct svcctl_QueryServiceConfig2W *r = (struct svcctl_QueryServiceConfig2W *)_r; - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceConfig2W(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_QUERYSERVICESTATUSEX: { - struct svcctl_QueryServiceStatusEx *r = (struct svcctl_QueryServiceStatusEx *)_r; - ZERO_STRUCT(r->out); - r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.buffer == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _svcctl_QueryServiceStatusEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ENUMSERVICESSTATUSEXA: { - struct EnumServicesStatusExA *r = (struct EnumServicesStatusExA *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.services = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.services == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.service_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.service_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.group_name = talloc_zero(mem_ctx, const char *); - if (r->out.group_name == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _EnumServicesStatusExA(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_ENUMSERVICESSTATUSEXW: { - struct EnumServicesStatusExW *r = (struct EnumServicesStatusExW *)_r; - ZERO_STRUCT(r->out); - r->out.resume_handle = r->in.resume_handle; - r->out.services = talloc_zero_array(mem_ctx, uint8_t, r->in.offered); - if (r->out.services == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.service_returned = talloc_zero(mem_ctx, uint32_t); - if (r->out.service_returned == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _EnumServicesStatusExW(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_SVCCTL_SCSENDTSMESSAGE: { - struct svcctl_SCSendTSMessage *r = (struct svcctl_SCSendTSMessage *)_r; - r->out.result = _svcctl_SCSendTSMessage(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_svcctl_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "svcctl", "svcctl", &ndr_table_svcctl, api_svcctl_cmds, sizeof(api_svcctl_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_svcctl.h b/librpc/gen_ndr/srv_svcctl.h deleted file mode 100644 index d7bd2fb6cf4..00000000000 --- a/librpc/gen_ndr/srv_svcctl.h +++ /dev/null @@ -1,95 +0,0 @@ -#include "../librpc/gen_ndr/ndr_svcctl.h" -#ifndef __SRV_SVCCTL__ -#define __SRV_SVCCTL__ -WERROR _svcctl_CloseServiceHandle(pipes_struct *p, struct svcctl_CloseServiceHandle *r); -WERROR _svcctl_ControlService(pipes_struct *p, struct svcctl_ControlService *r); -WERROR _svcctl_DeleteService(pipes_struct *p, struct svcctl_DeleteService *r); -WERROR _svcctl_LockServiceDatabase(pipes_struct *p, struct svcctl_LockServiceDatabase *r); -WERROR _svcctl_QueryServiceObjectSecurity(pipes_struct *p, struct svcctl_QueryServiceObjectSecurity *r); -WERROR _svcctl_SetServiceObjectSecurity(pipes_struct *p, struct svcctl_SetServiceObjectSecurity *r); -WERROR _svcctl_QueryServiceStatus(pipes_struct *p, struct svcctl_QueryServiceStatus *r); -WERROR _svcctl_SetServiceStatus(pipes_struct *p, struct svcctl_SetServiceStatus *r); -WERROR _svcctl_UnlockServiceDatabase(pipes_struct *p, struct svcctl_UnlockServiceDatabase *r); -WERROR _svcctl_NotifyBootConfigStatus(pipes_struct *p, struct svcctl_NotifyBootConfigStatus *r); -WERROR _svcctl_SCSetServiceBitsW(pipes_struct *p, struct svcctl_SCSetServiceBitsW *r); -WERROR _svcctl_ChangeServiceConfigW(pipes_struct *p, struct svcctl_ChangeServiceConfigW *r); -WERROR _svcctl_CreateServiceW(pipes_struct *p, struct svcctl_CreateServiceW *r); -WERROR _svcctl_EnumDependentServicesW(pipes_struct *p, struct svcctl_EnumDependentServicesW *r); -WERROR _svcctl_EnumServicesStatusW(pipes_struct *p, struct svcctl_EnumServicesStatusW *r); -WERROR _svcctl_OpenSCManagerW(pipes_struct *p, struct svcctl_OpenSCManagerW *r); -WERROR _svcctl_OpenServiceW(pipes_struct *p, struct svcctl_OpenServiceW *r); -WERROR _svcctl_QueryServiceConfigW(pipes_struct *p, struct svcctl_QueryServiceConfigW *r); -WERROR _svcctl_QueryServiceLockStatusW(pipes_struct *p, struct svcctl_QueryServiceLockStatusW *r); -WERROR _svcctl_StartServiceW(pipes_struct *p, struct svcctl_StartServiceW *r); -WERROR _svcctl_GetServiceDisplayNameW(pipes_struct *p, struct svcctl_GetServiceDisplayNameW *r); -WERROR _svcctl_GetServiceKeyNameW(pipes_struct *p, struct svcctl_GetServiceKeyNameW *r); -WERROR _svcctl_SCSetServiceBitsA(pipes_struct *p, struct svcctl_SCSetServiceBitsA *r); -WERROR _svcctl_ChangeServiceConfigA(pipes_struct *p, struct svcctl_ChangeServiceConfigA *r); -WERROR _svcctl_CreateServiceA(pipes_struct *p, struct svcctl_CreateServiceA *r); -WERROR _svcctl_EnumDependentServicesA(pipes_struct *p, struct svcctl_EnumDependentServicesA *r); -WERROR _svcctl_EnumServicesStatusA(pipes_struct *p, struct svcctl_EnumServicesStatusA *r); -WERROR _svcctl_OpenSCManagerA(pipes_struct *p, struct svcctl_OpenSCManagerA *r); -WERROR _svcctl_OpenServiceA(pipes_struct *p, struct svcctl_OpenServiceA *r); -WERROR _svcctl_QueryServiceConfigA(pipes_struct *p, struct svcctl_QueryServiceConfigA *r); -WERROR _svcctl_QueryServiceLockStatusA(pipes_struct *p, struct svcctl_QueryServiceLockStatusA *r); -WERROR _svcctl_StartServiceA(pipes_struct *p, struct svcctl_StartServiceA *r); -WERROR _svcctl_GetServiceDisplayNameA(pipes_struct *p, struct svcctl_GetServiceDisplayNameA *r); -WERROR _svcctl_GetServiceKeyNameA(pipes_struct *p, struct svcctl_GetServiceKeyNameA *r); -WERROR _svcctl_GetCurrentGroupeStateW(pipes_struct *p, struct svcctl_GetCurrentGroupeStateW *r); -WERROR _svcctl_EnumServiceGroupW(pipes_struct *p, struct svcctl_EnumServiceGroupW *r); -WERROR _svcctl_ChangeServiceConfig2A(pipes_struct *p, struct svcctl_ChangeServiceConfig2A *r); -WERROR _svcctl_ChangeServiceConfig2W(pipes_struct *p, struct svcctl_ChangeServiceConfig2W *r); -WERROR _svcctl_QueryServiceConfig2A(pipes_struct *p, struct svcctl_QueryServiceConfig2A *r); -WERROR _svcctl_QueryServiceConfig2W(pipes_struct *p, struct svcctl_QueryServiceConfig2W *r); -WERROR _svcctl_QueryServiceStatusEx(pipes_struct *p, struct svcctl_QueryServiceStatusEx *r); -WERROR _EnumServicesStatusExA(pipes_struct *p, struct EnumServicesStatusExA *r); -WERROR _EnumServicesStatusExW(pipes_struct *p, struct EnumServicesStatusExW *r); -WERROR _svcctl_SCSendTSMessage(pipes_struct *p, struct svcctl_SCSendTSMessage *r); -void svcctl_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_svcctl_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _svcctl_CloseServiceHandle(pipes_struct *p, struct svcctl_CloseServiceHandle *r); -WERROR _svcctl_ControlService(pipes_struct *p, struct svcctl_ControlService *r); -WERROR _svcctl_DeleteService(pipes_struct *p, struct svcctl_DeleteService *r); -WERROR _svcctl_LockServiceDatabase(pipes_struct *p, struct svcctl_LockServiceDatabase *r); -WERROR _svcctl_QueryServiceObjectSecurity(pipes_struct *p, struct svcctl_QueryServiceObjectSecurity *r); -WERROR _svcctl_SetServiceObjectSecurity(pipes_struct *p, struct svcctl_SetServiceObjectSecurity *r); -WERROR _svcctl_QueryServiceStatus(pipes_struct *p, struct svcctl_QueryServiceStatus *r); -WERROR _svcctl_SetServiceStatus(pipes_struct *p, struct svcctl_SetServiceStatus *r); -WERROR _svcctl_UnlockServiceDatabase(pipes_struct *p, struct svcctl_UnlockServiceDatabase *r); -WERROR _svcctl_NotifyBootConfigStatus(pipes_struct *p, struct svcctl_NotifyBootConfigStatus *r); -WERROR _svcctl_SCSetServiceBitsW(pipes_struct *p, struct svcctl_SCSetServiceBitsW *r); -WERROR _svcctl_ChangeServiceConfigW(pipes_struct *p, struct svcctl_ChangeServiceConfigW *r); -WERROR _svcctl_CreateServiceW(pipes_struct *p, struct svcctl_CreateServiceW *r); -WERROR _svcctl_EnumDependentServicesW(pipes_struct *p, struct svcctl_EnumDependentServicesW *r); -WERROR _svcctl_EnumServicesStatusW(pipes_struct *p, struct svcctl_EnumServicesStatusW *r); -WERROR _svcctl_OpenSCManagerW(pipes_struct *p, struct svcctl_OpenSCManagerW *r); -WERROR _svcctl_OpenServiceW(pipes_struct *p, struct svcctl_OpenServiceW *r); -WERROR _svcctl_QueryServiceConfigW(pipes_struct *p, struct svcctl_QueryServiceConfigW *r); -WERROR _svcctl_QueryServiceLockStatusW(pipes_struct *p, struct svcctl_QueryServiceLockStatusW *r); -WERROR _svcctl_StartServiceW(pipes_struct *p, struct svcctl_StartServiceW *r); -WERROR _svcctl_GetServiceDisplayNameW(pipes_struct *p, struct svcctl_GetServiceDisplayNameW *r); -WERROR _svcctl_GetServiceKeyNameW(pipes_struct *p, struct svcctl_GetServiceKeyNameW *r); -WERROR _svcctl_SCSetServiceBitsA(pipes_struct *p, struct svcctl_SCSetServiceBitsA *r); -WERROR _svcctl_ChangeServiceConfigA(pipes_struct *p, struct svcctl_ChangeServiceConfigA *r); -WERROR _svcctl_CreateServiceA(pipes_struct *p, struct svcctl_CreateServiceA *r); -WERROR _svcctl_EnumDependentServicesA(pipes_struct *p, struct svcctl_EnumDependentServicesA *r); -WERROR _svcctl_EnumServicesStatusA(pipes_struct *p, struct svcctl_EnumServicesStatusA *r); -WERROR _svcctl_OpenSCManagerA(pipes_struct *p, struct svcctl_OpenSCManagerA *r); -WERROR _svcctl_OpenServiceA(pipes_struct *p, struct svcctl_OpenServiceA *r); -WERROR _svcctl_QueryServiceConfigA(pipes_struct *p, struct svcctl_QueryServiceConfigA *r); -WERROR _svcctl_QueryServiceLockStatusA(pipes_struct *p, struct svcctl_QueryServiceLockStatusA *r); -WERROR _svcctl_StartServiceA(pipes_struct *p, struct svcctl_StartServiceA *r); -WERROR _svcctl_GetServiceDisplayNameA(pipes_struct *p, struct svcctl_GetServiceDisplayNameA *r); -WERROR _svcctl_GetServiceKeyNameA(pipes_struct *p, struct svcctl_GetServiceKeyNameA *r); -WERROR _svcctl_GetCurrentGroupeStateW(pipes_struct *p, struct svcctl_GetCurrentGroupeStateW *r); -WERROR _svcctl_EnumServiceGroupW(pipes_struct *p, struct svcctl_EnumServiceGroupW *r); -WERROR _svcctl_ChangeServiceConfig2A(pipes_struct *p, struct svcctl_ChangeServiceConfig2A *r); -WERROR _svcctl_ChangeServiceConfig2W(pipes_struct *p, struct svcctl_ChangeServiceConfig2W *r); -WERROR _svcctl_QueryServiceConfig2A(pipes_struct *p, struct svcctl_QueryServiceConfig2A *r); -WERROR _svcctl_QueryServiceConfig2W(pipes_struct *p, struct svcctl_QueryServiceConfig2W *r); -WERROR _svcctl_QueryServiceStatusEx(pipes_struct *p, struct svcctl_QueryServiceStatusEx *r); -WERROR _EnumServicesStatusExA(pipes_struct *p, struct EnumServicesStatusExA *r); -WERROR _EnumServicesStatusExW(pipes_struct *p, struct EnumServicesStatusExW *r); -WERROR _svcctl_SCSendTSMessage(pipes_struct *p, struct svcctl_SCSendTSMessage *r); -NTSTATUS rpc_svcctl_init(void); -#endif /* __SRV_SVCCTL__ */ diff --git a/librpc/gen_ndr/srv_winreg.c b/librpc/gen_ndr/srv_winreg.c deleted file mode 100644 index c242fd4a6f9..00000000000 --- a/librpc/gen_ndr/srv_winreg.c +++ /dev/null @@ -1,3230 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_winreg.h" - -static bool api_winreg_OpenHKCR(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKCR *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKCR]; - - r = talloc(talloc_tos(), struct winreg_OpenHKCR); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKCR, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKCR(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKCR, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKCU(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKCU *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKCU]; - - r = talloc(talloc_tos(), struct winreg_OpenHKCU); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKCU, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKCU(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKCU, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKLM(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKLM *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKLM]; - - r = talloc(talloc_tos(), struct winreg_OpenHKLM); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKLM, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKLM(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKLM, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKPD(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKPD *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKPD]; - - r = talloc(talloc_tos(), struct winreg_OpenHKPD); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKPD, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKPD(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKPD, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKU(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKU *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKU]; - - r = talloc(talloc_tos(), struct winreg_OpenHKU); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKU, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKU(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKU, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_CloseKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_CloseKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_CLOSEKEY]; - - r = talloc(talloc_tos(), struct winreg_CloseKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_CloseKey, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _winreg_CloseKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_CloseKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_CreateKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_CreateKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_CREATEKEY]; - - r = talloc(talloc_tos(), struct winreg_CreateKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_CreateKey, r); - } - - ZERO_STRUCT(r->out); - r->out.action_taken = r->in.action_taken; - r->out.new_handle = talloc_zero(r, struct policy_handle); - if (r->out.new_handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_CreateKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_CreateKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_DeleteKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_DeleteKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_DELETEKEY]; - - r = talloc(talloc_tos(), struct winreg_DeleteKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_DeleteKey, r); - } - - r->out.result = _winreg_DeleteKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_DeleteKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_DeleteValue(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_DeleteValue *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_DELETEVALUE]; - - r = talloc(talloc_tos(), struct winreg_DeleteValue); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_DeleteValue, r); - } - - r->out.result = _winreg_DeleteValue(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_DeleteValue, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_EnumKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_EnumKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_ENUMKEY]; - - r = talloc(talloc_tos(), struct winreg_EnumKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_EnumKey, r); - } - - ZERO_STRUCT(r->out); - r->out.name = r->in.name; - r->out.keyclass = r->in.keyclass; - r->out.last_changed_time = r->in.last_changed_time; - r->out.result = _winreg_EnumKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_EnumKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_EnumValue(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_EnumValue *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_ENUMVALUE]; - - r = talloc(talloc_tos(), struct winreg_EnumValue); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_EnumValue, r); - } - - ZERO_STRUCT(r->out); - r->out.name = r->in.name; - r->out.type = r->in.type; - r->out.value = r->in.value; - r->out.size = r->in.size; - r->out.length = r->in.length; - r->out.result = _winreg_EnumValue(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_EnumValue, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_FlushKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_FlushKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_FLUSHKEY]; - - r = talloc(talloc_tos(), struct winreg_FlushKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_FlushKey, r); - } - - r->out.result = _winreg_FlushKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_FlushKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_GetKeySecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_GetKeySecurity *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_GETKEYSECURITY]; - - r = talloc(talloc_tos(), struct winreg_GetKeySecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_GetKeySecurity, r); - } - - ZERO_STRUCT(r->out); - r->out.sd = r->in.sd; - r->out.result = _winreg_GetKeySecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_GetKeySecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_LoadKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_LoadKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_LOADKEY]; - - r = talloc(talloc_tos(), struct winreg_LoadKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_LoadKey, r); - } - - r->out.result = _winreg_LoadKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_LoadKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_NotifyChangeKeyValue(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_NotifyChangeKeyValue *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_NOTIFYCHANGEKEYVALUE]; - - r = talloc(talloc_tos(), struct winreg_NotifyChangeKeyValue); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_NotifyChangeKeyValue, r); - } - - r->out.result = _winreg_NotifyChangeKeyValue(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_NotifyChangeKeyValue, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENKEY]; - - r = talloc(talloc_tos(), struct winreg_OpenKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenKey, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_QueryInfoKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_QueryInfoKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_QUERYINFOKEY]; - - r = talloc(talloc_tos(), struct winreg_QueryInfoKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_QueryInfoKey, r); - } - - ZERO_STRUCT(r->out); - r->out.classname = r->in.classname; - r->out.num_subkeys = talloc_zero(r, uint32_t); - if (r->out.num_subkeys == NULL) { - talloc_free(r); - return false; - } - - r->out.max_subkeylen = talloc_zero(r, uint32_t); - if (r->out.max_subkeylen == NULL) { - talloc_free(r); - return false; - } - - r->out.max_classlen = talloc_zero(r, uint32_t); - if (r->out.max_classlen == NULL) { - talloc_free(r); - return false; - } - - r->out.num_values = talloc_zero(r, uint32_t); - if (r->out.num_values == NULL) { - talloc_free(r); - return false; - } - - r->out.max_valnamelen = talloc_zero(r, uint32_t); - if (r->out.max_valnamelen == NULL) { - talloc_free(r); - return false; - } - - r->out.max_valbufsize = talloc_zero(r, uint32_t); - if (r->out.max_valbufsize == NULL) { - talloc_free(r); - return false; - } - - r->out.secdescsize = talloc_zero(r, uint32_t); - if (r->out.secdescsize == NULL) { - talloc_free(r); - return false; - } - - r->out.last_changed_time = talloc_zero(r, NTTIME); - if (r->out.last_changed_time == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_QueryInfoKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_QueryInfoKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_QueryValue(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_QueryValue *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_QUERYVALUE]; - - r = talloc(talloc_tos(), struct winreg_QueryValue); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_QueryValue, r); - } - - ZERO_STRUCT(r->out); - r->out.type = r->in.type; - r->out.data = r->in.data; - r->out.data_size = r->in.data_size; - r->out.data_length = r->in.data_length; - r->out.result = _winreg_QueryValue(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_QueryValue, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_ReplaceKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_ReplaceKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_REPLACEKEY]; - - r = talloc(talloc_tos(), struct winreg_ReplaceKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_ReplaceKey, r); - } - - r->out.result = _winreg_ReplaceKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_ReplaceKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_RestoreKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_RestoreKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_RESTOREKEY]; - - r = talloc(talloc_tos(), struct winreg_RestoreKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_RestoreKey, r); - } - - r->out.result = _winreg_RestoreKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_RestoreKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_SaveKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_SaveKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_SAVEKEY]; - - r = talloc(talloc_tos(), struct winreg_SaveKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_SaveKey, r); - } - - r->out.result = _winreg_SaveKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_SaveKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_SetKeySecurity(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_SetKeySecurity *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_SETKEYSECURITY]; - - r = talloc(talloc_tos(), struct winreg_SetKeySecurity); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_SetKeySecurity, r); - } - - r->out.result = _winreg_SetKeySecurity(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_SetKeySecurity, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_SetValue(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_SetValue *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_SETVALUE]; - - r = talloc(talloc_tos(), struct winreg_SetValue); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_SetValue, r); - } - - r->out.result = _winreg_SetValue(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_SetValue, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_UnLoadKey(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_UnLoadKey *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_UNLOADKEY]; - - r = talloc(talloc_tos(), struct winreg_UnLoadKey); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_UnLoadKey, r); - } - - r->out.result = _winreg_UnLoadKey(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_UnLoadKey, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_InitiateSystemShutdown(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_InitiateSystemShutdown *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_INITIATESYSTEMSHUTDOWN]; - - r = talloc(talloc_tos(), struct winreg_InitiateSystemShutdown); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_InitiateSystemShutdown, r); - } - - r->out.result = _winreg_InitiateSystemShutdown(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_InitiateSystemShutdown, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_AbortSystemShutdown(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_AbortSystemShutdown *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_ABORTSYSTEMSHUTDOWN]; - - r = talloc(talloc_tos(), struct winreg_AbortSystemShutdown); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_AbortSystemShutdown, r); - } - - r->out.result = _winreg_AbortSystemShutdown(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_AbortSystemShutdown, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_GetVersion(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_GetVersion *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_GETVERSION]; - - r = talloc(talloc_tos(), struct winreg_GetVersion); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_GetVersion, r); - } - - ZERO_STRUCT(r->out); - r->out.version = talloc_zero(r, uint32_t); - if (r->out.version == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_GetVersion(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_GetVersion, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKCC(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKCC *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKCC]; - - r = talloc(talloc_tos(), struct winreg_OpenHKCC); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKCC, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKCC(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKCC, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKDD(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKDD *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKDD]; - - r = talloc(talloc_tos(), struct winreg_OpenHKDD); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKDD, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKDD(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKDD, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_QueryMultipleValues(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_QueryMultipleValues *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_QUERYMULTIPLEVALUES]; - - r = talloc(talloc_tos(), struct winreg_QueryMultipleValues); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_QueryMultipleValues, r); - } - - ZERO_STRUCT(r->out); - r->out.values = r->in.values; - r->out.buffer = r->in.buffer; - r->out.buffer_size = r->in.buffer_size; - r->out.result = _winreg_QueryMultipleValues(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_QueryMultipleValues, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_InitiateSystemShutdownEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_InitiateSystemShutdownEx *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_INITIATESYSTEMSHUTDOWNEX]; - - r = talloc(talloc_tos(), struct winreg_InitiateSystemShutdownEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_InitiateSystemShutdownEx, r); - } - - r->out.result = _winreg_InitiateSystemShutdownEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_InitiateSystemShutdownEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_SaveKeyEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_SaveKeyEx *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_SAVEKEYEX]; - - r = talloc(talloc_tos(), struct winreg_SaveKeyEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_SaveKeyEx, r); - } - - r->out.result = _winreg_SaveKeyEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_SaveKeyEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKPT(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKPT *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKPT]; - - r = talloc(talloc_tos(), struct winreg_OpenHKPT); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKPT, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKPT(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKPT, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_OpenHKPN(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_OpenHKPN *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_OPENHKPN]; - - r = talloc(talloc_tos(), struct winreg_OpenHKPN); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_OpenHKPN, r); - } - - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(r, struct policy_handle); - if (r->out.handle == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_OpenHKPN(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_OpenHKPN, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_QueryMultipleValues2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_QueryMultipleValues2 *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_QUERYMULTIPLEVALUES2]; - - r = talloc(talloc_tos(), struct winreg_QueryMultipleValues2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_QueryMultipleValues2, r); - } - - ZERO_STRUCT(r->out); - r->out.values = r->in.values; - r->out.buffer = r->in.buffer; - r->out.needed = talloc_zero(r, uint32_t); - if (r->out.needed == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _winreg_QueryMultipleValues2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_QueryMultipleValues2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_winreg_DeleteKeyEx(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct winreg_DeleteKeyEx *r; - - call = &ndr_table_winreg.calls[NDR_WINREG_DELETEKEYEX]; - - r = talloc(talloc_tos(), struct winreg_DeleteKeyEx); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(winreg_DeleteKeyEx, r); - } - - r->out.result = _winreg_DeleteKeyEx(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(winreg_DeleteKeyEx, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_winreg_cmds[] = -{ - {"WINREG_OPENHKCR", NDR_WINREG_OPENHKCR, api_winreg_OpenHKCR}, - {"WINREG_OPENHKCU", NDR_WINREG_OPENHKCU, api_winreg_OpenHKCU}, - {"WINREG_OPENHKLM", NDR_WINREG_OPENHKLM, api_winreg_OpenHKLM}, - {"WINREG_OPENHKPD", NDR_WINREG_OPENHKPD, api_winreg_OpenHKPD}, - {"WINREG_OPENHKU", NDR_WINREG_OPENHKU, api_winreg_OpenHKU}, - {"WINREG_CLOSEKEY", NDR_WINREG_CLOSEKEY, api_winreg_CloseKey}, - {"WINREG_CREATEKEY", NDR_WINREG_CREATEKEY, api_winreg_CreateKey}, - {"WINREG_DELETEKEY", NDR_WINREG_DELETEKEY, api_winreg_DeleteKey}, - {"WINREG_DELETEVALUE", NDR_WINREG_DELETEVALUE, api_winreg_DeleteValue}, - {"WINREG_ENUMKEY", NDR_WINREG_ENUMKEY, api_winreg_EnumKey}, - {"WINREG_ENUMVALUE", NDR_WINREG_ENUMVALUE, api_winreg_EnumValue}, - {"WINREG_FLUSHKEY", NDR_WINREG_FLUSHKEY, api_winreg_FlushKey}, - {"WINREG_GETKEYSECURITY", NDR_WINREG_GETKEYSECURITY, api_winreg_GetKeySecurity}, - {"WINREG_LOADKEY", NDR_WINREG_LOADKEY, api_winreg_LoadKey}, - {"WINREG_NOTIFYCHANGEKEYVALUE", NDR_WINREG_NOTIFYCHANGEKEYVALUE, api_winreg_NotifyChangeKeyValue}, - {"WINREG_OPENKEY", NDR_WINREG_OPENKEY, api_winreg_OpenKey}, - {"WINREG_QUERYINFOKEY", NDR_WINREG_QUERYINFOKEY, api_winreg_QueryInfoKey}, - {"WINREG_QUERYVALUE", NDR_WINREG_QUERYVALUE, api_winreg_QueryValue}, - {"WINREG_REPLACEKEY", NDR_WINREG_REPLACEKEY, api_winreg_ReplaceKey}, - {"WINREG_RESTOREKEY", NDR_WINREG_RESTOREKEY, api_winreg_RestoreKey}, - {"WINREG_SAVEKEY", NDR_WINREG_SAVEKEY, api_winreg_SaveKey}, - {"WINREG_SETKEYSECURITY", NDR_WINREG_SETKEYSECURITY, api_winreg_SetKeySecurity}, - {"WINREG_SETVALUE", NDR_WINREG_SETVALUE, api_winreg_SetValue}, - {"WINREG_UNLOADKEY", NDR_WINREG_UNLOADKEY, api_winreg_UnLoadKey}, - {"WINREG_INITIATESYSTEMSHUTDOWN", NDR_WINREG_INITIATESYSTEMSHUTDOWN, api_winreg_InitiateSystemShutdown}, - {"WINREG_ABORTSYSTEMSHUTDOWN", NDR_WINREG_ABORTSYSTEMSHUTDOWN, api_winreg_AbortSystemShutdown}, - {"WINREG_GETVERSION", NDR_WINREG_GETVERSION, api_winreg_GetVersion}, - {"WINREG_OPENHKCC", NDR_WINREG_OPENHKCC, api_winreg_OpenHKCC}, - {"WINREG_OPENHKDD", NDR_WINREG_OPENHKDD, api_winreg_OpenHKDD}, - {"WINREG_QUERYMULTIPLEVALUES", NDR_WINREG_QUERYMULTIPLEVALUES, api_winreg_QueryMultipleValues}, - {"WINREG_INITIATESYSTEMSHUTDOWNEX", NDR_WINREG_INITIATESYSTEMSHUTDOWNEX, api_winreg_InitiateSystemShutdownEx}, - {"WINREG_SAVEKEYEX", NDR_WINREG_SAVEKEYEX, api_winreg_SaveKeyEx}, - {"WINREG_OPENHKPT", NDR_WINREG_OPENHKPT, api_winreg_OpenHKPT}, - {"WINREG_OPENHKPN", NDR_WINREG_OPENHKPN, api_winreg_OpenHKPN}, - {"WINREG_QUERYMULTIPLEVALUES2", NDR_WINREG_QUERYMULTIPLEVALUES2, api_winreg_QueryMultipleValues2}, - {"WINREG_DELETEKEYEX", NDR_WINREG_DELETEKEYEX, api_winreg_DeleteKeyEx}, -}; - -void winreg_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_winreg_cmds; - *n_fns = sizeof(api_winreg_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_winreg_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_WINREG_OPENHKCR: { - struct winreg_OpenHKCR *r = (struct winreg_OpenHKCR *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKCR(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKCU: { - struct winreg_OpenHKCU *r = (struct winreg_OpenHKCU *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKCU(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKLM: { - struct winreg_OpenHKLM *r = (struct winreg_OpenHKLM *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKLM(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKPD: { - struct winreg_OpenHKPD *r = (struct winreg_OpenHKPD *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKPD(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKU: { - struct winreg_OpenHKU *r = (struct winreg_OpenHKU *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKU(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_CLOSEKEY: { - struct winreg_CloseKey *r = (struct winreg_CloseKey *)_r; - ZERO_STRUCT(r->out); - r->out.handle = r->in.handle; - r->out.result = _winreg_CloseKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_CREATEKEY: { - struct winreg_CreateKey *r = (struct winreg_CreateKey *)_r; - ZERO_STRUCT(r->out); - r->out.action_taken = r->in.action_taken; - r->out.new_handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.new_handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_CreateKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_DELETEKEY: { - struct winreg_DeleteKey *r = (struct winreg_DeleteKey *)_r; - r->out.result = _winreg_DeleteKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_DELETEVALUE: { - struct winreg_DeleteValue *r = (struct winreg_DeleteValue *)_r; - r->out.result = _winreg_DeleteValue(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_ENUMKEY: { - struct winreg_EnumKey *r = (struct winreg_EnumKey *)_r; - ZERO_STRUCT(r->out); - r->out.name = r->in.name; - r->out.keyclass = r->in.keyclass; - r->out.last_changed_time = r->in.last_changed_time; - r->out.result = _winreg_EnumKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_ENUMVALUE: { - struct winreg_EnumValue *r = (struct winreg_EnumValue *)_r; - ZERO_STRUCT(r->out); - r->out.name = r->in.name; - r->out.type = r->in.type; - r->out.value = r->in.value; - r->out.size = r->in.size; - r->out.length = r->in.length; - r->out.result = _winreg_EnumValue(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_FLUSHKEY: { - struct winreg_FlushKey *r = (struct winreg_FlushKey *)_r; - r->out.result = _winreg_FlushKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_GETKEYSECURITY: { - struct winreg_GetKeySecurity *r = (struct winreg_GetKeySecurity *)_r; - ZERO_STRUCT(r->out); - r->out.sd = r->in.sd; - r->out.result = _winreg_GetKeySecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_LOADKEY: { - struct winreg_LoadKey *r = (struct winreg_LoadKey *)_r; - r->out.result = _winreg_LoadKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_NOTIFYCHANGEKEYVALUE: { - struct winreg_NotifyChangeKeyValue *r = (struct winreg_NotifyChangeKeyValue *)_r; - r->out.result = _winreg_NotifyChangeKeyValue(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENKEY: { - struct winreg_OpenKey *r = (struct winreg_OpenKey *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_QUERYINFOKEY: { - struct winreg_QueryInfoKey *r = (struct winreg_QueryInfoKey *)_r; - ZERO_STRUCT(r->out); - r->out.classname = r->in.classname; - r->out.num_subkeys = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_subkeys == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.max_subkeylen = talloc_zero(mem_ctx, uint32_t); - if (r->out.max_subkeylen == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.max_classlen = talloc_zero(mem_ctx, uint32_t); - if (r->out.max_classlen == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.num_values = talloc_zero(mem_ctx, uint32_t); - if (r->out.num_values == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.max_valnamelen = talloc_zero(mem_ctx, uint32_t); - if (r->out.max_valnamelen == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.max_valbufsize = talloc_zero(mem_ctx, uint32_t); - if (r->out.max_valbufsize == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.secdescsize = talloc_zero(mem_ctx, uint32_t); - if (r->out.secdescsize == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.last_changed_time = talloc_zero(mem_ctx, NTTIME); - if (r->out.last_changed_time == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_QueryInfoKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_QUERYVALUE: { - struct winreg_QueryValue *r = (struct winreg_QueryValue *)_r; - ZERO_STRUCT(r->out); - r->out.type = r->in.type; - r->out.data = r->in.data; - r->out.data_size = r->in.data_size; - r->out.data_length = r->in.data_length; - r->out.result = _winreg_QueryValue(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_REPLACEKEY: { - struct winreg_ReplaceKey *r = (struct winreg_ReplaceKey *)_r; - r->out.result = _winreg_ReplaceKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_RESTOREKEY: { - struct winreg_RestoreKey *r = (struct winreg_RestoreKey *)_r; - r->out.result = _winreg_RestoreKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_SAVEKEY: { - struct winreg_SaveKey *r = (struct winreg_SaveKey *)_r; - r->out.result = _winreg_SaveKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_SETKEYSECURITY: { - struct winreg_SetKeySecurity *r = (struct winreg_SetKeySecurity *)_r; - r->out.result = _winreg_SetKeySecurity(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_SETVALUE: { - struct winreg_SetValue *r = (struct winreg_SetValue *)_r; - r->out.result = _winreg_SetValue(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_UNLOADKEY: { - struct winreg_UnLoadKey *r = (struct winreg_UnLoadKey *)_r; - r->out.result = _winreg_UnLoadKey(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_INITIATESYSTEMSHUTDOWN: { - struct winreg_InitiateSystemShutdown *r = (struct winreg_InitiateSystemShutdown *)_r; - r->out.result = _winreg_InitiateSystemShutdown(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_ABORTSYSTEMSHUTDOWN: { - struct winreg_AbortSystemShutdown *r = (struct winreg_AbortSystemShutdown *)_r; - r->out.result = _winreg_AbortSystemShutdown(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_GETVERSION: { - struct winreg_GetVersion *r = (struct winreg_GetVersion *)_r; - ZERO_STRUCT(r->out); - r->out.version = talloc_zero(mem_ctx, uint32_t); - if (r->out.version == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_GetVersion(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKCC: { - struct winreg_OpenHKCC *r = (struct winreg_OpenHKCC *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKCC(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKDD: { - struct winreg_OpenHKDD *r = (struct winreg_OpenHKDD *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKDD(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_QUERYMULTIPLEVALUES: { - struct winreg_QueryMultipleValues *r = (struct winreg_QueryMultipleValues *)_r; - ZERO_STRUCT(r->out); - r->out.values = r->in.values; - r->out.buffer = r->in.buffer; - r->out.buffer_size = r->in.buffer_size; - r->out.result = _winreg_QueryMultipleValues(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_INITIATESYSTEMSHUTDOWNEX: { - struct winreg_InitiateSystemShutdownEx *r = (struct winreg_InitiateSystemShutdownEx *)_r; - r->out.result = _winreg_InitiateSystemShutdownEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_SAVEKEYEX: { - struct winreg_SaveKeyEx *r = (struct winreg_SaveKeyEx *)_r; - r->out.result = _winreg_SaveKeyEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKPT: { - struct winreg_OpenHKPT *r = (struct winreg_OpenHKPT *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKPT(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_OPENHKPN: { - struct winreg_OpenHKPN *r = (struct winreg_OpenHKPN *)_r; - ZERO_STRUCT(r->out); - r->out.handle = talloc_zero(mem_ctx, struct policy_handle); - if (r->out.handle == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_OpenHKPN(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_QUERYMULTIPLEVALUES2: { - struct winreg_QueryMultipleValues2 *r = (struct winreg_QueryMultipleValues2 *)_r; - ZERO_STRUCT(r->out); - r->out.values = r->in.values; - r->out.buffer = r->in.buffer; - r->out.needed = talloc_zero(mem_ctx, uint32_t); - if (r->out.needed == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _winreg_QueryMultipleValues2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WINREG_DELETEKEYEX: { - struct winreg_DeleteKeyEx *r = (struct winreg_DeleteKeyEx *)_r; - r->out.result = _winreg_DeleteKeyEx(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_winreg_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "winreg", "winreg", &ndr_table_winreg, api_winreg_cmds, sizeof(api_winreg_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_winreg.h b/librpc/gen_ndr/srv_winreg.h deleted file mode 100644 index 9185b1bb476..00000000000 --- a/librpc/gen_ndr/srv_winreg.h +++ /dev/null @@ -1,79 +0,0 @@ -#include "../librpc/gen_ndr/ndr_winreg.h" -#ifndef __SRV_WINREG__ -#define __SRV_WINREG__ -WERROR _winreg_OpenHKCR(pipes_struct *p, struct winreg_OpenHKCR *r); -WERROR _winreg_OpenHKCU(pipes_struct *p, struct winreg_OpenHKCU *r); -WERROR _winreg_OpenHKLM(pipes_struct *p, struct winreg_OpenHKLM *r); -WERROR _winreg_OpenHKPD(pipes_struct *p, struct winreg_OpenHKPD *r); -WERROR _winreg_OpenHKU(pipes_struct *p, struct winreg_OpenHKU *r); -WERROR _winreg_CloseKey(pipes_struct *p, struct winreg_CloseKey *r); -WERROR _winreg_CreateKey(pipes_struct *p, struct winreg_CreateKey *r); -WERROR _winreg_DeleteKey(pipes_struct *p, struct winreg_DeleteKey *r); -WERROR _winreg_DeleteValue(pipes_struct *p, struct winreg_DeleteValue *r); -WERROR _winreg_EnumKey(pipes_struct *p, struct winreg_EnumKey *r); -WERROR _winreg_EnumValue(pipes_struct *p, struct winreg_EnumValue *r); -WERROR _winreg_FlushKey(pipes_struct *p, struct winreg_FlushKey *r); -WERROR _winreg_GetKeySecurity(pipes_struct *p, struct winreg_GetKeySecurity *r); -WERROR _winreg_LoadKey(pipes_struct *p, struct winreg_LoadKey *r); -WERROR _winreg_NotifyChangeKeyValue(pipes_struct *p, struct winreg_NotifyChangeKeyValue *r); -WERROR _winreg_OpenKey(pipes_struct *p, struct winreg_OpenKey *r); -WERROR _winreg_QueryInfoKey(pipes_struct *p, struct winreg_QueryInfoKey *r); -WERROR _winreg_QueryValue(pipes_struct *p, struct winreg_QueryValue *r); -WERROR _winreg_ReplaceKey(pipes_struct *p, struct winreg_ReplaceKey *r); -WERROR _winreg_RestoreKey(pipes_struct *p, struct winreg_RestoreKey *r); -WERROR _winreg_SaveKey(pipes_struct *p, struct winreg_SaveKey *r); -WERROR _winreg_SetKeySecurity(pipes_struct *p, struct winreg_SetKeySecurity *r); -WERROR _winreg_SetValue(pipes_struct *p, struct winreg_SetValue *r); -WERROR _winreg_UnLoadKey(pipes_struct *p, struct winreg_UnLoadKey *r); -WERROR _winreg_InitiateSystemShutdown(pipes_struct *p, struct winreg_InitiateSystemShutdown *r); -WERROR _winreg_AbortSystemShutdown(pipes_struct *p, struct winreg_AbortSystemShutdown *r); -WERROR _winreg_GetVersion(pipes_struct *p, struct winreg_GetVersion *r); -WERROR _winreg_OpenHKCC(pipes_struct *p, struct winreg_OpenHKCC *r); -WERROR _winreg_OpenHKDD(pipes_struct *p, struct winreg_OpenHKDD *r); -WERROR _winreg_QueryMultipleValues(pipes_struct *p, struct winreg_QueryMultipleValues *r); -WERROR _winreg_InitiateSystemShutdownEx(pipes_struct *p, struct winreg_InitiateSystemShutdownEx *r); -WERROR _winreg_SaveKeyEx(pipes_struct *p, struct winreg_SaveKeyEx *r); -WERROR _winreg_OpenHKPT(pipes_struct *p, struct winreg_OpenHKPT *r); -WERROR _winreg_OpenHKPN(pipes_struct *p, struct winreg_OpenHKPN *r); -WERROR _winreg_QueryMultipleValues2(pipes_struct *p, struct winreg_QueryMultipleValues2 *r); -WERROR _winreg_DeleteKeyEx(pipes_struct *p, struct winreg_DeleteKeyEx *r); -void winreg_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_winreg_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _winreg_OpenHKCR(pipes_struct *p, struct winreg_OpenHKCR *r); -WERROR _winreg_OpenHKCU(pipes_struct *p, struct winreg_OpenHKCU *r); -WERROR _winreg_OpenHKLM(pipes_struct *p, struct winreg_OpenHKLM *r); -WERROR _winreg_OpenHKPD(pipes_struct *p, struct winreg_OpenHKPD *r); -WERROR _winreg_OpenHKU(pipes_struct *p, struct winreg_OpenHKU *r); -WERROR _winreg_CloseKey(pipes_struct *p, struct winreg_CloseKey *r); -WERROR _winreg_CreateKey(pipes_struct *p, struct winreg_CreateKey *r); -WERROR _winreg_DeleteKey(pipes_struct *p, struct winreg_DeleteKey *r); -WERROR _winreg_DeleteValue(pipes_struct *p, struct winreg_DeleteValue *r); -WERROR _winreg_EnumKey(pipes_struct *p, struct winreg_EnumKey *r); -WERROR _winreg_EnumValue(pipes_struct *p, struct winreg_EnumValue *r); -WERROR _winreg_FlushKey(pipes_struct *p, struct winreg_FlushKey *r); -WERROR _winreg_GetKeySecurity(pipes_struct *p, struct winreg_GetKeySecurity *r); -WERROR _winreg_LoadKey(pipes_struct *p, struct winreg_LoadKey *r); -WERROR _winreg_NotifyChangeKeyValue(pipes_struct *p, struct winreg_NotifyChangeKeyValue *r); -WERROR _winreg_OpenKey(pipes_struct *p, struct winreg_OpenKey *r); -WERROR _winreg_QueryInfoKey(pipes_struct *p, struct winreg_QueryInfoKey *r); -WERROR _winreg_QueryValue(pipes_struct *p, struct winreg_QueryValue *r); -WERROR _winreg_ReplaceKey(pipes_struct *p, struct winreg_ReplaceKey *r); -WERROR _winreg_RestoreKey(pipes_struct *p, struct winreg_RestoreKey *r); -WERROR _winreg_SaveKey(pipes_struct *p, struct winreg_SaveKey *r); -WERROR _winreg_SetKeySecurity(pipes_struct *p, struct winreg_SetKeySecurity *r); -WERROR _winreg_SetValue(pipes_struct *p, struct winreg_SetValue *r); -WERROR _winreg_UnLoadKey(pipes_struct *p, struct winreg_UnLoadKey *r); -WERROR _winreg_InitiateSystemShutdown(pipes_struct *p, struct winreg_InitiateSystemShutdown *r); -WERROR _winreg_AbortSystemShutdown(pipes_struct *p, struct winreg_AbortSystemShutdown *r); -WERROR _winreg_GetVersion(pipes_struct *p, struct winreg_GetVersion *r); -WERROR _winreg_OpenHKCC(pipes_struct *p, struct winreg_OpenHKCC *r); -WERROR _winreg_OpenHKDD(pipes_struct *p, struct winreg_OpenHKDD *r); -WERROR _winreg_QueryMultipleValues(pipes_struct *p, struct winreg_QueryMultipleValues *r); -WERROR _winreg_InitiateSystemShutdownEx(pipes_struct *p, struct winreg_InitiateSystemShutdownEx *r); -WERROR _winreg_SaveKeyEx(pipes_struct *p, struct winreg_SaveKeyEx *r); -WERROR _winreg_OpenHKPT(pipes_struct *p, struct winreg_OpenHKPT *r); -WERROR _winreg_OpenHKPN(pipes_struct *p, struct winreg_OpenHKPN *r); -WERROR _winreg_QueryMultipleValues2(pipes_struct *p, struct winreg_QueryMultipleValues2 *r); -WERROR _winreg_DeleteKeyEx(pipes_struct *p, struct winreg_DeleteKeyEx *r); -NTSTATUS rpc_winreg_init(void); -#endif /* __SRV_WINREG__ */ diff --git a/librpc/gen_ndr/srv_wkssvc.c b/librpc/gen_ndr/srv_wkssvc.c deleted file mode 100644 index d5ab4b1005b..00000000000 --- a/librpc/gen_ndr/srv_wkssvc.c +++ /dev/null @@ -1,2694 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * server auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/srv_wkssvc.h" - -static bool api_wkssvc_NetWkstaGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetWkstaGetInfo *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETWKSTAGETINFO]; - - r = talloc(talloc_tos(), struct wkssvc_NetWkstaGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetWkstaGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union wkssvc_NetWkstaInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetWkstaGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetWkstaGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetWkstaSetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetWkstaSetInfo *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETWKSTASETINFO]; - - r = talloc(talloc_tos(), struct wkssvc_NetWkstaSetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetWkstaSetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _wkssvc_NetWkstaSetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetWkstaSetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetWkstaEnumUsers(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetWkstaEnumUsers *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETWKSTAENUMUSERS]; - - r = talloc(talloc_tos(), struct wkssvc_NetWkstaEnumUsers); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetWkstaEnumUsers, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.entries_read = talloc_zero(r, uint32_t); - if (r->out.entries_read == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetWkstaEnumUsers(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetWkstaEnumUsers, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrWkstaUserGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrWkstaUserGetInfo *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRWKSTAUSERGETINFO]; - - r = talloc(talloc_tos(), struct wkssvc_NetrWkstaUserGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrWkstaUserGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, union wkssvc_NetrWkstaUserInfo); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrWkstaUserGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrWkstaUserGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrWkstaUserSetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrWkstaUserSetInfo *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRWKSTAUSERSETINFO]; - - r = talloc(talloc_tos(), struct wkssvc_NetrWkstaUserSetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrWkstaUserSetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_err = r->in.parm_err; - r->out.result = _wkssvc_NetrWkstaUserSetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrWkstaUserSetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetWkstaTransportEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetWkstaTransportEnum *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETWKSTATRANSPORTENUM]; - - r = talloc(talloc_tos(), struct wkssvc_NetWkstaTransportEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetWkstaTransportEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.total_entries = talloc_zero(r, uint32_t); - if (r->out.total_entries == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetWkstaTransportEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetWkstaTransportEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrWkstaTransportAdd(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrWkstaTransportAdd *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRWKSTATRANSPORTADD]; - - r = talloc(talloc_tos(), struct wkssvc_NetrWkstaTransportAdd); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrWkstaTransportAdd, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_err = r->in.parm_err; - r->out.result = _wkssvc_NetrWkstaTransportAdd(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrWkstaTransportAdd, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrWkstaTransportDel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrWkstaTransportDel *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRWKSTATRANSPORTDEL]; - - r = talloc(talloc_tos(), struct wkssvc_NetrWkstaTransportDel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrWkstaTransportDel, r); - } - - r->out.result = _wkssvc_NetrWkstaTransportDel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrWkstaTransportDel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrUseAdd(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrUseAdd *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRUSEADD]; - - r = talloc(talloc_tos(), struct wkssvc_NetrUseAdd); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrUseAdd, r); - } - - ZERO_STRUCT(r->out); - r->out.parm_err = r->in.parm_err; - r->out.result = _wkssvc_NetrUseAdd(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrUseAdd, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrUseGetInfo(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrUseGetInfo *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRUSEGETINFO]; - - r = talloc(talloc_tos(), struct wkssvc_NetrUseGetInfo); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrUseGetInfo, r); - } - - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(r, union wkssvc_NetrUseGetInfoCtr); - if (r->out.ctr == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrUseGetInfo(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrUseGetInfo, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrUseDel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrUseDel *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRUSEDEL]; - - r = talloc(talloc_tos(), struct wkssvc_NetrUseDel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrUseDel, r); - } - - r->out.result = _wkssvc_NetrUseDel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrUseDel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrUseEnum(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrUseEnum *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRUSEENUM]; - - r = talloc(talloc_tos(), struct wkssvc_NetrUseEnum); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrUseEnum, r); - } - - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.entries_read = talloc_zero(r, uint32_t); - if (r->out.entries_read == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrUseEnum(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrUseEnum, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrMessageBufferSend(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrMessageBufferSend *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRMESSAGEBUFFERSEND]; - - r = talloc(talloc_tos(), struct wkssvc_NetrMessageBufferSend); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrMessageBufferSend, r); - } - - r->out.result = _wkssvc_NetrMessageBufferSend(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrMessageBufferSend, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrWorkstationStatisticsGet(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrWorkstationStatisticsGet *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET]; - - r = talloc(talloc_tos(), struct wkssvc_NetrWorkstationStatisticsGet); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrWorkstationStatisticsGet, r); - } - - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(r, struct wkssvc_NetrWorkstationStatistics *); - if (r->out.info == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrWorkstationStatisticsGet(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrWorkstationStatisticsGet, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrLogonDomainNameAdd(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrLogonDomainNameAdd *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRLOGONDOMAINNAMEADD]; - - r = talloc(talloc_tos(), struct wkssvc_NetrLogonDomainNameAdd); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrLogonDomainNameAdd, r); - } - - r->out.result = _wkssvc_NetrLogonDomainNameAdd(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrLogonDomainNameAdd, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrLogonDomainNameDel(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrLogonDomainNameDel *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL]; - - r = talloc(talloc_tos(), struct wkssvc_NetrLogonDomainNameDel); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrLogonDomainNameDel, r); - } - - r->out.result = _wkssvc_NetrLogonDomainNameDel(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrLogonDomainNameDel, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrJoinDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrJoinDomain *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRJOINDOMAIN]; - - r = talloc(talloc_tos(), struct wkssvc_NetrJoinDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrJoinDomain, r); - } - - r->out.result = _wkssvc_NetrJoinDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrJoinDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrUnjoinDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrUnjoinDomain *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRUNJOINDOMAIN]; - - r = talloc(talloc_tos(), struct wkssvc_NetrUnjoinDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrUnjoinDomain, r); - } - - r->out.result = _wkssvc_NetrUnjoinDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrUnjoinDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrRenameMachineInDomain(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrRenameMachineInDomain *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN]; - - r = talloc(talloc_tos(), struct wkssvc_NetrRenameMachineInDomain); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrRenameMachineInDomain, r); - } - - r->out.result = _wkssvc_NetrRenameMachineInDomain(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrRenameMachineInDomain, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrValidateName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrValidateName *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRVALIDATENAME]; - - r = talloc(talloc_tos(), struct wkssvc_NetrValidateName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrValidateName, r); - } - - r->out.result = _wkssvc_NetrValidateName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrValidateName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrGetJoinInformation(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrGetJoinInformation *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRGETJOININFORMATION]; - - r = talloc(talloc_tos(), struct wkssvc_NetrGetJoinInformation); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrGetJoinInformation, r); - } - - ZERO_STRUCT(r->out); - r->out.name_buffer = r->in.name_buffer; - r->out.name_type = talloc_zero(r, enum wkssvc_NetJoinStatus); - if (r->out.name_type == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrGetJoinInformation(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrGetJoinInformation, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrGetJoinableOus(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrGetJoinableOus *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRGETJOINABLEOUS]; - - r = talloc(talloc_tos(), struct wkssvc_NetrGetJoinableOus); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrGetJoinableOus, r); - } - - ZERO_STRUCT(r->out); - r->out.num_ous = r->in.num_ous; - r->out.ous = talloc_zero(r, const char **); - if (r->out.ous == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrGetJoinableOus(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrGetJoinableOus, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrJoinDomain2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrJoinDomain2 *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRJOINDOMAIN2]; - - r = talloc(talloc_tos(), struct wkssvc_NetrJoinDomain2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrJoinDomain2, r); - } - - r->out.result = _wkssvc_NetrJoinDomain2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrJoinDomain2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrUnjoinDomain2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrUnjoinDomain2 *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRUNJOINDOMAIN2]; - - r = talloc(talloc_tos(), struct wkssvc_NetrUnjoinDomain2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrUnjoinDomain2, r); - } - - r->out.result = _wkssvc_NetrUnjoinDomain2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrUnjoinDomain2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrRenameMachineInDomain2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrRenameMachineInDomain2 *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2]; - - r = talloc(talloc_tos(), struct wkssvc_NetrRenameMachineInDomain2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrRenameMachineInDomain2, r); - } - - r->out.result = _wkssvc_NetrRenameMachineInDomain2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrRenameMachineInDomain2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrValidateName2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrValidateName2 *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRVALIDATENAME2]; - - r = talloc(talloc_tos(), struct wkssvc_NetrValidateName2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrValidateName2, r); - } - - r->out.result = _wkssvc_NetrValidateName2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrValidateName2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrGetJoinableOus2(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrGetJoinableOus2 *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRGETJOINABLEOUS2]; - - r = talloc(talloc_tos(), struct wkssvc_NetrGetJoinableOus2); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrGetJoinableOus2, r); - } - - ZERO_STRUCT(r->out); - r->out.num_ous = r->in.num_ous; - r->out.ous = talloc_zero(r, const char **); - if (r->out.ous == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrGetJoinableOus2(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrGetJoinableOus2, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrAddAlternateComputerName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrAddAlternateComputerName *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME]; - - r = talloc(talloc_tos(), struct wkssvc_NetrAddAlternateComputerName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrAddAlternateComputerName, r); - } - - r->out.result = _wkssvc_NetrAddAlternateComputerName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrAddAlternateComputerName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrRemoveAlternateComputerName(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrRemoveAlternateComputerName *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME]; - - r = talloc(talloc_tos(), struct wkssvc_NetrRemoveAlternateComputerName); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrRemoveAlternateComputerName, r); - } - - r->out.result = _wkssvc_NetrRemoveAlternateComputerName(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrRemoveAlternateComputerName, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrSetPrimaryComputername(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrSetPrimaryComputername *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME]; - - r = talloc(talloc_tos(), struct wkssvc_NetrSetPrimaryComputername); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrSetPrimaryComputername, r); - } - - r->out.result = _wkssvc_NetrSetPrimaryComputername(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrSetPrimaryComputername, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - -static bool api_wkssvc_NetrEnumerateComputerNames(pipes_struct *p) -{ - const struct ndr_interface_call *call; - struct ndr_pull *pull; - struct ndr_push *push; - enum ndr_err_code ndr_err; - DATA_BLOB blob; - struct wkssvc_NetrEnumerateComputerNames *r; - - call = &ndr_table_wkssvc.calls[NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES]; - - r = talloc(talloc_tos(), struct wkssvc_NetrEnumerateComputerNames); - if (r == NULL) { - return false; - } - - if (!prs_data_blob(&p->in_data.data, &blob, r)) { - talloc_free(r); - return false; - } - - pull = ndr_pull_init_blob(&blob, r, NULL); - if (pull == NULL) { - talloc_free(r); - return false; - } - - pull->flags |= LIBNDR_FLAG_REF_ALLOC; - ndr_err = call->ndr_pull(pull, NDR_IN, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_IN_DEBUG(wkssvc_NetrEnumerateComputerNames, r); - } - - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(r, struct wkssvc_ComputerNamesCtr *); - if (r->out.ctr == NULL) { - talloc_free(r); - return false; - } - - r->out.result = _wkssvc_NetrEnumerateComputerNames(p, r); - - if (p->rng_fault_state) { - talloc_free(r); - /* Return true here, srv_pipe_hnd.c will take care */ - return true; - } - - if (DEBUGLEVEL >= 10) { - NDR_PRINT_OUT_DEBUG(wkssvc_NetrEnumerateComputerNames, r); - } - - push = ndr_push_init_ctx(r, NULL); - if (push == NULL) { - talloc_free(r); - return false; - } - - ndr_err = call->ndr_push(push, NDR_OUT, r); - if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - talloc_free(r); - return false; - } - - blob = ndr_push_blob(push); - if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { - talloc_free(r); - return false; - } - - talloc_free(r); - - return true; -} - - -/* Tables */ -static struct api_struct api_wkssvc_cmds[] = -{ - {"WKSSVC_NETWKSTAGETINFO", NDR_WKSSVC_NETWKSTAGETINFO, api_wkssvc_NetWkstaGetInfo}, - {"WKSSVC_NETWKSTASETINFO", NDR_WKSSVC_NETWKSTASETINFO, api_wkssvc_NetWkstaSetInfo}, - {"WKSSVC_NETWKSTAENUMUSERS", NDR_WKSSVC_NETWKSTAENUMUSERS, api_wkssvc_NetWkstaEnumUsers}, - {"WKSSVC_NETRWKSTAUSERGETINFO", NDR_WKSSVC_NETRWKSTAUSERGETINFO, api_wkssvc_NetrWkstaUserGetInfo}, - {"WKSSVC_NETRWKSTAUSERSETINFO", NDR_WKSSVC_NETRWKSTAUSERSETINFO, api_wkssvc_NetrWkstaUserSetInfo}, - {"WKSSVC_NETWKSTATRANSPORTENUM", NDR_WKSSVC_NETWKSTATRANSPORTENUM, api_wkssvc_NetWkstaTransportEnum}, - {"WKSSVC_NETRWKSTATRANSPORTADD", NDR_WKSSVC_NETRWKSTATRANSPORTADD, api_wkssvc_NetrWkstaTransportAdd}, - {"WKSSVC_NETRWKSTATRANSPORTDEL", NDR_WKSSVC_NETRWKSTATRANSPORTDEL, api_wkssvc_NetrWkstaTransportDel}, - {"WKSSVC_NETRUSEADD", NDR_WKSSVC_NETRUSEADD, api_wkssvc_NetrUseAdd}, - {"WKSSVC_NETRUSEGETINFO", NDR_WKSSVC_NETRUSEGETINFO, api_wkssvc_NetrUseGetInfo}, - {"WKSSVC_NETRUSEDEL", NDR_WKSSVC_NETRUSEDEL, api_wkssvc_NetrUseDel}, - {"WKSSVC_NETRUSEENUM", NDR_WKSSVC_NETRUSEENUM, api_wkssvc_NetrUseEnum}, - {"WKSSVC_NETRMESSAGEBUFFERSEND", NDR_WKSSVC_NETRMESSAGEBUFFERSEND, api_wkssvc_NetrMessageBufferSend}, - {"WKSSVC_NETRWORKSTATIONSTATISTICSGET", NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET, api_wkssvc_NetrWorkstationStatisticsGet}, - {"WKSSVC_NETRLOGONDOMAINNAMEADD", NDR_WKSSVC_NETRLOGONDOMAINNAMEADD, api_wkssvc_NetrLogonDomainNameAdd}, - {"WKSSVC_NETRLOGONDOMAINNAMEDEL", NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL, api_wkssvc_NetrLogonDomainNameDel}, - {"WKSSVC_NETRJOINDOMAIN", NDR_WKSSVC_NETRJOINDOMAIN, api_wkssvc_NetrJoinDomain}, - {"WKSSVC_NETRUNJOINDOMAIN", NDR_WKSSVC_NETRUNJOINDOMAIN, api_wkssvc_NetrUnjoinDomain}, - {"WKSSVC_NETRRENAMEMACHINEINDOMAIN", NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN, api_wkssvc_NetrRenameMachineInDomain}, - {"WKSSVC_NETRVALIDATENAME", NDR_WKSSVC_NETRVALIDATENAME, api_wkssvc_NetrValidateName}, - {"WKSSVC_NETRGETJOININFORMATION", NDR_WKSSVC_NETRGETJOININFORMATION, api_wkssvc_NetrGetJoinInformation}, - {"WKSSVC_NETRGETJOINABLEOUS", NDR_WKSSVC_NETRGETJOINABLEOUS, api_wkssvc_NetrGetJoinableOus}, - {"WKSSVC_NETRJOINDOMAIN2", NDR_WKSSVC_NETRJOINDOMAIN2, api_wkssvc_NetrJoinDomain2}, - {"WKSSVC_NETRUNJOINDOMAIN2", NDR_WKSSVC_NETRUNJOINDOMAIN2, api_wkssvc_NetrUnjoinDomain2}, - {"WKSSVC_NETRRENAMEMACHINEINDOMAIN2", NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2, api_wkssvc_NetrRenameMachineInDomain2}, - {"WKSSVC_NETRVALIDATENAME2", NDR_WKSSVC_NETRVALIDATENAME2, api_wkssvc_NetrValidateName2}, - {"WKSSVC_NETRGETJOINABLEOUS2", NDR_WKSSVC_NETRGETJOINABLEOUS2, api_wkssvc_NetrGetJoinableOus2}, - {"WKSSVC_NETRADDALTERNATECOMPUTERNAME", NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME, api_wkssvc_NetrAddAlternateComputerName}, - {"WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME", NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME, api_wkssvc_NetrRemoveAlternateComputerName}, - {"WKSSVC_NETRSETPRIMARYCOMPUTERNAME", NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME, api_wkssvc_NetrSetPrimaryComputername}, - {"WKSSVC_NETRENUMERATECOMPUTERNAMES", NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES, api_wkssvc_NetrEnumerateComputerNames}, -}; - -void wkssvc_get_pipe_fns(struct api_struct **fns, int *n_fns) -{ - *fns = api_wkssvc_cmds; - *n_fns = sizeof(api_wkssvc_cmds) / sizeof(struct api_struct); -} - -NTSTATUS rpc_wkssvc_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) -{ - if (cli->pipes_struct == NULL) { - return NT_STATUS_INVALID_PARAMETER; - } - - switch (opnum) - { - case NDR_WKSSVC_NETWKSTAGETINFO: { - struct wkssvc_NetWkstaGetInfo *r = (struct wkssvc_NetWkstaGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union wkssvc_NetWkstaInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetWkstaGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETWKSTASETINFO: { - struct wkssvc_NetWkstaSetInfo *r = (struct wkssvc_NetWkstaSetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.parm_error = r->in.parm_error; - r->out.result = _wkssvc_NetWkstaSetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETWKSTAENUMUSERS: { - struct wkssvc_NetWkstaEnumUsers *r = (struct wkssvc_NetWkstaEnumUsers *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.entries_read = talloc_zero(mem_ctx, uint32_t); - if (r->out.entries_read == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetWkstaEnumUsers(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRWKSTAUSERGETINFO: { - struct wkssvc_NetrWkstaUserGetInfo *r = (struct wkssvc_NetrWkstaUserGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, union wkssvc_NetrWkstaUserInfo); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrWkstaUserGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRWKSTAUSERSETINFO: { - struct wkssvc_NetrWkstaUserSetInfo *r = (struct wkssvc_NetrWkstaUserSetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.parm_err = r->in.parm_err; - r->out.result = _wkssvc_NetrWkstaUserSetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETWKSTATRANSPORTENUM: { - struct wkssvc_NetWkstaTransportEnum *r = (struct wkssvc_NetWkstaTransportEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.total_entries = talloc_zero(mem_ctx, uint32_t); - if (r->out.total_entries == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetWkstaTransportEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRWKSTATRANSPORTADD: { - struct wkssvc_NetrWkstaTransportAdd *r = (struct wkssvc_NetrWkstaTransportAdd *)_r; - ZERO_STRUCT(r->out); - r->out.parm_err = r->in.parm_err; - r->out.result = _wkssvc_NetrWkstaTransportAdd(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRWKSTATRANSPORTDEL: { - struct wkssvc_NetrWkstaTransportDel *r = (struct wkssvc_NetrWkstaTransportDel *)_r; - r->out.result = _wkssvc_NetrWkstaTransportDel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRUSEADD: { - struct wkssvc_NetrUseAdd *r = (struct wkssvc_NetrUseAdd *)_r; - ZERO_STRUCT(r->out); - r->out.parm_err = r->in.parm_err; - r->out.result = _wkssvc_NetrUseAdd(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRUSEGETINFO: { - struct wkssvc_NetrUseGetInfo *r = (struct wkssvc_NetrUseGetInfo *)_r; - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(mem_ctx, union wkssvc_NetrUseGetInfoCtr); - if (r->out.ctr == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrUseGetInfo(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRUSEDEL: { - struct wkssvc_NetrUseDel *r = (struct wkssvc_NetrUseDel *)_r; - r->out.result = _wkssvc_NetrUseDel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRUSEENUM: { - struct wkssvc_NetrUseEnum *r = (struct wkssvc_NetrUseEnum *)_r; - ZERO_STRUCT(r->out); - r->out.info = r->in.info; - r->out.resume_handle = r->in.resume_handle; - r->out.entries_read = talloc_zero(mem_ctx, uint32_t); - if (r->out.entries_read == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrUseEnum(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRMESSAGEBUFFERSEND: { - struct wkssvc_NetrMessageBufferSend *r = (struct wkssvc_NetrMessageBufferSend *)_r; - r->out.result = _wkssvc_NetrMessageBufferSend(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRWORKSTATIONSTATISTICSGET: { - struct wkssvc_NetrWorkstationStatisticsGet *r = (struct wkssvc_NetrWorkstationStatisticsGet *)_r; - ZERO_STRUCT(r->out); - r->out.info = talloc_zero(mem_ctx, struct wkssvc_NetrWorkstationStatistics *); - if (r->out.info == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrWorkstationStatisticsGet(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRLOGONDOMAINNAMEADD: { - struct wkssvc_NetrLogonDomainNameAdd *r = (struct wkssvc_NetrLogonDomainNameAdd *)_r; - r->out.result = _wkssvc_NetrLogonDomainNameAdd(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRLOGONDOMAINNAMEDEL: { - struct wkssvc_NetrLogonDomainNameDel *r = (struct wkssvc_NetrLogonDomainNameDel *)_r; - r->out.result = _wkssvc_NetrLogonDomainNameDel(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRJOINDOMAIN: { - struct wkssvc_NetrJoinDomain *r = (struct wkssvc_NetrJoinDomain *)_r; - r->out.result = _wkssvc_NetrJoinDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRUNJOINDOMAIN: { - struct wkssvc_NetrUnjoinDomain *r = (struct wkssvc_NetrUnjoinDomain *)_r; - r->out.result = _wkssvc_NetrUnjoinDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN: { - struct wkssvc_NetrRenameMachineInDomain *r = (struct wkssvc_NetrRenameMachineInDomain *)_r; - r->out.result = _wkssvc_NetrRenameMachineInDomain(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRVALIDATENAME: { - struct wkssvc_NetrValidateName *r = (struct wkssvc_NetrValidateName *)_r; - r->out.result = _wkssvc_NetrValidateName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRGETJOININFORMATION: { - struct wkssvc_NetrGetJoinInformation *r = (struct wkssvc_NetrGetJoinInformation *)_r; - ZERO_STRUCT(r->out); - r->out.name_buffer = r->in.name_buffer; - r->out.name_type = talloc_zero(mem_ctx, enum wkssvc_NetJoinStatus); - if (r->out.name_type == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrGetJoinInformation(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRGETJOINABLEOUS: { - struct wkssvc_NetrGetJoinableOus *r = (struct wkssvc_NetrGetJoinableOus *)_r; - ZERO_STRUCT(r->out); - r->out.num_ous = r->in.num_ous; - r->out.ous = talloc_zero(mem_ctx, const char **); - if (r->out.ous == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrGetJoinableOus(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRJOINDOMAIN2: { - struct wkssvc_NetrJoinDomain2 *r = (struct wkssvc_NetrJoinDomain2 *)_r; - r->out.result = _wkssvc_NetrJoinDomain2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRUNJOINDOMAIN2: { - struct wkssvc_NetrUnjoinDomain2 *r = (struct wkssvc_NetrUnjoinDomain2 *)_r; - r->out.result = _wkssvc_NetrUnjoinDomain2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRRENAMEMACHINEINDOMAIN2: { - struct wkssvc_NetrRenameMachineInDomain2 *r = (struct wkssvc_NetrRenameMachineInDomain2 *)_r; - r->out.result = _wkssvc_NetrRenameMachineInDomain2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRVALIDATENAME2: { - struct wkssvc_NetrValidateName2 *r = (struct wkssvc_NetrValidateName2 *)_r; - r->out.result = _wkssvc_NetrValidateName2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRGETJOINABLEOUS2: { - struct wkssvc_NetrGetJoinableOus2 *r = (struct wkssvc_NetrGetJoinableOus2 *)_r; - ZERO_STRUCT(r->out); - r->out.num_ous = r->in.num_ous; - r->out.ous = talloc_zero(mem_ctx, const char **); - if (r->out.ous == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrGetJoinableOus2(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRADDALTERNATECOMPUTERNAME: { - struct wkssvc_NetrAddAlternateComputerName *r = (struct wkssvc_NetrAddAlternateComputerName *)_r; - r->out.result = _wkssvc_NetrAddAlternateComputerName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME: { - struct wkssvc_NetrRemoveAlternateComputerName *r = (struct wkssvc_NetrRemoveAlternateComputerName *)_r; - r->out.result = _wkssvc_NetrRemoveAlternateComputerName(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRSETPRIMARYCOMPUTERNAME: { - struct wkssvc_NetrSetPrimaryComputername *r = (struct wkssvc_NetrSetPrimaryComputername *)_r; - r->out.result = _wkssvc_NetrSetPrimaryComputername(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - case NDR_WKSSVC_NETRENUMERATECOMPUTERNAMES: { - struct wkssvc_NetrEnumerateComputerNames *r = (struct wkssvc_NetrEnumerateComputerNames *)_r; - ZERO_STRUCT(r->out); - r->out.ctr = talloc_zero(mem_ctx, struct wkssvc_ComputerNamesCtr *); - if (r->out.ctr == NULL) { - return NT_STATUS_NO_MEMORY; - } - - r->out.result = _wkssvc_NetrEnumerateComputerNames(cli->pipes_struct, r); - return NT_STATUS_OK; - } - - default: - return NT_STATUS_NOT_IMPLEMENTED; - } -} - -NTSTATUS rpc_wkssvc_init(void) -{ - return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "wkssvc", "wkssvc", &ndr_table_wkssvc, api_wkssvc_cmds, sizeof(api_wkssvc_cmds) / sizeof(struct api_struct)); -} diff --git a/librpc/gen_ndr/srv_wkssvc.h b/librpc/gen_ndr/srv_wkssvc.h deleted file mode 100644 index dd8eb7752aa..00000000000 --- a/librpc/gen_ndr/srv_wkssvc.h +++ /dev/null @@ -1,69 +0,0 @@ -#include "../librpc/gen_ndr/ndr_wkssvc.h" -#ifndef __SRV_WKSSVC__ -#define __SRV_WKSSVC__ -WERROR _wkssvc_NetWkstaGetInfo(pipes_struct *p, struct wkssvc_NetWkstaGetInfo *r); -WERROR _wkssvc_NetWkstaSetInfo(pipes_struct *p, struct wkssvc_NetWkstaSetInfo *r); -WERROR _wkssvc_NetWkstaEnumUsers(pipes_struct *p, struct wkssvc_NetWkstaEnumUsers *r); -WERROR _wkssvc_NetrWkstaUserGetInfo(pipes_struct *p, struct wkssvc_NetrWkstaUserGetInfo *r); -WERROR _wkssvc_NetrWkstaUserSetInfo(pipes_struct *p, struct wkssvc_NetrWkstaUserSetInfo *r); -WERROR _wkssvc_NetWkstaTransportEnum(pipes_struct *p, struct wkssvc_NetWkstaTransportEnum *r); -WERROR _wkssvc_NetrWkstaTransportAdd(pipes_struct *p, struct wkssvc_NetrWkstaTransportAdd *r); -WERROR _wkssvc_NetrWkstaTransportDel(pipes_struct *p, struct wkssvc_NetrWkstaTransportDel *r); -WERROR _wkssvc_NetrUseAdd(pipes_struct *p, struct wkssvc_NetrUseAdd *r); -WERROR _wkssvc_NetrUseGetInfo(pipes_struct *p, struct wkssvc_NetrUseGetInfo *r); -WERROR _wkssvc_NetrUseDel(pipes_struct *p, struct wkssvc_NetrUseDel *r); -WERROR _wkssvc_NetrUseEnum(pipes_struct *p, struct wkssvc_NetrUseEnum *r); -WERROR _wkssvc_NetrMessageBufferSend(pipes_struct *p, struct wkssvc_NetrMessageBufferSend *r); -WERROR _wkssvc_NetrWorkstationStatisticsGet(pipes_struct *p, struct wkssvc_NetrWorkstationStatisticsGet *r); -WERROR _wkssvc_NetrLogonDomainNameAdd(pipes_struct *p, struct wkssvc_NetrLogonDomainNameAdd *r); -WERROR _wkssvc_NetrLogonDomainNameDel(pipes_struct *p, struct wkssvc_NetrLogonDomainNameDel *r); -WERROR _wkssvc_NetrJoinDomain(pipes_struct *p, struct wkssvc_NetrJoinDomain *r); -WERROR _wkssvc_NetrUnjoinDomain(pipes_struct *p, struct wkssvc_NetrUnjoinDomain *r); -WERROR _wkssvc_NetrRenameMachineInDomain(pipes_struct *p, struct wkssvc_NetrRenameMachineInDomain *r); -WERROR _wkssvc_NetrValidateName(pipes_struct *p, struct wkssvc_NetrValidateName *r); -WERROR _wkssvc_NetrGetJoinInformation(pipes_struct *p, struct wkssvc_NetrGetJoinInformation *r); -WERROR _wkssvc_NetrGetJoinableOus(pipes_struct *p, struct wkssvc_NetrGetJoinableOus *r); -WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, struct wkssvc_NetrJoinDomain2 *r); -WERROR _wkssvc_NetrUnjoinDomain2(pipes_struct *p, struct wkssvc_NetrUnjoinDomain2 *r); -WERROR _wkssvc_NetrRenameMachineInDomain2(pipes_struct *p, struct wkssvc_NetrRenameMachineInDomain2 *r); -WERROR _wkssvc_NetrValidateName2(pipes_struct *p, struct wkssvc_NetrValidateName2 *r); -WERROR _wkssvc_NetrGetJoinableOus2(pipes_struct *p, struct wkssvc_NetrGetJoinableOus2 *r); -WERROR _wkssvc_NetrAddAlternateComputerName(pipes_struct *p, struct wkssvc_NetrAddAlternateComputerName *r); -WERROR _wkssvc_NetrRemoveAlternateComputerName(pipes_struct *p, struct wkssvc_NetrRemoveAlternateComputerName *r); -WERROR _wkssvc_NetrSetPrimaryComputername(pipes_struct *p, struct wkssvc_NetrSetPrimaryComputername *r); -WERROR _wkssvc_NetrEnumerateComputerNames(pipes_struct *p, struct wkssvc_NetrEnumerateComputerNames *r); -void wkssvc_get_pipe_fns(struct api_struct **fns, int *n_fns); -NTSTATUS rpc_wkssvc_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); -WERROR _wkssvc_NetWkstaGetInfo(pipes_struct *p, struct wkssvc_NetWkstaGetInfo *r); -WERROR _wkssvc_NetWkstaSetInfo(pipes_struct *p, struct wkssvc_NetWkstaSetInfo *r); -WERROR _wkssvc_NetWkstaEnumUsers(pipes_struct *p, struct wkssvc_NetWkstaEnumUsers *r); -WERROR _wkssvc_NetrWkstaUserGetInfo(pipes_struct *p, struct wkssvc_NetrWkstaUserGetInfo *r); -WERROR _wkssvc_NetrWkstaUserSetInfo(pipes_struct *p, struct wkssvc_NetrWkstaUserSetInfo *r); -WERROR _wkssvc_NetWkstaTransportEnum(pipes_struct *p, struct wkssvc_NetWkstaTransportEnum *r); -WERROR _wkssvc_NetrWkstaTransportAdd(pipes_struct *p, struct wkssvc_NetrWkstaTransportAdd *r); -WERROR _wkssvc_NetrWkstaTransportDel(pipes_struct *p, struct wkssvc_NetrWkstaTransportDel *r); -WERROR _wkssvc_NetrUseAdd(pipes_struct *p, struct wkssvc_NetrUseAdd *r); -WERROR _wkssvc_NetrUseGetInfo(pipes_struct *p, struct wkssvc_NetrUseGetInfo *r); -WERROR _wkssvc_NetrUseDel(pipes_struct *p, struct wkssvc_NetrUseDel *r); -WERROR _wkssvc_NetrUseEnum(pipes_struct *p, struct wkssvc_NetrUseEnum *r); -WERROR _wkssvc_NetrMessageBufferSend(pipes_struct *p, struct wkssvc_NetrMessageBufferSend *r); -WERROR _wkssvc_NetrWorkstationStatisticsGet(pipes_struct *p, struct wkssvc_NetrWorkstationStatisticsGet *r); -WERROR _wkssvc_NetrLogonDomainNameAdd(pipes_struct *p, struct wkssvc_NetrLogonDomainNameAdd *r); -WERROR _wkssvc_NetrLogonDomainNameDel(pipes_struct *p, struct wkssvc_NetrLogonDomainNameDel *r); -WERROR _wkssvc_NetrJoinDomain(pipes_struct *p, struct wkssvc_NetrJoinDomain *r); -WERROR _wkssvc_NetrUnjoinDomain(pipes_struct *p, struct wkssvc_NetrUnjoinDomain *r); -WERROR _wkssvc_NetrRenameMachineInDomain(pipes_struct *p, struct wkssvc_NetrRenameMachineInDomain *r); -WERROR _wkssvc_NetrValidateName(pipes_struct *p, struct wkssvc_NetrValidateName *r); -WERROR _wkssvc_NetrGetJoinInformation(pipes_struct *p, struct wkssvc_NetrGetJoinInformation *r); -WERROR _wkssvc_NetrGetJoinableOus(pipes_struct *p, struct wkssvc_NetrGetJoinableOus *r); -WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, struct wkssvc_NetrJoinDomain2 *r); -WERROR _wkssvc_NetrUnjoinDomain2(pipes_struct *p, struct wkssvc_NetrUnjoinDomain2 *r); -WERROR _wkssvc_NetrRenameMachineInDomain2(pipes_struct *p, struct wkssvc_NetrRenameMachineInDomain2 *r); -WERROR _wkssvc_NetrValidateName2(pipes_struct *p, struct wkssvc_NetrValidateName2 *r); -WERROR _wkssvc_NetrGetJoinableOus2(pipes_struct *p, struct wkssvc_NetrGetJoinableOus2 *r); -WERROR _wkssvc_NetrAddAlternateComputerName(pipes_struct *p, struct wkssvc_NetrAddAlternateComputerName *r); -WERROR _wkssvc_NetrRemoveAlternateComputerName(pipes_struct *p, struct wkssvc_NetrRemoveAlternateComputerName *r); -WERROR _wkssvc_NetrSetPrimaryComputername(pipes_struct *p, struct wkssvc_NetrSetPrimaryComputername *r); -WERROR _wkssvc_NetrEnumerateComputerNames(pipes_struct *p, struct wkssvc_NetrEnumerateComputerNames *r); -NTSTATUS rpc_wkssvc_init(void); -#endif /* __SRV_WKSSVC__ */ diff --git a/librpc/gen_ndr/srvsvc.h b/librpc/gen_ndr/srvsvc.h deleted file mode 100644 index be3dae4fd31..00000000000 --- a/librpc/gen_ndr/srvsvc.h +++ /dev/null @@ -1,1808 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/svcctl.h" -#ifndef _HEADER_srvsvc -#define _HEADER_srvsvc - -#define STYPE_TEMPORARY ( 0x40000000 ) -#define STYPE_HIDDEN ( 0x80000000 ) -#define SHARE_1005_CSC_POLICY_MASK ( 0x00000030 ) -#define SHARE_1005_CSC_POLICY_SHIFT ( 4 ) -struct srvsvc_NetCharDevInfo0 { - const char *device;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetCharDevCtr0 { - uint32_t count; - struct srvsvc_NetCharDevInfo0 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetCharDevInfo1 { - const char *device;/* [unique,charset(UTF16)] */ - uint32_t status; - const char *user;/* [unique,charset(UTF16)] */ - uint32_t time; -}; - -struct srvsvc_NetCharDevCtr1 { - uint32_t count; - struct srvsvc_NetCharDevInfo1 *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetCharDevInfo { - struct srvsvc_NetCharDevInfo0 *info0;/* [unique,case(0)] */ - struct srvsvc_NetCharDevInfo1 *info1;/* [unique,case] */ -}; - -union srvsvc_NetCharDevCtr { - struct srvsvc_NetCharDevCtr0 *ctr0;/* [unique,case(0)] */ - struct srvsvc_NetCharDevCtr1 *ctr1;/* [unique,case] */ -}; - -struct srvsvc_NetCharDevInfoCtr { - uint32_t level; - union srvsvc_NetCharDevCtr ctr;/* [switch_is(level)] */ -}; - -struct srvsvc_NetCharDevQInfo0 { - const char *device;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetCharDevQCtr0 { - uint32_t count; - struct srvsvc_NetCharDevQInfo0 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetCharDevQInfo1 { - const char *device;/* [unique,charset(UTF16)] */ - uint32_t priority; - const char *devices;/* [unique,charset(UTF16)] */ - uint32_t users; - uint32_t num_ahead; -}; - -struct srvsvc_NetCharDevQCtr1 { - uint32_t count; - struct srvsvc_NetCharDevQInfo1 *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetCharDevQInfo { - struct srvsvc_NetCharDevQInfo0 *info0;/* [unique,case(0)] */ - struct srvsvc_NetCharDevQInfo1 *info1;/* [unique,case] */ -}; - -union srvsvc_NetCharDevQCtr { - struct srvsvc_NetCharDevQCtr0 *ctr0;/* [unique,case(0)] */ - struct srvsvc_NetCharDevQCtr1 *ctr1;/* [unique,case] */ -}; - -struct srvsvc_NetCharDevQInfoCtr { - uint32_t level; - union srvsvc_NetCharDevQCtr ctr;/* [switch_is(level)] */ -}; - -struct srvsvc_NetConnInfo0 { - uint32_t conn_id; -}; - -struct srvsvc_NetConnCtr0 { - uint32_t count; - struct srvsvc_NetConnInfo0 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetConnInfo1 { - uint32_t conn_id; - uint32_t conn_type; - uint32_t num_open; - uint32_t num_users; - uint32_t conn_time; - const char *user;/* [unique,charset(UTF16)] */ - const char *share;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetConnCtr1 { - uint32_t count; - struct srvsvc_NetConnInfo1 *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetConnCtr { - struct srvsvc_NetConnCtr0 *ctr0;/* [unique,case(0)] */ - struct srvsvc_NetConnCtr1 *ctr1;/* [unique,case] */ -}; - -struct srvsvc_NetConnInfoCtr { - uint32_t level; - union srvsvc_NetConnCtr ctr;/* [switch_is(level)] */ -}; - -struct srvsvc_NetFileInfo2 { - uint32_t fid; -}; - -struct srvsvc_NetFileCtr2 { - uint32_t count; - struct srvsvc_NetFileInfo2 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetFileInfo3 { - uint32_t fid; - uint32_t permissions; - uint32_t num_locks; - const char *path;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetFileCtr3 { - uint32_t count; - struct srvsvc_NetFileInfo3 *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetFileInfo { - struct srvsvc_NetFileInfo2 *info2;/* [unique,case(2)] */ - struct srvsvc_NetFileInfo3 *info3;/* [unique,case(3)] */ -}; - -union srvsvc_NetFileCtr { - struct srvsvc_NetFileCtr2 *ctr2;/* [unique,case(2)] */ - struct srvsvc_NetFileCtr3 *ctr3;/* [unique,case(3)] */ -}; - -struct srvsvc_NetFileInfoCtr { - uint32_t level; - union srvsvc_NetFileCtr ctr;/* [switch_is(level)] */ -}; - -struct srvsvc_NetSessInfo0 { - const char *client;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSessCtr0 { - uint32_t count; - struct srvsvc_NetSessInfo0 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetSessInfo1 { - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t num_open; - uint32_t time; - uint32_t idle_time; - uint32_t user_flags; -}; - -struct srvsvc_NetSessCtr1 { - uint32_t count; - struct srvsvc_NetSessInfo1 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetSessInfo2 { - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t num_open; - uint32_t time; - uint32_t idle_time; - uint32_t user_flags; - const char *client_type;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSessCtr2 { - uint32_t count; - struct srvsvc_NetSessInfo2 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetSessInfo10 { - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t time; - uint32_t idle_time; -}; - -struct srvsvc_NetSessCtr10 { - uint32_t count; - struct srvsvc_NetSessInfo10 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetSessInfo502 { - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t num_open; - uint32_t time; - uint32_t idle_time; - uint32_t user_flags; - const char *client_type;/* [unique,charset(UTF16)] */ - const char *transport;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSessCtr502 { - uint32_t count; - struct srvsvc_NetSessInfo502 *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetSessCtr { - struct srvsvc_NetSessCtr0 *ctr0;/* [unique,case(0)] */ - struct srvsvc_NetSessCtr1 *ctr1;/* [unique,case] */ - struct srvsvc_NetSessCtr2 *ctr2;/* [unique,case(2)] */ - struct srvsvc_NetSessCtr10 *ctr10;/* [unique,case(10)] */ - struct srvsvc_NetSessCtr502 *ctr502;/* [unique,case(502)] */ -}; - -struct srvsvc_NetSessInfoCtr { - uint32_t level; - union srvsvc_NetSessCtr ctr;/* [switch_is(level)] */ -}; - -enum srvsvc_ShareType -#ifndef USE_UINT_ENUMS - { - STYPE_DISKTREE=(int)(0), - STYPE_DISKTREE_TEMPORARY=(int)(STYPE_DISKTREE|STYPE_TEMPORARY), - STYPE_DISKTREE_HIDDEN=(int)(STYPE_DISKTREE|STYPE_HIDDEN), - STYPE_PRINTQ=(int)(1), - STYPE_PRINTQ_TEMPORARY=(int)(STYPE_PRINTQ|STYPE_TEMPORARY), - STYPE_PRINTQ_HIDDEN=(int)(STYPE_PRINTQ|STYPE_HIDDEN), - STYPE_DEVICE=(int)(2), - STYPE_DEVICE_TEMPORARY=(int)(STYPE_DEVICE|STYPE_TEMPORARY), - STYPE_DEVICE_HIDDEN=(int)(STYPE_DEVICE|STYPE_HIDDEN), - STYPE_IPC=(int)(3), - STYPE_IPC_TEMPORARY=(int)(STYPE_IPC|STYPE_TEMPORARY), - STYPE_IPC_HIDDEN=(int)(STYPE_IPC|STYPE_HIDDEN) -} -#else - { __donnot_use_enum_srvsvc_ShareType=0x7FFFFFFF} -#define STYPE_DISKTREE ( 0 ) -#define STYPE_DISKTREE_TEMPORARY ( STYPE_DISKTREE|STYPE_TEMPORARY ) -#define STYPE_DISKTREE_HIDDEN ( STYPE_DISKTREE|STYPE_HIDDEN ) -#define STYPE_PRINTQ ( 1 ) -#define STYPE_PRINTQ_TEMPORARY ( STYPE_PRINTQ|STYPE_TEMPORARY ) -#define STYPE_PRINTQ_HIDDEN ( STYPE_PRINTQ|STYPE_HIDDEN ) -#define STYPE_DEVICE ( 2 ) -#define STYPE_DEVICE_TEMPORARY ( STYPE_DEVICE|STYPE_TEMPORARY ) -#define STYPE_DEVICE_HIDDEN ( STYPE_DEVICE|STYPE_HIDDEN ) -#define STYPE_IPC ( 3 ) -#define STYPE_IPC_TEMPORARY ( STYPE_IPC|STYPE_TEMPORARY ) -#define STYPE_IPC_HIDDEN ( STYPE_IPC|STYPE_HIDDEN ) -#endif -; - -struct srvsvc_NetShareInfo0 { - const char *name;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetShareCtr0 { - uint32_t count; - struct srvsvc_NetShareInfo0 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo1 { - const char *name;/* [unique,charset(UTF16)] */ - enum srvsvc_ShareType type; - const char *comment;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetShareCtr1 { - uint32_t count; - struct srvsvc_NetShareInfo1 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo2 { - const char *name;/* [unique,charset(UTF16)] */ - enum srvsvc_ShareType type; - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t permissions; - uint32_t max_users; - uint32_t current_users; - const char *path;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetShareCtr2 { - uint32_t count; - struct srvsvc_NetShareInfo2 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo501 { - const char *name;/* [unique,charset(UTF16)] */ - enum srvsvc_ShareType type; - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t csc_policy; -}; - -struct srvsvc_NetShareCtr501 { - uint32_t count; - struct srvsvc_NetShareInfo501 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo502 { - const char *name;/* [unique,charset(UTF16)] */ - enum srvsvc_ShareType type; - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t permissions; - uint32_t max_users; - uint32_t current_users; - const char *path;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - struct sec_desc_buf sd_buf; -}; - -struct srvsvc_NetShareCtr502 { - uint32_t count; - struct srvsvc_NetShareInfo502 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo1004 { - const char *comment;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetShareCtr1004 { - uint32_t count; - struct srvsvc_NetShareInfo1004 *array;/* [unique,size_is(count)] */ -}; - -/* bitmap NetShareInfo1005Flags */ -#define SHARE_1005_IN_DFS ( 0x00000001 ) -#define SHARE_1005_DFS_ROOT ( 0x00000002 ) - -struct srvsvc_NetShareInfo1005 { - uint32_t dfs_flags; -}; - -struct srvsvc_NetShareCtr1005 { - uint32_t count; - struct srvsvc_NetShareInfo1005 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo1006 { - uint32_t max_users; -}; - -struct srvsvc_NetShareCtr1006 { - uint32_t count; - struct srvsvc_NetShareInfo1006 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareInfo1007 { - uint32_t flags; - const char *alternate_directory_name;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetShareCtr1007 { - uint32_t count; - struct srvsvc_NetShareInfo1007 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetShareCtr1501 { - uint32_t count; - struct sec_desc_buf *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetShareInfo { - struct srvsvc_NetShareInfo0 *info0;/* [unique,case(0)] */ - struct srvsvc_NetShareInfo1 *info1;/* [unique,case] */ - struct srvsvc_NetShareInfo2 *info2;/* [unique,case(2)] */ - struct srvsvc_NetShareInfo501 *info501;/* [unique,case(501)] */ - struct srvsvc_NetShareInfo502 *info502;/* [unique,case(502)] */ - struct srvsvc_NetShareInfo1004 *info1004;/* [unique,case(1004)] */ - struct srvsvc_NetShareInfo1005 *info1005;/* [unique,case(1005)] */ - struct srvsvc_NetShareInfo1006 *info1006;/* [unique,case(1006)] */ - struct srvsvc_NetShareInfo1007 *info1007;/* [unique,case(1007)] */ - struct sec_desc_buf *info1501;/* [unique,case(1501)] */ -}; - -union srvsvc_NetShareCtr { - struct srvsvc_NetShareCtr0 *ctr0;/* [unique,case(0)] */ - struct srvsvc_NetShareCtr1 *ctr1;/* [unique,case] */ - struct srvsvc_NetShareCtr2 *ctr2;/* [unique,case(2)] */ - struct srvsvc_NetShareCtr501 *ctr501;/* [unique,case(501)] */ - struct srvsvc_NetShareCtr502 *ctr502;/* [unique,case(502)] */ - struct srvsvc_NetShareCtr1004 *ctr1004;/* [unique,case(1004)] */ - struct srvsvc_NetShareCtr1005 *ctr1005;/* [unique,case(1005)] */ - struct srvsvc_NetShareCtr1006 *ctr1006;/* [unique,case(1006)] */ - struct srvsvc_NetShareCtr1007 *ctr1007;/* [unique,case(1007)] */ - struct srvsvc_NetShareCtr1501 *ctr1501;/* [unique,case(1501)] */ -}; - -struct srvsvc_NetShareInfoCtr { - uint32_t level; - union srvsvc_NetShareCtr ctr;/* [switch_is(level)] */ -}; - -enum srvsvc_PlatformId -#ifndef USE_UINT_ENUMS - { - PLATFORM_ID_DOS=(int)(300), - PLATFORM_ID_OS2=(int)(400), - PLATFORM_ID_NT=(int)(500), - PLATFORM_ID_OSF=(int)(600), - PLATFORM_ID_VMS=(int)(700) -} -#else - { __donnot_use_enum_srvsvc_PlatformId=0x7FFFFFFF} -#define PLATFORM_ID_DOS ( 300 ) -#define PLATFORM_ID_OS2 ( 400 ) -#define PLATFORM_ID_NT ( 500 ) -#define PLATFORM_ID_OSF ( 600 ) -#define PLATFORM_ID_VMS ( 700 ) -#endif -; - -struct srvsvc_NetSrvInfo100 { - enum srvsvc_PlatformId platform_id; - const char *server_name;/* [unique,charset(UTF16)] */ -}/* [public] */; - -struct srvsvc_NetSrvInfo101 { - enum srvsvc_PlatformId platform_id; - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t version_major; - uint32_t version_minor; - uint32_t server_type; - const char *comment;/* [unique,charset(UTF16)] */ -}/* [public] */; - -struct srvsvc_NetSrvInfo102 { - enum srvsvc_PlatformId platform_id; - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t version_major; - uint32_t version_minor; - uint32_t server_type; - const char *comment;/* [unique,charset(UTF16)] */ - uint32_t users; - uint32_t disc; - uint32_t hidden; - uint32_t announce; - uint32_t anndelta; - uint32_t licenses; - const char *userpath;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSrvInfo402 { - uint32_t ulist_mtime; - uint32_t glist_mtime; - uint32_t alist_mtime; - const char *alerts;/* [unique,charset(UTF16)] */ - uint32_t security; - uint32_t numadmin; - uint32_t lanmask; - const char *guestaccount;/* [unique,charset(UTF16)] */ - uint32_t chdevs; - uint32_t chdevqs; - uint32_t chdevjobs; - uint32_t connections; - uint32_t shares; - uint32_t openfiles; - uint32_t sessopen; - uint32_t sesssvc; - uint32_t sessreqs; - uint32_t opensearch; - uint32_t activelocks; - uint32_t numreqbufs; - uint32_t sizereqbufs; - uint32_t numbigbufs; - uint32_t numfiletasks; - uint32_t alertsched; - uint32_t erroralert; - uint32_t logonalert; - uint32_t accessalert; - uint32_t diskalert; - uint32_t netioalert; - uint32_t maxaudits; - const char *srvheuristics;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSrvInfo403 { - uint32_t ulist_mtime; - uint32_t glist_mtime; - uint32_t alist_mtime; - const char *alerts;/* [unique,charset(UTF16)] */ - uint32_t security; - uint32_t numadmin; - uint32_t lanmask; - const char *guestaccount;/* [unique,charset(UTF16)] */ - uint32_t chdevs; - uint32_t chdevqs; - uint32_t chdevjobs; - uint32_t connections; - uint32_t shares; - uint32_t openfiles; - uint32_t sessopen; - uint32_t sesssvc; - uint32_t sessreqs; - uint32_t opensearch; - uint32_t activelocks; - uint32_t numreqbufs; - uint32_t sizereqbufs; - uint32_t numbigbufs; - uint32_t numfiletasks; - uint32_t alertsched; - uint32_t erroralert; - uint32_t logonalert; - uint32_t accessalert; - uint32_t diskalert; - uint32_t netioalert; - uint32_t maxaudits; - const char *srvheuristics;/* [unique,charset(UTF16)] */ - uint32_t auditedevents; - uint32_t auditprofile; - const char *autopath;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSrvInfo502 { - uint32_t sessopen; - uint32_t sesssvc; - uint32_t opensearch; - uint32_t sizereqbufs; - uint32_t initworkitems; - uint32_t maxworkitems; - uint32_t rawworkitems; - uint32_t irpstacksize; - uint32_t maxrawbuflen; - uint32_t sessusers; - uint32_t sessconns; - uint32_t maxpagedmemoryusage; - uint32_t maxnonpagedmemoryusage; - uint32_t enablesoftcompat; - uint32_t enableforcedlogoff; - uint32_t timesource; - uint32_t acceptdownlevelapis; - uint32_t lmannounce; -}; - -struct srvsvc_NetSrvInfo503 { - uint32_t sessopen; - uint32_t sesssvc; - uint32_t opensearch; - uint32_t sizereqbufs; - uint32_t initworkitems; - uint32_t maxworkitems; - uint32_t rawworkitems; - uint32_t irpstacksize; - uint32_t maxrawbuflen; - uint32_t sessusers; - uint32_t sessconns; - uint32_t maxpagedmemoryusage; - uint32_t maxnonpagedmemoryusage; - uint32_t enablesoftcompat; - uint32_t enableforcedlogoff; - uint32_t timesource; - uint32_t acceptdownlevelapis; - uint32_t lmannounce; - const char *domain;/* [unique,charset(UTF16)] */ - uint32_t maxcopyreadlen; - uint32_t maxcopywritelen; - uint32_t minkeepsearch; - uint32_t maxkeepsearch; - uint32_t minkeepcomplsearch; - uint32_t maxkeepcomplsearch; - uint32_t threadcountadd; - uint32_t numlockthreads; - uint32_t scavtimeout; - uint32_t minrcvqueue; - uint32_t minfreeworkitems; - uint32_t xactmemsize; - uint32_t threadpriority; - uint32_t maxmpxct; - uint32_t oplockbreakwait; - uint32_t oplockbreakresponsewait; - uint32_t enableoplocks; - uint32_t enableoplockforceclose; - uint32_t enablefcbopens; - uint32_t enableraw; - uint32_t enablesharednetdrives; - uint32_t minfreeconnections; - uint32_t maxfreeconnections; -}; - -struct srvsvc_NetSrvInfo599 { - uint32_t sessopen; - uint32_t sesssvc; - uint32_t opensearch; - uint32_t sizereqbufs; - uint32_t initworkitems; - uint32_t maxworkitems; - uint32_t rawworkitems; - uint32_t irpstacksize; - uint32_t maxrawbuflen; - uint32_t sessusers; - uint32_t sessconns; - uint32_t maxpagedmemoryusage; - uint32_t maxnonpagedmemoryusage; - uint32_t enablesoftcompat; - uint32_t enableforcedlogoff; - uint32_t timesource; - uint32_t acceptdownlevelapis; - uint32_t lmannounce; - const char *domain;/* [unique,charset(UTF16)] */ - uint32_t maxcopyreadlen; - uint32_t maxcopywritelen; - uint32_t minkeepsearch; - uint32_t minkeepcomplsearch; - uint32_t maxkeepcomplsearch; - uint32_t threadcountadd; - uint32_t numlockthreads; - uint32_t scavtimeout; - uint32_t minrcvqueue; - uint32_t minfreeworkitems; - uint32_t xactmemsize; - uint32_t threadpriority; - uint32_t maxmpxct; - uint32_t oplockbreakwait; - uint32_t oplockbreakresponsewait; - uint32_t enableoplocks; - uint32_t enableoplockforceclose; - uint32_t enablefcbopens; - uint32_t enableraw; - uint32_t enablesharednetdrives; - uint32_t minfreeconnections; - uint32_t maxfreeconnections; - uint32_t initsesstable; - uint32_t initconntable; - uint32_t initfiletable; - uint32_t initsearchtable; - uint32_t alertsched; - uint32_t errortreshold; - uint32_t networkerrortreshold; - uint32_t diskspacetreshold; - uint32_t reserved; - uint32_t maxlinkdelay; - uint32_t minlinkthroughput; - uint32_t linkinfovalidtime; - uint32_t scavqosinfoupdatetime; - uint32_t maxworkitemidletime; -}; - -struct srvsvc_NetSrvInfo1005 { - const char *comment;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetSrvInfo1010 { - uint32_t disc; -}; - -struct srvsvc_NetSrvInfo1016 { - uint32_t hidden; -}; - -struct srvsvc_NetSrvInfo1017 { - uint32_t announce; -}; - -struct srvsvc_NetSrvInfo1018 { - uint32_t anndelta; -}; - -struct srvsvc_NetSrvInfo1107 { - uint32_t users; -}; - -struct srvsvc_NetSrvInfo1501 { - uint32_t sessopens; -}; - -struct srvsvc_NetSrvInfo1502 { - uint32_t sessvcs; -}; - -struct srvsvc_NetSrvInfo1503 { - uint32_t opensearch; -}; - -struct srvsvc_NetSrvInfo1506 { - uint32_t maxworkitems; -}; - -struct srvsvc_NetSrvInfo1509 { - uint32_t maxrawbuflen; -}; - -struct srvsvc_NetSrvInfo1510 { - uint32_t sessusers; -}; - -struct srvsvc_NetSrvInfo1511 { - uint32_t sesscons; -}; - -struct srvsvc_NetSrvInfo1512 { - uint32_t maxnonpagedmemoryusage; -}; - -struct srvsvc_NetSrvInfo1513 { - uint32_t maxpagedmemoryusage; -}; - -struct srvsvc_NetSrvInfo1514 { - uint32_t enablesoftcompat; -}; - -struct srvsvc_NetSrvInfo1515 { - uint32_t enableforcedlogoff; -}; - -struct srvsvc_NetSrvInfo1516 { - uint32_t timesource; -}; - -struct srvsvc_NetSrvInfo1518 { - uint32_t lmannounce; -}; - -struct srvsvc_NetSrvInfo1520 { - uint32_t maxcopyreadlen; -}; - -struct srvsvc_NetSrvInfo1521 { - uint32_t maxcopywritelen; -}; - -struct srvsvc_NetSrvInfo1522 { - uint32_t minkeepsearch; -}; - -struct srvsvc_NetSrvInfo1523 { - uint32_t maxkeepsearch; -}; - -struct srvsvc_NetSrvInfo1524 { - uint32_t minkeepcomplsearch; -}; - -struct srvsvc_NetSrvInfo1525 { - uint32_t maxkeepcomplsearch; -}; - -struct srvsvc_NetSrvInfo1528 { - uint32_t scavtimeout; -}; - -struct srvsvc_NetSrvInfo1529 { - uint32_t minrcvqueue; -}; - -struct srvsvc_NetSrvInfo1530 { - uint32_t minfreeworkitems; -}; - -struct srvsvc_NetSrvInfo1533 { - uint32_t maxmpxct; -}; - -struct srvsvc_NetSrvInfo1534 { - uint32_t oplockbreakwait; -}; - -struct srvsvc_NetSrvInfo1535 { - uint32_t oplockbreakresponsewait; -}; - -struct srvsvc_NetSrvInfo1536 { - uint32_t enableoplocks; -}; - -struct srvsvc_NetSrvInfo1537 { - uint32_t enableoplockforceclose; -}; - -struct srvsvc_NetSrvInfo1538 { - uint32_t enablefcbopens; -}; - -struct srvsvc_NetSrvInfo1539 { - uint32_t enableraw; -}; - -struct srvsvc_NetSrvInfo1540 { - uint32_t enablesharednetdrives; -}; - -struct srvsvc_NetSrvInfo1541 { - uint32_t minfreeconnections; -}; - -struct srvsvc_NetSrvInfo1542 { - uint32_t maxfreeconnections; -}; - -struct srvsvc_NetSrvInfo1543 { - uint32_t initsesstable; -}; - -struct srvsvc_NetSrvInfo1544 { - uint32_t initconntable; -}; - -struct srvsvc_NetSrvInfo1545 { - uint32_t initfiletable; -}; - -struct srvsvc_NetSrvInfo1546 { - uint32_t initsearchtable; -}; - -struct srvsvc_NetSrvInfo1547 { - uint32_t alertsched; -}; - -struct srvsvc_NetSrvInfo1548 { - uint32_t errortreshold; -}; - -struct srvsvc_NetSrvInfo1549 { - uint32_t networkerrortreshold; -}; - -struct srvsvc_NetSrvInfo1550 { - uint32_t diskspacetreshold; -}; - -struct srvsvc_NetSrvInfo1552 { - uint32_t maxlinkdelay; -}; - -struct srvsvc_NetSrvInfo1553 { - uint32_t minlinkthroughput; -}; - -struct srvsvc_NetSrvInfo1554 { - uint32_t linkinfovalidtime; -}; - -struct srvsvc_NetSrvInfo1555 { - uint32_t scavqosinfoupdatetime; -}; - -struct srvsvc_NetSrvInfo1556 { - uint32_t maxworkitemidletime; -}; - -union srvsvc_NetSrvInfo { - struct srvsvc_NetSrvInfo100 *info100;/* [unique,case(100)] */ - struct srvsvc_NetSrvInfo101 *info101;/* [unique,case(101)] */ - struct srvsvc_NetSrvInfo102 *info102;/* [unique,case(102)] */ - struct srvsvc_NetSrvInfo402 *info402;/* [unique,case(402)] */ - struct srvsvc_NetSrvInfo403 *info403;/* [unique,case(403)] */ - struct srvsvc_NetSrvInfo502 *info502;/* [unique,case(502)] */ - struct srvsvc_NetSrvInfo503 *info503;/* [unique,case(503)] */ - struct srvsvc_NetSrvInfo599 *info599;/* [unique,case(599)] */ - struct srvsvc_NetSrvInfo1005 *info1005;/* [unique,case(1005)] */ - struct srvsvc_NetSrvInfo1010 *info1010;/* [unique,case(1010)] */ - struct srvsvc_NetSrvInfo1016 *info1016;/* [unique,case(1016)] */ - struct srvsvc_NetSrvInfo1017 *info1017;/* [unique,case(1017)] */ - struct srvsvc_NetSrvInfo1018 *info1018;/* [unique,case(1018)] */ - struct srvsvc_NetSrvInfo1107 *info1107;/* [unique,case(1107)] */ - struct srvsvc_NetSrvInfo1501 *info1501;/* [unique,case(1501)] */ - struct srvsvc_NetSrvInfo1502 *info1502;/* [unique,case(1502)] */ - struct srvsvc_NetSrvInfo1503 *info1503;/* [unique,case(1503)] */ - struct srvsvc_NetSrvInfo1506 *info1506;/* [unique,case(1506)] */ - struct srvsvc_NetSrvInfo1509 *info1509;/* [unique,case(1509)] */ - struct srvsvc_NetSrvInfo1510 *info1510;/* [unique,case(1510)] */ - struct srvsvc_NetSrvInfo1511 *info1511;/* [unique,case(1511)] */ - struct srvsvc_NetSrvInfo1512 *info1512;/* [unique,case(1512)] */ - struct srvsvc_NetSrvInfo1513 *info1513;/* [unique,case(1513)] */ - struct srvsvc_NetSrvInfo1514 *info1514;/* [unique,case(1514)] */ - struct srvsvc_NetSrvInfo1515 *info1515;/* [unique,case(1515)] */ - struct srvsvc_NetSrvInfo1516 *info1516;/* [unique,case(1516)] */ - struct srvsvc_NetSrvInfo1518 *info1518;/* [unique,case(1518)] */ - struct srvsvc_NetSrvInfo1520 *info1520;/* [unique,case(1520)] */ - struct srvsvc_NetSrvInfo1521 *info1521;/* [unique,case(1521)] */ - struct srvsvc_NetSrvInfo1522 *info1522;/* [unique,case(1522)] */ - struct srvsvc_NetSrvInfo1523 *info1523;/* [unique,case(1523)] */ - struct srvsvc_NetSrvInfo1524 *info1524;/* [unique,case(1524)] */ - struct srvsvc_NetSrvInfo1525 *info1525;/* [unique,case(1525)] */ - struct srvsvc_NetSrvInfo1528 *info1528;/* [unique,case(1528)] */ - struct srvsvc_NetSrvInfo1529 *info1529;/* [unique,case(1529)] */ - struct srvsvc_NetSrvInfo1530 *info1530;/* [unique,case(1530)] */ - struct srvsvc_NetSrvInfo1533 *info1533;/* [unique,case(1533)] */ - struct srvsvc_NetSrvInfo1534 *info1534;/* [unique,case(1534)] */ - struct srvsvc_NetSrvInfo1535 *info1535;/* [unique,case(1535)] */ - struct srvsvc_NetSrvInfo1536 *info1536;/* [unique,case(1536)] */ - struct srvsvc_NetSrvInfo1537 *info1537;/* [unique,case(1537)] */ - struct srvsvc_NetSrvInfo1538 *info1538;/* [unique,case(1538)] */ - struct srvsvc_NetSrvInfo1539 *info1539;/* [unique,case(1539)] */ - struct srvsvc_NetSrvInfo1540 *info1540;/* [unique,case(1540)] */ - struct srvsvc_NetSrvInfo1541 *info1541;/* [unique,case(1541)] */ - struct srvsvc_NetSrvInfo1542 *info1542;/* [unique,case(1542)] */ - struct srvsvc_NetSrvInfo1543 *info1543;/* [unique,case(1543)] */ - struct srvsvc_NetSrvInfo1544 *info1544;/* [unique,case(1544)] */ - struct srvsvc_NetSrvInfo1545 *info1545;/* [unique,case(1545)] */ - struct srvsvc_NetSrvInfo1546 *info1546;/* [unique,case(1546)] */ - struct srvsvc_NetSrvInfo1547 *info1547;/* [unique,case(1547)] */ - struct srvsvc_NetSrvInfo1548 *info1548;/* [unique,case(1548)] */ - struct srvsvc_NetSrvInfo1549 *info1549;/* [unique,case(1549)] */ - struct srvsvc_NetSrvInfo1550 *info1550;/* [unique,case(1550)] */ - struct srvsvc_NetSrvInfo1552 *info1552;/* [unique,case(1552)] */ - struct srvsvc_NetSrvInfo1553 *info1553;/* [unique,case(1553)] */ - struct srvsvc_NetSrvInfo1554 *info1554;/* [unique,case(1554)] */ - struct srvsvc_NetSrvInfo1555 *info1555;/* [unique,case(1555)] */ - struct srvsvc_NetSrvInfo1556 *info1556;/* [unique,case(1556)] */ -}; - -struct srvsvc_NetDiskInfo0 { - uint32_t __disk_offset;/* [value(0)] */ - uint32_t __disk_length;/* [value(strlen(disk)+1)] */ - const char *disk;/* [charset(UTF16)] */ -}; - -struct srvsvc_NetDiskInfo { - uint32_t count; - struct srvsvc_NetDiskInfo0 *disks;/* [unique,length_is(count),size_is(count)] */ -}; - -struct srvsvc_Statistics { - uint32_t start; - uint32_t fopens; - uint32_t devopens; - uint32_t jobsqueued; - uint32_t sopens; - uint32_t stimeouts; - uint32_t serrorout; - uint32_t pwerrors; - uint32_t permerrors; - uint32_t syserrors; - uint32_t bytessent_low; - uint32_t bytessent_high; - uint32_t bytesrcvd_low; - uint32_t bytesrcvd_high; - uint32_t avresponse; - uint32_t reqbufneed; - uint32_t bigbufneed; -}; - -struct srvsvc_NetTransportInfo0 { - uint32_t vcs; - const char *name;/* [unique,charset(UTF16)] */ - uint8_t *addr;/* [unique,size_is(addr_len)] */ - uint32_t addr_len; - const char *net_addr;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetTransportCtr0 { - uint32_t count; - struct srvsvc_NetTransportInfo0 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetTransportInfo1 { - uint32_t vcs; - const char *name;/* [unique,charset(UTF16)] */ - uint8_t *addr;/* [unique,size_is(addr_len)] */ - uint32_t addr_len; - const char *net_addr;/* [unique,charset(UTF16)] */ - const char *domain;/* [unique,charset(UTF16)] */ -}; - -struct srvsvc_NetTransportCtr1 { - uint32_t count; - struct srvsvc_NetTransportInfo1 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetTransportInfo2 { - uint32_t vcs; - const char *name;/* [unique,charset(UTF16)] */ - uint8_t *addr;/* [unique,size_is(addr_len)] */ - uint32_t addr_len; - const char *net_addr;/* [unique,charset(UTF16)] */ - const char *domain;/* [unique,charset(UTF16)] */ - uint32_t unknown; -}; - -struct srvsvc_NetTransportCtr2 { - uint32_t count; - struct srvsvc_NetTransportInfo2 *array;/* [unique,size_is(count)] */ -}; - -struct srvsvc_NetTransportInfo3 { - uint32_t vcs; - const char *name;/* [unique,charset(UTF16)] */ - uint8_t *addr;/* [unique,size_is(addr_len)] */ - uint32_t addr_len; - const char *net_addr;/* [unique,charset(UTF16)] */ - const char *domain;/* [unique,charset(UTF16)] */ - uint32_t unknown1; - uint32_t unknown2; - uint8_t unknown3[256]; -}; - -struct srvsvc_NetTransportCtr3 { - uint32_t count; - struct srvsvc_NetTransportInfo3 *array;/* [unique,size_is(count)] */ -}; - -union srvsvc_NetTransportCtr { - struct srvsvc_NetTransportCtr0 *ctr0;/* [unique,case(0)] */ - struct srvsvc_NetTransportCtr1 *ctr1;/* [unique,case] */ - struct srvsvc_NetTransportCtr2 *ctr2;/* [unique,case(2)] */ - struct srvsvc_NetTransportCtr3 *ctr3;/* [unique,case(3)] */ -}; - -struct srvsvc_NetTransportInfoCtr { - uint32_t level; - union srvsvc_NetTransportCtr ctr;/* [switch_is(level)] */ -}; - -struct srvsvc_NetRemoteTODInfo { - uint32_t elapsed; - uint32_t msecs; - uint32_t hours; - uint32_t mins; - uint32_t secs; - uint32_t hunds; - int32_t timezone; - uint32_t tinterval; - uint32_t day; - uint32_t month; - uint32_t year; - uint32_t weekday; -}; - -union srvsvc_NetTransportInfo { - struct srvsvc_NetTransportInfo0 info0;/* [case(0)] */ - struct srvsvc_NetTransportInfo1 info1;/* [case] */ - struct srvsvc_NetTransportInfo2 info2;/* [case(2)] */ - struct srvsvc_NetTransportInfo3 info3;/* [case(3)] */ -}/* [switch_type(uint32)] */; - - -struct srvsvc_NetCharDevEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetCharDevInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetCharDevInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevGetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *device_name;/* [charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union srvsvc_NetCharDevInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevControl { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *device_name;/* [charset(UTF16)] */ - uint32_t opcode; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevQEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetCharDevQInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetCharDevQInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevQGetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *queue_name;/* [charset(UTF16)] */ - const char *user;/* [charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union srvsvc_NetCharDevQInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevQSetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *queue_name;/* [charset(UTF16)] */ - uint32_t level; - union srvsvc_NetCharDevQInfo info;/* [switch_is(level)] */ - uint32_t *parm_error;/* [unique] */ - } in; - - struct { - uint32_t *parm_error;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevQPurge { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *queue_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetCharDevQPurgeSelf { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *queue_name;/* [charset(UTF16)] */ - const char *computer_name;/* [charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetConnEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *path;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetConnInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetConnInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetFileEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *path;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetFileInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetFileInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetFileGetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t fid; - uint32_t level; - } in; - - struct { - union srvsvc_NetFileInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetFileClose { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t fid; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetSessEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetSessInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetSessInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetSessDel { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *client;/* [unique,charset(UTF16)] */ - const char *user;/* [unique,charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareAdd { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - union srvsvc_NetShareInfo *info;/* [ref,switch_is(level)] */ - uint32_t *parm_error;/* [unique] */ - } in; - - struct { - uint32_t *parm_error;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareEnumAll { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareGetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share_name;/* [charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union srvsvc_NetShareInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareSetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share_name;/* [charset(UTF16)] */ - uint32_t level; - union srvsvc_NetShareInfo *info;/* [ref,switch_is(level)] */ - uint32_t *parm_error;/* [unique] */ - } in; - - struct { - uint32_t *parm_error;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareDel { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share_name;/* [charset(UTF16)] */ - uint32_t reserved; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareDelSticky { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share_name;/* [charset(UTF16)] */ - uint32_t reserved; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareCheck { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *device_name;/* [charset(UTF16)] */ - } in; - - struct { - enum srvsvc_ShareType *type;/* [ref] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetSrvGetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union srvsvc_NetSrvInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetSrvSetInfo { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - union srvsvc_NetSrvInfo *info;/* [ref,switch_is(level)] */ - uint32_t *parm_error;/* [unique] */ - } in; - - struct { - uint32_t *parm_error;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetDiskEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - uint32_t maxlen; - struct srvsvc_NetDiskInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetDiskInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetServerStatisticsGet { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *service;/* [unique,charset(UTF16)] */ - uint32_t level; - uint32_t options; - } in; - - struct { - struct srvsvc_Statistics **stats;/* [ref] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetTransportAdd { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - union srvsvc_NetTransportInfo info;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetTransportEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetTransportInfoCtr *transports;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetTransportInfoCtr *transports;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetTransportDel { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - struct srvsvc_NetTransportInfo0 *info0;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetRemoteTOD { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - } in; - - struct { - struct srvsvc_NetRemoteTODInfo **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetSetServiceBits { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *transport;/* [unique,charset(UTF16)] */ - uint32_t servicebits; - uint32_t updateimmediately; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetPathType { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *path;/* [charset(UTF16)] */ - uint32_t pathflags; - } in; - - struct { - uint32_t *pathtype;/* [ref] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetPathCanonicalize { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *path;/* [charset(UTF16)] */ - uint32_t maxbuf; - const char *prefix;/* [charset(UTF16)] */ - uint32_t pathflags; - uint32_t *pathtype;/* [ref] */ - } in; - - struct { - uint8_t *can_path;/* [size_is(maxbuf)] */ - uint32_t *pathtype;/* [ref] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetPathCompare { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *path1;/* [charset(UTF16)] */ - const char *path2;/* [charset(UTF16)] */ - uint32_t pathtype; - uint32_t pathflags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetNameValidate { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *name;/* [charset(UTF16)] */ - uint32_t name_type; - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRPRNAMECANONICALIZE { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetPRNameCompare { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *name1;/* [charset(UTF16)] */ - const char *name2;/* [charset(UTF16)] */ - uint32_t name_type; - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareEnum { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *totalentries;/* [ref] */ - struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareDelStart { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share;/* [charset(UTF16)] */ - uint32_t reserved; - } in; - - struct { - struct policy_handle *hnd;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetShareDelCommit { - struct { - struct policy_handle *hnd;/* [unique] */ - } in; - - struct { - struct policy_handle *hnd;/* [unique] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetGetFileSecurity { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share;/* [unique,charset(UTF16)] */ - const char *file;/* [charset(UTF16)] */ - uint32_t securityinformation; - } in; - - struct { - struct sec_desc_buf **sd_buf;/* [ref] */ - WERROR result; - } out; - -}; - - -struct srvsvc_NetSetFileSecurity { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *share;/* [unique,charset(UTF16)] */ - const char *file;/* [charset(UTF16)] */ - uint32_t securityinformation; - struct sec_desc_buf *sd_buf;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetServerTransportAddEx { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - uint32_t level; - union srvsvc_NetTransportInfo info;/* [switch_is(level)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NetServerSetServiceBitsEx { - struct { - const char *server_unc;/* [unique,charset(UTF16)] */ - const char *emulated_server_unc;/* [unique,charset(UTF16)] */ - const char *transport;/* [unique,charset(UTF16)] */ - uint32_t servicebitsofinterest; - uint32_t servicebits; - uint32_t updateimmediately; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSGETVERSION { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSCREATELOCALPARTITION { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSDELETELOCALPARTITION { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSSETLOCALVOLUMESTATE { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSSETSERVERINFO { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSCREATEEXITPOINT { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSDELETEEXITPOINT { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSMODIFYPREFIX { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSFIXLOCALVOLUME { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRDFSMANAGERREPORTSITEINFO { - struct { - WERROR result; - } out; - -}; - - -struct srvsvc_NETRSERVERTRANSPORTDELEX { - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_srvsvc */ diff --git a/librpc/gen_ndr/svcctl.h b/librpc/gen_ndr/svcctl.h deleted file mode 100644 index f047701ed50..00000000000 --- a/librpc/gen_ndr/svcctl.h +++ /dev/null @@ -1,973 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/security.h" -#ifndef _HEADER_svcctl -#define _HEADER_svcctl - -#define SVCCTL_ACCEPT_NONE ( 0x00000000 ) -#define SERVICE_TYPE_KERNEL_DRIVER ( 0x01 ) -#define SERVICE_TYPE_FS_DRIVER ( 0x02 ) -#define SERVICE_TYPE_ADAPTER ( 0x04 ) -#define SERVICE_TYPE_RECOGNIZER_DRIVER ( 0x08 ) -#define SERVICE_TYPE_DRIVER ( SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER ) -#define SERVICE_TYPE_WIN32_OWN_PROCESS ( 0x10 ) -#define SERVICE_TYPE_WIN32_SHARE_PROCESS ( 0x20 ) -#define SERVICE_TYPE_WIN32 ( SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS ) -#define SERVICE_TYPE_INTERACTIVE_PROCESS ( 0x100 ) -#define SV_TYPE_ALL ( 0xFFFFFFFF ) -#define SC_MANAGER_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) ) -#define SC_MANAGER_EXECUTE_ACCESS ( SC_MANAGER_READ_ACCESS ) -#define SC_MANAGER_WRITE_ACCESS ( (SEC_STD_REQUIRED|SC_MANAGER_READ_ACCESS|SC_RIGHT_MGR_CREATE_SERVICE|SC_RIGHT_MGR_LOCK|SC_RIGHT_MGR_MODIFY_BOOT_CONFIG) ) -#define SC_MANAGER_ALL_ACCESS ( SC_MANAGER_WRITE_ACCESS ) -#define SERVICE_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_SVC_ENUMERATE_DEPENDENTS|SC_RIGHT_SVC_INTERROGATE|SC_RIGHT_SVC_QUERY_CONFIG|SC_RIGHT_SVC_QUERY_STATUS|SC_RIGHT_SVC_USER_DEFINED_CONTROL) ) -#define SERVICE_EXECUTE_ACCESS ( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) ) -#define SERVICE_WRITE_ACCESS ( (SEC_STD_REQUIRED|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) ) -#define SERVICE_ALL_ACCESS ( SERVICE_WRITE_ACCESS ) -#define SC_MAX_ARGUMENT_LENGTH ( 1024 ) -#define SC_MAX_ARGUMENTS ( 1024 ) -struct SERVICE_LOCK_STATUS { - uint32_t is_locked; - const char *lock_owner;/* [unique,charset(UTF16)] */ - uint32_t lock_duration; -}; - -enum svcctl_ServiceStatus -#ifndef USE_UINT_ENUMS - { - SVCCTL_STATE_UNKNOWN=(int)(0x00000000), - SVCCTL_STOPPED=(int)(0x00000001), - SVCCTL_START_PENDING=(int)(0x00000002), - SVCCTL_STOP_PENDING=(int)(0x00000003), - SVCCTL_RUNNING=(int)(0x00000004), - SVCCTL_CONTINUE_PENDING=(int)(0x00000005), - SVCCTL_PAUSE_PENDING=(int)(0x00000006), - SVCCTL_PAUSED=(int)(0x00000007) -} -#else - { __donnot_use_enum_svcctl_ServiceStatus=0x7FFFFFFF} -#define SVCCTL_STATE_UNKNOWN ( 0x00000000 ) -#define SVCCTL_STOPPED ( 0x00000001 ) -#define SVCCTL_START_PENDING ( 0x00000002 ) -#define SVCCTL_STOP_PENDING ( 0x00000003 ) -#define SVCCTL_RUNNING ( 0x00000004 ) -#define SVCCTL_CONTINUE_PENDING ( 0x00000005 ) -#define SVCCTL_PAUSE_PENDING ( 0x00000006 ) -#define SVCCTL_PAUSED ( 0x00000007 ) -#endif -; - -/* bitmap svcctl_ControlsAccepted */ -#define SVCCTL_ACCEPT_STOP ( 0x00000001 ) -#define SVCCTL_ACCEPT_PAUSE_CONTINUE ( 0x00000002 ) -#define SVCCTL_ACCEPT_SHUTDOWN ( 0x00000004 ) -#define SVCCTL_ACCEPT_PARAMCHANGE ( 0x00000008 ) -#define SVCCTL_ACCEPT_NETBINDCHANGE ( 0x00000010 ) -#define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE ( 0x00000020 ) -#define SVCCTL_ACCEPT_POWEREVENT ( 0x00000040 ) - -struct SERVICE_STATUS { - uint32_t type; - enum svcctl_ServiceStatus state; - uint32_t controls_accepted; - WERROR win32_exit_code; - uint32_t service_exit_code; - uint32_t check_point; - uint32_t wait_hint; -}; - -struct SERVICE_STATUS_PROCESS { - struct SERVICE_STATUS status; - uint32_t process_id; - uint32_t service_flags; -}/* [public] */; - -struct ENUM_SERVICE_STATUSW { - const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - struct SERVICE_STATUS status; -}/* [gensize,public] */; - -struct ENUM_SERVICE_STATUSA { - const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - struct SERVICE_STATUS status; -}/* [gensize,public] */; - -/* bitmap svcctl_ServerType */ -#define SV_TYPE_WORKSTATION ( 0x00000001 ) -#define SV_TYPE_SERVER ( 0x00000002 ) -#define SV_TYPE_SQLSERVER ( 0x00000004 ) -#define SV_TYPE_DOMAIN_CTRL ( 0x00000008 ) -#define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 ) -#define SV_TYPE_TIME_SOURCE ( 0x00000020 ) -#define SV_TYPE_AFP ( 0x00000040 ) -#define SV_TYPE_NOVELL ( 0x00000080 ) -#define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 ) -#define SV_TYPE_PRINTQ_SERVER ( 0x00000200 ) -#define SV_TYPE_DIALIN_SERVER ( 0x00000400 ) -#define SV_TYPE_SERVER_UNIX ( 0x00000800 ) -#define SV_TYPE_NT ( 0x00001000 ) -#define SV_TYPE_WFW ( 0x00002000 ) -#define SV_TYPE_SERVER_MFPN ( 0x00004000 ) -#define SV_TYPE_SERVER_NT ( 0x00008000 ) -#define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 ) -#define SV_TYPE_BACKUP_BROWSER ( 0x00020000 ) -#define SV_TYPE_MASTER_BROWSER ( 0x00040000 ) -#define SV_TYPE_DOMAIN_MASTER ( 0x00080000 ) -#define SV_TYPE_SERVER_OSF ( 0x00100000 ) -#define SV_TYPE_SERVER_VMS ( 0x00200000 ) -#define SV_TYPE_WIN95_PLUS ( 0x00400000 ) -#define SV_TYPE_DFS_SERVER ( 0x00800000 ) -#define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 ) -#define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 ) -#define SV_TYPE_DOMAIN_ENUM ( 0x80000000 ) - -enum SERVICE_CONTROL -#ifndef USE_UINT_ENUMS - { - SVCCTL_CONTROL_STOP=(int)(0x00000001), - SVCCTL_CONTROL_PAUSE=(int)(0x00000002), - SVCCTL_CONTROL_CONTINUE=(int)(0x00000003), - SVCCTL_CONTROL_INTERROGATE=(int)(0x00000004), - SVCCTL_CONTROL_SHUTDOWN=(int)(0x00000005) -} -#else - { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF} -#define SVCCTL_CONTROL_STOP ( 0x00000001 ) -#define SVCCTL_CONTROL_PAUSE ( 0x00000002 ) -#define SVCCTL_CONTROL_CONTINUE ( 0x00000003 ) -#define SVCCTL_CONTROL_INTERROGATE ( 0x00000004 ) -#define SVCCTL_CONTROL_SHUTDOWN ( 0x00000005 ) -#endif -; - -enum svcctl_ErrorControl -#ifndef USE_UINT_ENUMS - { - SVCCTL_SVC_ERROR_IGNORE=(int)(0x00000000), - SVCCTL_SVC_ERROR_NORMAL=(int)(0x00000001), - SVCCTL_SVC_ERROR_CRITICAL=(int)(0x00000002), - SVCCTL_SVC_ERROR_SEVERE=(int)(0x00000003) -} -#else - { __donnot_use_enum_svcctl_ErrorControl=0x7FFFFFFF} -#define SVCCTL_SVC_ERROR_IGNORE ( 0x00000000 ) -#define SVCCTL_SVC_ERROR_NORMAL ( 0x00000001 ) -#define SVCCTL_SVC_ERROR_CRITICAL ( 0x00000002 ) -#define SVCCTL_SVC_ERROR_SEVERE ( 0x00000003 ) -#endif -; - -enum svcctl_StartType -#ifndef USE_UINT_ENUMS - { - SVCCTL_BOOT_START=(int)(0x00000000), - SVCCTL_SYSTEM_START=(int)(0x00000001), - SVCCTL_AUTO_START=(int)(0x00000002), - SVCCTL_DEMAND_START=(int)(0x00000003), - SVCCTL_DISABLED=(int)(0x00000004) -} -#else - { __donnot_use_enum_svcctl_StartType=0x7FFFFFFF} -#define SVCCTL_BOOT_START ( 0x00000000 ) -#define SVCCTL_SYSTEM_START ( 0x00000001 ) -#define SVCCTL_AUTO_START ( 0x00000002 ) -#define SVCCTL_DEMAND_START ( 0x00000003 ) -#define SVCCTL_DISABLED ( 0x00000004 ) -#endif -; - -enum svcctl_ServiceState -#ifndef USE_UINT_ENUMS - { - SERVICE_STATE_ACTIVE=(int)(0x00000001), - SERVICE_STATE_INACTIVE=(int)(0x00000002), - SERVICE_STATE_ALL=(int)((SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE)) -} -#else - { __donnot_use_enum_svcctl_ServiceState=0x7FFFFFFF} -#define SERVICE_STATE_ACTIVE ( 0x00000001 ) -#define SERVICE_STATE_INACTIVE ( 0x00000002 ) -#define SERVICE_STATE_ALL ( (SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE) ) -#endif -; - -/* bitmap svcctl_MgrAccessMask */ -#define SC_RIGHT_MGR_CONNECT ( 0x0001 ) -#define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 ) -#define SC_RIGHT_MGR_ENUMERATE_SERVICE ( 0x0004 ) -#define SC_RIGHT_MGR_LOCK ( 0x0008 ) -#define SC_RIGHT_MGR_QUERY_LOCK_STATUS ( 0x0010 ) -#define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ( 0x0020 ) - -/* bitmap svcctl_ServiceAccessMask */ -#define SC_RIGHT_SVC_QUERY_CONFIG ( 0x0001 ) -#define SC_RIGHT_SVC_CHANGE_CONFIG ( 0x0002 ) -#define SC_RIGHT_SVC_QUERY_STATUS ( 0x0004 ) -#define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS ( 0x0008 ) -#define SC_RIGHT_SVC_START ( 0x0010 ) -#define SC_RIGHT_SVC_STOP ( 0x0020 ) -#define SC_RIGHT_SVC_PAUSE_CONTINUE ( 0x0040 ) -#define SC_RIGHT_SVC_INTERROGATE ( 0x0080 ) -#define SC_RIGHT_SVC_USER_DEFINED_CONTROL ( 0x0100 ) - -struct QUERY_SERVICE_CONFIG { - uint32_t service_type; - enum svcctl_StartType start_type; - enum svcctl_ErrorControl error_control; - const char *executablepath;/* [unique,range(0,8192),charset(UTF16)] */ - const char *loadordergroup;/* [unique,range(0,8192),charset(UTF16)] */ - uint32_t tag_id; - const char *dependencies;/* [unique,range(0,8192),charset(UTF16)] */ - const char *startname;/* [unique,range(0,8192),charset(UTF16)] */ - const char *displayname;/* [unique,range(0,8192),charset(UTF16)] */ -}/* [gensize,public] */; - -struct svcctl_ArgumentString { - const char *string;/* [unique,range(0,SC_MAX_ARGUMENT_LENGTH),charset(UTF16)] */ -}; - -enum svcctl_ConfigLevel -#ifndef USE_UINT_ENUMS - { - SERVICE_CONFIG_DESCRIPTION=(int)(0x00000001), - SERVICE_CONFIG_FAILURE_ACTIONS=(int)(0x00000002) -} -#else - { __donnot_use_enum_svcctl_ConfigLevel=0x7FFFFFFF} -#define SERVICE_CONFIG_DESCRIPTION ( 0x00000001 ) -#define SERVICE_CONFIG_FAILURE_ACTIONS ( 0x00000002 ) -#endif -; - -struct SERVICE_DESCRIPTION { - const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ -}/* [gensize,public] */; - -enum SC_ACTION_TYPE -#ifndef USE_UINT_ENUMS - { - SC_ACTION_NONE=(int)(0), - SC_ACTION_RESTART=(int)(1), - SC_ACTION_REBOOT=(int)(2), - SC_ACTION_RUN_COMMAND=(int)(3) -} -#else - { __donnot_use_enum_SC_ACTION_TYPE=0x7FFFFFFF} -#define SC_ACTION_NONE ( 0 ) -#define SC_ACTION_RESTART ( 1 ) -#define SC_ACTION_REBOOT ( 2 ) -#define SC_ACTION_RUN_COMMAND ( 3 ) -#endif -; - -struct SC_ACTION { - enum SC_ACTION_TYPE type; - uint32_t delay; -}; - -struct SERVICE_FAILURE_ACTIONS { - uint32_t reset_period; - const char * rebootmsg;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char * command;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - uint32_t num_actions;/* [range(0,1024)] */ - struct SC_ACTION *actions;/* [relative,size_is(num_actions)] */ -}/* [gensize,public] */; - -enum svcctl_StatusLevel -#ifndef USE_UINT_ENUMS - { - SVC_STATUS_PROCESS_INFO=(int)(0x00000000) -} -#else - { __donnot_use_enum_svcctl_StatusLevel=0x7FFFFFFF} -#define SVC_STATUS_PROCESS_INFO ( 0x00000000 ) -#endif -; - - -struct svcctl_CloseServiceHandle { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_ControlService { - struct { - struct policy_handle *handle;/* [ref] */ - enum SERVICE_CONTROL control; - } in; - - struct { - struct SERVICE_STATUS *service_status;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_DeleteService { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_LockServiceDatabase { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *lock;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceObjectSecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t security_flags; - uint32_t offered;/* [range(0,0x40000)] */ - } in; - - struct { - uint8_t *buffer;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref,range(0,0x40000)] */ - WERROR result; - } out; - -}; - - -struct svcctl_SetServiceObjectSecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t security_flags; - uint8_t *buffer;/* [ref,size_is(offered)] */ - uint32_t offered; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceStatus { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct SERVICE_STATUS *service_status;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_SetServiceStatus { - struct { - WERROR result; - } out; - -}; - - -struct svcctl_UnlockServiceDatabase { - struct { - struct policy_handle *lock;/* [ref] */ - } in; - - struct { - struct policy_handle *lock;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_NotifyBootConfigStatus { - struct { - WERROR result; - } out; - -}; - - -struct svcctl_SCSetServiceBitsW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t bits; - uint32_t bitson; - uint32_t immediate; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_ChangeServiceConfigW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t type; - enum svcctl_StartType start_type; - enum svcctl_ErrorControl error_control; - const char *binary_path;/* [unique,charset(UTF16)] */ - const char *load_order_group;/* [unique,charset(UTF16)] */ - const char *dependencies;/* [unique,charset(UTF16)] */ - const char *service_start_name;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - const char *display_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - uint32_t *tag_id;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_CreateServiceW { - struct { - struct policy_handle *scmanager_handle;/* [ref] */ - const char *ServiceName;/* [charset(UTF16)] */ - const char *DisplayName;/* [unique,charset(UTF16)] */ - uint32_t desired_access; - uint32_t type; - enum svcctl_StartType start_type; - enum svcctl_ErrorControl error_control; - const char *binary_path;/* [charset(UTF16)] */ - const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */ - uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */ - uint32_t dependencies_size; - const char *service_start_name;/* [unique,charset(UTF16)] */ - uint8_t *password;/* [unique,size_is(password_size)] */ - uint32_t password_size; - uint32_t *TagId;/* [unique] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t *TagId;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_EnumDependentServicesW { - struct { - struct policy_handle *service;/* [ref] */ - enum svcctl_ServiceState state; - uint32_t offered;/* [range(0,0x40000)] */ - } in; - - struct { - uint8_t *service_status;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref,range(0,0x40000)] */ - uint32_t *services_returned;/* [ref,range(0,0x40000)] */ - WERROR result; - } out; - -}; - - -struct svcctl_EnumServicesStatusW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t type; - enum svcctl_ServiceState state; - uint32_t offered;/* [range(0,0x40000)] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint8_t *service;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref,range(0,0x40000)] */ - uint32_t *services_returned;/* [ref,range(0,0x40000)] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_OpenSCManagerW { - struct { - const char *MachineName;/* [unique,charset(UTF16)] */ - const char *DatabaseName;/* [unique,charset(UTF16)] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_OpenServiceW { - struct { - struct policy_handle *scmanager_handle;/* [ref] */ - const char *ServiceName;/* [charset(UTF16)] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceConfigW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t offered;/* [range(0,8192)] */ - } in; - - struct { - struct QUERY_SERVICE_CONFIG *query;/* [ref] */ - uint32_t *needed;/* [ref,range(0,8192)] */ - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceLockStatusW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t offered; - } in; - - struct { - struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_StartServiceW { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t NumArgs;/* [range(0,SC_MAX_ARGUMENTS)] */ - struct svcctl_ArgumentString *Arguments;/* [unique,size_is(NumArgs)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_GetServiceDisplayNameW { - struct { - struct policy_handle *handle;/* [ref] */ - const char *service_name;/* [unique,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - } in; - - struct { - const char **display_name;/* [ref,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_GetServiceKeyNameW { - struct { - struct policy_handle *handle;/* [ref] */ - const char *service_name;/* [unique,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - } in; - - struct { - const char **key_name;/* [ref,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_SCSetServiceBitsA { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t bits; - uint32_t bitson; - uint32_t immediate; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_ChangeServiceConfigA { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t type; - enum svcctl_StartType start_type; - enum svcctl_ErrorControl error_control; - const char *binary_path;/* [unique,charset(UTF16)] */ - const char *load_order_group;/* [unique,charset(UTF16)] */ - const char *dependencies;/* [unique,charset(UTF16)] */ - const char *service_start_name;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - const char *display_name;/* [unique,charset(UTF16)] */ - } in; - - struct { - uint32_t *tag_id;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_CreateServiceA { - struct { - struct policy_handle *handle;/* [ref] */ - const char *ServiceName;/* [unique,charset(UTF16)] */ - const char *DisplayName;/* [unique,charset(UTF16)] */ - uint32_t desired_access; - uint32_t type; - enum svcctl_StartType start_type; - enum svcctl_ErrorControl error_control; - const char *binary_path;/* [unique,charset(UTF16)] */ - const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */ - const char *dependencies;/* [unique,charset(UTF16)] */ - const char *service_start_name;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - } in; - - struct { - uint32_t *TagId;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_EnumDependentServicesA { - struct { - struct policy_handle *service;/* [ref] */ - enum svcctl_ServiceState state; - uint32_t offered; - } in; - - struct { - struct ENUM_SERVICE_STATUSA *service_status;/* [unique] */ - uint32_t *needed;/* [ref] */ - uint32_t *services_returned;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_EnumServicesStatusA { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t type; - enum svcctl_ServiceState state; - uint32_t offered; - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint8_t *service;/* [size_is(offered)] */ - uint32_t *needed;/* [ref] */ - uint32_t *services_returned;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_OpenSCManagerA { - struct { - const char *MachineName;/* [unique,charset(UTF16)] */ - const char *DatabaseName;/* [unique,charset(UTF16)] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_OpenServiceA { - struct { - struct policy_handle *scmanager_handle;/* [ref] */ - const char *ServiceName;/* [unique,charset(UTF16)] */ - uint32_t access_mask; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceConfigA { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t offered; - } in; - - struct { - uint8_t *query; - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceLockStatusA { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t offered; - } in; - - struct { - struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */ - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_StartServiceA { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t NumArgs; - const char *Arguments;/* [unique,charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_GetServiceDisplayNameA { - struct { - struct policy_handle *handle;/* [ref] */ - const char *service_name;/* [unique,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - } in; - - struct { - const char **display_name;/* [ref,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_GetServiceKeyNameA { - struct { - struct policy_handle *handle;/* [ref] */ - const char *service_name;/* [unique,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - } in; - - struct { - const char **key_name;/* [ref,charset(UTF16)] */ - uint32_t *display_name_length;/* [unique] */ - WERROR result; - } out; - -}; - - -struct svcctl_GetCurrentGroupeStateW { - struct { - WERROR result; - } out; - -}; - - -struct svcctl_EnumServiceGroupW { - struct { - WERROR result; - } out; - -}; - - -struct svcctl_ChangeServiceConfig2A { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t info_level; - uint8_t *info;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_ChangeServiceConfig2W { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t info_level; - uint8_t *info;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceConfig2A { - struct { - struct policy_handle *handle;/* [ref] */ - enum svcctl_ConfigLevel info_level; - uint32_t offered; - } in; - - struct { - uint8_t *buffer; - uint32_t *needed;/* [ref] */ - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceConfig2W { - struct { - struct policy_handle *handle;/* [ref] */ - enum svcctl_ConfigLevel info_level; - uint32_t offered;/* [range(0,8192)] */ - } in; - - struct { - uint8_t *buffer;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref,range(0,8192)] */ - WERROR result; - } out; - -}; - - -struct svcctl_QueryServiceStatusEx { - struct { - struct policy_handle *handle;/* [ref] */ - enum svcctl_StatusLevel info_level; - uint32_t offered;/* [range(0,8192)] */ - } in; - - struct { - uint8_t *buffer;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref,range(0,8192)] */ - WERROR result; - } out; - -}; - - -struct EnumServicesStatusExA { - struct { - struct policy_handle *scmanager;/* [ref] */ - uint32_t info_level; - uint32_t type; - enum svcctl_ServiceState state; - uint32_t offered; - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint8_t *services; - uint32_t *needed;/* [ref] */ - uint32_t *service_returned;/* [ref] */ - const char **group_name;/* [ref,charset(UTF16)] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct EnumServicesStatusExW { - struct { - struct policy_handle *scmanager;/* [ref] */ - uint32_t info_level; - uint32_t type; - enum svcctl_ServiceState state; - uint32_t offered;/* [range(0,0x40000)] */ - const char *group_name;/* [unique,charset(UTF16)] */ - uint32_t *resume_handle;/* [unique,range(0,0x40000)] */ - } in; - - struct { - uint8_t *services;/* [ref,size_is(offered)] */ - uint32_t *needed;/* [ref,range(0,0x40000)] */ - uint32_t *service_returned;/* [ref,range(0,0x40000)] */ - uint32_t *resume_handle;/* [unique,range(0,0x40000)] */ - WERROR result; - } out; - -}; - - -struct svcctl_SCSendTSMessage { - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_svcctl */ diff --git a/librpc/gen_ndr/tables.c b/librpc/gen_ndr/tables.c deleted file mode 100644 index f2064d95ac6..00000000000 --- a/librpc/gen_ndr/tables.c +++ /dev/null @@ -1,83 +0,0 @@ - -/* Automatically generated by tables.pl. DO NOT EDIT */ - -#include "includes.h" -#include "librpc/ndr/libndr.h" -#include "librpc/ndr/ndr_table.h" -#include "librpc/gen_ndr/ndr_dfs.h" -#include "librpc/gen_ndr/ndr_drsblobs.h" -#include "librpc/gen_ndr/ndr_drsuapi.h" -#include "librpc/gen_ndr/ndr_dssetup.h" -#include "librpc/gen_ndr/ndr_echo.h" -#include "librpc/gen_ndr/ndr_epmapper.h" -#include "librpc/gen_ndr/ndr_eventlog.h" -#include "librpc/gen_ndr/ndr_initshutdown.h" -#include "librpc/gen_ndr/ndr_krb5pac.h" -#include "librpc/gen_ndr/ndr_lsa.h" -#include "librpc/gen_ndr/ndr_netlogon.h" -#include "librpc/gen_ndr/ndr_ntsvcs.h" -#include "librpc/gen_ndr/ndr_samr.h" -#include "librpc/gen_ndr/ndr_srvsvc.h" -#include "librpc/gen_ndr/ndr_svcctl.h" -#include "librpc/gen_ndr/ndr_winreg.h" -#include "librpc/gen_ndr/ndr_wkssvc.h" - -NTSTATUS ndr_table_register_builtin_tables(void) -{ - NTSTATUS status; - - status = ndr_table_register(&ndr_table_netdfs); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_drsblobs); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_drsuapi); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_dssetup); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_rpcecho); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_epmapper); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_eventlog); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_initshutdown); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_krb5pac); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_lsarpc); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_netlogon); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_ntsvcs); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_samr); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_srvsvc); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_svcctl); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_winreg); - if (NT_STATUS_IS_ERR(status)) return status; - - status = ndr_table_register(&ndr_table_wkssvc); - if (NT_STATUS_IS_ERR(status)) return status; - - - - return NT_STATUS_OK; -} diff --git a/librpc/gen_ndr/winreg.h b/librpc/gen_ndr/winreg.h deleted file mode 100644 index b412d353b91..00000000000 --- a/librpc/gen_ndr/winreg.h +++ /dev/null @@ -1,655 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/lsa.h" -#include "librpc/gen_ndr/security.h" -#include "librpc/gen_ndr/misc.h" -#ifndef _HEADER_winreg -#define _HEADER_winreg - -#define REG_KEY_READ ( (STANDARD_RIGHTS_READ_ACCESS|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY) ) -#define REG_KEY_EXECUTE ( REG_KEY_READ ) -#define REG_KEY_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|KEY_SET_VALUE|KEY_CREATE_SUB_KEY) ) -#define REG_KEY_ALL ( (STANDARD_RIGHTS_REQUIRED_ACCESS|REG_KEY_READ|REG_KEY_WRITE|KEY_CREATE_LINK) ) -#define REG_OPTION_NON_VOLATILE ( 0x00000000 ) -/* bitmap winreg_AccessMask */ -#define KEY_QUERY_VALUE ( 0x00001 ) -#define KEY_SET_VALUE ( 0x00002 ) -#define KEY_CREATE_SUB_KEY ( 0x00004 ) -#define KEY_ENUMERATE_SUB_KEYS ( 0x00008 ) -#define KEY_NOTIFY ( 0x00010 ) -#define KEY_CREATE_LINK ( 0x00020 ) -#define KEY_WOW64_64KEY ( 0x00100 ) -#define KEY_WOW64_32KEY ( 0x00200 ) - -struct winreg_String { - uint16_t name_len;/* [value(strlen_m_term(name)*2)] */ - uint16_t name_size;/* [value(strlen_m_term(name)*2)] */ - const char *name;/* [unique,charset(UTF16)] */ -}/* [public] */; - -struct KeySecurityData { - uint8_t *data;/* [unique,length_is(len),size_is(size)] */ - uint32_t size; - uint32_t len; -}; - -struct winreg_SecBuf { - uint32_t length; - struct KeySecurityData sd; - uint8_t inherit; -}; - -/* bitmap winreg_KeyOptions */ -#define REG_OPTION_VOLATILE ( 0x00000001 ) -#define REG_OPTION_CREATE_LINK ( 0x00000002 ) -#define REG_OPTION_BACKUP_RESTORE ( 0x00000004 ) -#define REG_OPTION_OPEN_LINK ( 0x00000008 ) - -enum winreg_CreateAction -#ifndef USE_UINT_ENUMS - { - REG_ACTION_NONE=(int)(0), - REG_CREATED_NEW_KEY=(int)(1), - REG_OPENED_EXISTING_KEY=(int)(2) -} -#else - { __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF} -#define REG_ACTION_NONE ( 0 ) -#define REG_CREATED_NEW_KEY ( 1 ) -#define REG_OPENED_EXISTING_KEY ( 2 ) -#endif -; - -struct winreg_StringBuf { - uint16_t length;/* [value(strlen_m_term_null(name)*2)] */ - uint16_t size; - const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */ -}; - -struct winreg_ValNameBuf { - uint16_t length;/* [value(strlen_m_term(name)*2)] */ - uint16_t size; - const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */ -}; - -/* bitmap winreg_NotifyChangeType */ -#define REG_NOTIFY_CHANGE_NAME ( 0x00000001 ) -#define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 ) -#define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 ) -#define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 ) - -struct KeySecurityAttribute { - uint32_t data_size; - struct KeySecurityData sec_data; - uint8_t inherit; -}; - -struct QueryMultipleValue { - struct winreg_String *name;/* [unique] */ - enum winreg_Type type; - uint32_t offset; - uint32_t length; -}; - - -struct winreg_OpenHKCR { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKCU { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKLM { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKPD { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKU { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_CloseKey { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_CreateKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String name; - struct winreg_String keyclass; - uint32_t options; - uint32_t access_mask; - struct winreg_SecBuf *secdesc;/* [unique] */ - enum winreg_CreateAction *action_taken;/* [unique] */ - } in; - - struct { - struct policy_handle *new_handle;/* [ref] */ - enum winreg_CreateAction *action_taken;/* [unique] */ - WERROR result; - } out; - -}; - - -struct winreg_DeleteKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String key; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_DeleteValue { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String value; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_EnumKey { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t enum_index; - struct winreg_StringBuf *name;/* [ref] */ - struct winreg_StringBuf *keyclass;/* [unique] */ - NTTIME *last_changed_time;/* [unique] */ - } in; - - struct { - struct winreg_StringBuf *name;/* [ref] */ - struct winreg_StringBuf *keyclass;/* [unique] */ - NTTIME *last_changed_time;/* [unique] */ - WERROR result; - } out; - -}; - - -struct winreg_EnumValue { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t enum_index; - struct winreg_ValNameBuf *name;/* [ref] */ - enum winreg_Type *type;/* [unique] */ - uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */ - uint32_t *size;/* [unique] */ - uint32_t *length;/* [unique] */ - } in; - - struct { - struct winreg_ValNameBuf *name;/* [ref] */ - enum winreg_Type *type;/* [unique] */ - uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */ - uint32_t *size;/* [unique] */ - uint32_t *length;/* [unique] */ - WERROR result; - } out; - -}; - - -struct winreg_FlushKey { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_GetKeySecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t sec_info; - struct KeySecurityData *sd;/* [ref] */ - } in; - - struct { - struct KeySecurityData *sd;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_LoadKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *keyname;/* [unique] */ - struct winreg_String *filename;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_NotifyChangeKeyValue { - struct { - struct policy_handle *handle;/* [ref] */ - uint8_t watch_subtree; - uint32_t notify_filter; - uint32_t unknown; - struct winreg_String string1; - struct winreg_String string2; - uint32_t unknown2; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_OpenKey { - struct { - struct policy_handle *parent_handle;/* [ref] */ - struct winreg_String keyname; - uint32_t options; - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_QueryInfoKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *classname;/* [ref] */ - } in; - - struct { - uint32_t *num_subkeys;/* [ref] */ - uint32_t *max_subkeylen;/* [ref] */ - uint32_t *max_classlen;/* [ref] */ - uint32_t *num_values;/* [ref] */ - uint32_t *max_valnamelen;/* [ref] */ - uint32_t *max_valbufsize;/* [ref] */ - uint32_t *secdescsize;/* [ref] */ - NTTIME *last_changed_time;/* [ref] */ - struct winreg_String *classname;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_QueryValue { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *value_name;/* [ref] */ - enum winreg_Type *type;/* [unique] */ - uint8_t *data;/* [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */ - uint32_t *data_size;/* [unique] */ - uint32_t *data_length;/* [unique] */ - } in; - - struct { - enum winreg_Type *type;/* [unique] */ - uint8_t *data;/* [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */ - uint32_t *data_size;/* [unique] */ - uint32_t *data_length;/* [unique] */ - WERROR result; - } out; - -}; - - -struct winreg_ReplaceKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *subkey;/* [ref] */ - struct winreg_String *new_file;/* [ref] */ - struct winreg_String *old_file;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_RestoreKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *filename;/* [ref] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_SaveKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *filename;/* [ref] */ - struct KeySecurityAttribute *sec_attrib;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_SetKeySecurity { - struct { - struct policy_handle *handle;/* [ref] */ - uint32_t sec_info; - struct KeySecurityData *sd;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_SetValue { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String name; - enum winreg_Type type; - uint8_t *data;/* [ref,size_is(size)] */ - uint32_t size; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_UnLoadKey { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *subkey;/* [ref] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_InitiateSystemShutdown { - struct { - uint16_t *hostname;/* [unique] */ - struct lsa_StringLarge *message;/* [unique] */ - uint32_t timeout; - uint8_t force_apps; - uint8_t do_reboot; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_AbortSystemShutdown { - struct { - uint16_t *server;/* [unique] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_GetVersion { - struct { - struct policy_handle *handle;/* [ref] */ - } in; - - struct { - uint32_t *version;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKCC { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKDD { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_QueryMultipleValues { - struct { - struct policy_handle *key_handle;/* [ref] */ - uint32_t num_values; - struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */ - uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */ - uint32_t *buffer_size;/* [ref] */ - } in; - - struct { - struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */ - uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */ - uint32_t *buffer_size;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_InitiateSystemShutdownEx { - struct { - uint16_t *hostname;/* [unique] */ - struct lsa_StringLarge *message;/* [unique] */ - uint32_t timeout; - uint8_t force_apps; - uint8_t do_reboot; - uint32_t reason; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_SaveKeyEx { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *filename;/* [ref] */ - struct KeySecurityAttribute *sec_attrib;/* [unique] */ - uint32_t flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct winreg_OpenHKPT { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_OpenHKPN { - struct { - uint16_t *system_name;/* [unique] */ - uint32_t access_mask; - } in; - - struct { - struct policy_handle *handle;/* [ref] */ - WERROR result; - } out; - -}; - - -struct winreg_QueryMultipleValues2 { - struct { - struct policy_handle *key_handle;/* [ref] */ - uint32_t num_values; - uint32_t offered; - struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */ - uint8_t *buffer;/* [unique,length_is(offered),size_is(offered)] */ - } in; - - struct { - uint32_t *needed;/* [ref] */ - struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */ - uint8_t *buffer;/* [unique,length_is(offered),size_is(offered)] */ - WERROR result; - } out; - -}; - - -struct winreg_DeleteKeyEx { - struct { - struct policy_handle *handle;/* [ref] */ - struct winreg_String *key;/* [ref] */ - uint32_t access_mask; - uint32_t reserved; - } in; - - struct { - WERROR result; - } out; - -}; - -#endif /* _HEADER_winreg */ diff --git a/librpc/gen_ndr/wkssvc.h b/librpc/gen_ndr/wkssvc.h deleted file mode 100644 index 00db2946462..00000000000 --- a/librpc/gen_ndr/wkssvc.h +++ /dev/null @@ -1,982 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/srvsvc.h" -#include "librpc/gen_ndr/lsa.h" -#ifndef _HEADER_wkssvc -#define _HEADER_wkssvc - -struct wkssvc_NetWkstaInfo100 { - enum srvsvc_PlatformId platform_id; - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ - uint32_t version_major; - uint32_t version_minor; -}; - -struct wkssvc_NetWkstaInfo101 { - enum srvsvc_PlatformId platform_id; - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ - uint32_t version_major; - uint32_t version_minor; - const char *lan_root;/* [unique,charset(UTF16)] */ -}; - -struct wkssvc_NetWkstaInfo102 { - enum srvsvc_PlatformId platform_id; - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ - uint32_t version_major; - uint32_t version_minor; - const char *lan_root;/* [unique,charset(UTF16)] */ - uint32_t logged_on_users; -}; - -struct wkssvc_NetWkstaInfo502 { - uint32_t char_wait; - uint32_t collection_time; - uint32_t maximum_collection_count; - uint32_t keep_connection; - uint32_t max_commands; - uint32_t session_timeout; - uint32_t size_char_buf; - uint32_t max_threads; - uint32_t lock_quota; - uint32_t lock_increment; - uint32_t lock_maximum; - uint32_t pipe_increment; - uint32_t pipe_maximum; - uint32_t cache_file_timeout; - uint32_t dormant_file_limit; - uint32_t read_ahead_throughput; - uint32_t num_mailslot_buffers; - uint32_t num_srv_announce_buffers; - uint32_t max_illegal_dgram_events; - uint32_t dgram_event_reset_freq; - uint32_t log_election_packets; - uint32_t use_opportunistic_locking; - uint32_t use_unlock_behind; - uint32_t use_close_behind; - uint32_t buf_named_pipes; - uint32_t use_lock_read_unlock; - uint32_t utilize_nt_caching; - uint32_t use_raw_read; - uint32_t use_raw_write; - uint32_t use_write_raw_data; - uint32_t use_encryption; - uint32_t buf_files_deny_write; - uint32_t buf_read_only_files; - uint32_t force_core_create_mode; - uint32_t use_512_byte_max_transfer; -}; - -struct wkssvc_NetWkstaInfo1010 { - uint32_t char_wait; -}; - -struct wkssvc_NetWkstaInfo1011 { - uint32_t collection_time; -}; - -struct wkssvc_NetWkstaInfo1012 { - uint32_t maximum_collection_count; -}; - -struct wkssvc_NetWkstaInfo1013 { - uint32_t keep_connection; -}; - -struct wkssvc_NetWkstaInfo1018 { - uint32_t session_timeout; -}; - -struct wkssvc_NetWkstaInfo1023 { - uint32_t size_char_buf; -}; - -struct wkssvc_NetWkstaInfo1027 { - uint32_t errorlog_sz; -}; - -struct wkssvc_NetWkstaInfo1028 { - uint32_t print_buf_time; -}; - -struct wkssvc_NetWkstaInfo1032 { - uint32_t wrk_heuristics; -}; - -struct wkssvc_NetWkstaInfo1033 { - uint32_t max_threads; -}; - -struct wkssvc_NetWkstaInfo1041 { - uint32_t lock_quota; -}; - -struct wkssvc_NetWkstaInfo1042 { - uint32_t lock_increment; -}; - -struct wkssvc_NetWkstaInfo1043 { - uint32_t lock_maximum; -}; - -struct wkssvc_NetWkstaInfo1044 { - uint32_t pipe_increment; -}; - -struct wkssvc_NetWkstaInfo1045 { - uint32_t pipe_maximum; -}; - -struct wkssvc_NetWkstaInfo1046 { - uint32_t dormant_file_limit; -}; - -struct wkssvc_NetWkstaInfo1047 { - uint32_t cache_file_timeout; -}; - -struct wkssvc_NetWkstaInfo1048 { - uint32_t use_opportunistic_locking; -}; - -struct wkssvc_NetWkstaInfo1049 { - uint32_t use_unlock_behind; -}; - -struct wkssvc_NetWkstaInfo1050 { - uint32_t use_close_behind; -}; - -struct wkssvc_NetWkstaInfo1051 { - uint32_t buf_named_pipes; -}; - -struct wkssvc_NetWkstaInfo1052 { - uint32_t use_lock_read_unlock; -}; - -struct wkssvc_NetWkstaInfo1053 { - uint32_t utilize_nt_caching; -}; - -struct wkssvc_NetWkstaInfo1054 { - uint32_t use_raw_read; -}; - -struct wkssvc_NetWkstaInfo1055 { - uint32_t use_raw_write; -}; - -struct wkssvc_NetWkstaInfo1056 { - uint32_t use_write_raw_data; -}; - -struct wkssvc_NetWkstaInfo1057 { - uint32_t use_encryption; -}; - -struct wkssvc_NetWkstaInfo1058 { - uint32_t buf_files_deny_write; -}; - -struct wkssvc_NetWkstaInfo1059 { - uint32_t buf_read_only_files; -}; - -struct wkssvc_NetWkstaInfo1060 { - uint32_t force_core_create_mode; -}; - -struct wkssvc_NetWkstaInfo1061 { - uint32_t use_512_byte_max_transfer; -}; - -struct wkssvc_NetWkstaInfo1062 { - uint32_t read_ahead_throughput; -}; - -union wkssvc_NetWkstaInfo { - struct wkssvc_NetWkstaInfo100 *info100;/* [unique,case(100)] */ - struct wkssvc_NetWkstaInfo101 *info101;/* [unique,case(101)] */ - struct wkssvc_NetWkstaInfo102 *info102;/* [unique,case(102)] */ - struct wkssvc_NetWkstaInfo502 *info502;/* [unique,case(502)] */ - struct wkssvc_NetWkstaInfo1010 *info1010;/* [unique,case(1010)] */ - struct wkssvc_NetWkstaInfo1011 *info1011;/* [unique,case(1011)] */ - struct wkssvc_NetWkstaInfo1012 *info1012;/* [unique,case(1012)] */ - struct wkssvc_NetWkstaInfo1013 *info1013;/* [unique,case(1013)] */ - struct wkssvc_NetWkstaInfo1018 *info1018;/* [unique,case(1018)] */ - struct wkssvc_NetWkstaInfo1023 *info1023;/* [unique,case(1023)] */ - struct wkssvc_NetWkstaInfo1027 *info1027;/* [unique,case(1027)] */ - struct wkssvc_NetWkstaInfo1028 *info1028;/* [unique,case(1028)] */ - struct wkssvc_NetWkstaInfo1032 *info1032;/* [unique,case(1032)] */ - struct wkssvc_NetWkstaInfo1033 *info1033;/* [unique,case(1033)] */ - struct wkssvc_NetWkstaInfo1041 *info1041;/* [unique,case(1041)] */ - struct wkssvc_NetWkstaInfo1042 *info1042;/* [unique,case(1042)] */ - struct wkssvc_NetWkstaInfo1043 *info1043;/* [unique,case(1043)] */ - struct wkssvc_NetWkstaInfo1044 *info1044;/* [unique,case(1044)] */ - struct wkssvc_NetWkstaInfo1045 *info1045;/* [unique,case(1045)] */ - struct wkssvc_NetWkstaInfo1046 *info1046;/* [unique,case(1046)] */ - struct wkssvc_NetWkstaInfo1047 *info1047;/* [unique,case(1047)] */ - struct wkssvc_NetWkstaInfo1048 *info1048;/* [unique,case(1048)] */ - struct wkssvc_NetWkstaInfo1049 *info1049;/* [unique,case(1049)] */ - struct wkssvc_NetWkstaInfo1050 *info1050;/* [unique,case(1050)] */ - struct wkssvc_NetWkstaInfo1051 *info1051;/* [unique,case(1051)] */ - struct wkssvc_NetWkstaInfo1052 *info1052;/* [unique,case(1052)] */ - struct wkssvc_NetWkstaInfo1053 *info1053;/* [unique,case(1053)] */ - struct wkssvc_NetWkstaInfo1054 *info1054;/* [unique,case(1054)] */ - struct wkssvc_NetWkstaInfo1055 *info1055;/* [unique,case(1055)] */ - struct wkssvc_NetWkstaInfo1056 *info1056;/* [unique,case(1056)] */ - struct wkssvc_NetWkstaInfo1057 *info1057;/* [unique,case(1057)] */ - struct wkssvc_NetWkstaInfo1058 *info1058;/* [unique,case(1058)] */ - struct wkssvc_NetWkstaInfo1059 *info1059;/* [unique,case(1059)] */ - struct wkssvc_NetWkstaInfo1060 *info1060;/* [unique,case(1060)] */ - struct wkssvc_NetWkstaInfo1061 *info1061;/* [unique,case(1061)] */ - struct wkssvc_NetWkstaInfo1062 *info1062;/* [unique,case(1062)] */ -}; - -struct wkssvc_NetrWkstaUserInfo0 { - const char *user_name;/* [unique,charset(UTF16)] */ -}; - -struct wkssvc_NetWkstaEnumUsersCtr0 { - uint32_t entries_read; - struct wkssvc_NetrWkstaUserInfo0 *user0;/* [unique,size_is(entries_read)] */ -}; - -struct wkssvc_NetrWkstaUserInfo1 { - const char *user_name;/* [unique,charset(UTF16)] */ - const char *logon_domain;/* [unique,charset(UTF16)] */ - const char *other_domains;/* [unique,charset(UTF16)] */ - const char *logon_server;/* [unique,charset(UTF16)] */ -}; - -struct wkssvc_NetWkstaEnumUsersCtr1 { - uint32_t entries_read; - struct wkssvc_NetrWkstaUserInfo1 *user1;/* [unique,size_is(entries_read)] */ -}; - -union wkssvc_NetWkstaEnumUsersCtr { - struct wkssvc_NetWkstaEnumUsersCtr0 *user0;/* [unique,case(0)] */ - struct wkssvc_NetWkstaEnumUsersCtr1 *user1;/* [unique,case] */ -}/* [switch_type(uint32)] */; - -struct wkssvc_NetWkstaEnumUsersInfo { - uint32_t level; - union wkssvc_NetWkstaEnumUsersCtr ctr;/* [switch_is(level)] */ -}; - -struct wkssvc_NetrWkstaUserInfo1101 { - const char *other_domains;/* [unique,charset(UTF16)] */ -}; - -union wkssvc_NetrWkstaUserInfo { - struct wkssvc_NetrWkstaUserInfo0 *info0;/* [unique,case(0)] */ - struct wkssvc_NetrWkstaUserInfo1 *info1;/* [unique,case] */ - struct wkssvc_NetrWkstaUserInfo1101 *info1101;/* [unique,case(1101)] */ -}/* [switch_type(uint32)] */; - -struct wkssvc_NetWkstaTransportInfo0 { - uint32_t quality_of_service; - uint32_t vc_count; - const char *name;/* [unique,charset(UTF16)] */ - const char *address;/* [unique,charset(UTF16)] */ - uint32_t wan_link; -}; - -struct wkssvc_NetWkstaTransportCtr0 { - uint32_t count; - struct wkssvc_NetWkstaTransportInfo0 *array;/* [unique,size_is(count)] */ -}; - -union wkssvc_NetWkstaTransportCtr { - struct wkssvc_NetWkstaTransportCtr0 *ctr0;/* [unique,case(0)] */ -}; - -struct wkssvc_NetWkstaTransportInfo { - uint32_t level; - union wkssvc_NetWkstaTransportCtr ctr;/* [switch_is(level)] */ -}; - -struct wkssvc_NetrUseInfo3 { - const char *unknown1;/* [unique,charset(UTF16)] */ - const char *unknown2;/* [unique,charset(UTF16)] */ -}; - -struct wkssvc_NetrUseInfo2 { - const char *local;/* [unique,charset(UTF16)] */ - const char *remote;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - uint32_t status; - uint32_t asg_type; - uint32_t ref_count; - uint32_t use_count; - const char *user_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [unique,charset(UTF16)] */ -}; - -struct wkssvc_NetrUseInfo1 { - const char *local;/* [unique,charset(UTF16)] */ - const char *remote;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - uint32_t status; - uint32_t asg_type; - uint32_t ref_count; - uint32_t use_count; -}; - -struct wkssvc_NetrUseInfo0 { - const char *local;/* [unique,charset(UTF16)] */ - const char *remote;/* [unique,charset(UTF16)] */ -}; - -union wkssvc_NetrUseGetInfoCtr { - struct wkssvc_NetrUseInfo0 *info0;/* [unique,case(0)] */ - struct wkssvc_NetrUseInfo1 *info1;/* [unique,case] */ - struct wkssvc_NetrUseInfo2 *info2;/* [unique,case(2)] */ - struct wkssvc_NetrUseInfo3 *info3;/* [unique,case(3)] */ -}/* [switch_type(uint32)] */; - -struct wkssvc_NetrUseEnumCtr2 { - uint32_t count; - struct wkssvc_NetrUseInfo2 *array;/* [unique,size_is(count)] */ -}; - -struct wkssvc_NetrUseEnumCtr1 { - uint32_t count; - struct wkssvc_NetrUseInfo1 *array;/* [unique,size_is(count)] */ -}; - -struct wkssvc_NetrUseEnumCtr0 { - uint32_t count; - struct wkssvc_NetrUseInfo0 *array;/* [unique,size_is(count)] */ -}; - -union wkssvc_NetrUseEnumCtr { - struct wkssvc_NetrUseEnumCtr0 *ctr0;/* [unique,case(0)] */ - struct wkssvc_NetrUseEnumCtr1 *ctr1;/* [unique,case] */ - struct wkssvc_NetrUseEnumCtr2 *ctr2;/* [unique,case(2)] */ -}/* [switch_type(uint32)] */; - -struct wkssvc_NetrUseEnumInfo { - uint32_t level; - union wkssvc_NetrUseEnumCtr ctr;/* [switch_is(level)] */ -}; - -struct wkssvc_NetrWorkstationStatistics { - uint64_t unknown1; - uint64_t unknown2; - uint64_t unknown3; - uint64_t unknown4; - uint64_t unknown5; - uint64_t unknown6; - uint64_t unknown7; - uint64_t unknown8; - uint64_t unknown9; - uint64_t unknown10; - uint64_t unknown11; - uint64_t unknown12; - uint64_t unknown13; - uint32_t unknown14; - uint32_t unknown15; - uint32_t unknown16; - uint32_t unknown17; - uint32_t unknown18; - uint32_t unknown19; - uint32_t unknown20; - uint32_t unknown21; - uint32_t unknown22; - uint32_t unknown23; - uint32_t unknown24; - uint32_t unknown25; - uint32_t unknown26; - uint32_t unknown27; - uint32_t unknown28; - uint32_t unknown29; - uint32_t unknown30; - uint32_t unknown31; - uint32_t unknown32; - uint32_t unknown33; - uint32_t unknown34; - uint32_t unknown35; - uint32_t unknown36; - uint32_t unknown37; - uint32_t unknown38; - uint32_t unknown39; - uint32_t unknown40; -}; - -/* bitmap wkssvc_renameflags */ -#define WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE ( 0x00000002 ) - -enum wkssvc_NetValidateNameType -#ifndef USE_UINT_ENUMS - { - NetSetupUnknown=(int)(0), - NetSetupMachine=(int)(1), - NetSetupWorkgroup=(int)(2), - NetSetupDomain=(int)(3), - NetSetupNonExistentDomain=(int)(4), - NetSetupDnsMachine=(int)(5) -} -#else - { __donnot_use_enum_wkssvc_NetValidateNameType=0x7FFFFFFF} -#define NetSetupUnknown ( 0 ) -#define NetSetupMachine ( 1 ) -#define NetSetupWorkgroup ( 2 ) -#define NetSetupDomain ( 3 ) -#define NetSetupNonExistentDomain ( 4 ) -#define NetSetupDnsMachine ( 5 ) -#endif -; - -enum wkssvc_NetJoinStatus -#ifndef USE_UINT_ENUMS - { - NET_SETUP_UNKNOWN_STATUS=(int)(0), - NET_SETUP_UNJOINED=(int)(1), - NET_SETUP_WORKGROUP_NAME=(int)(2), - NET_SETUP_DOMAIN_NAME=(int)(3) -} -#else - { __donnot_use_enum_wkssvc_NetJoinStatus=0x7FFFFFFF} -#define NET_SETUP_UNKNOWN_STATUS ( 0 ) -#define NET_SETUP_UNJOINED ( 1 ) -#define NET_SETUP_WORKGROUP_NAME ( 2 ) -#define NET_SETUP_DOMAIN_NAME ( 3 ) -#endif -; - -struct wkssvc_PasswordBuffer { - uint8_t data[524]; -}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; - -/* bitmap wkssvc_joinflags */ -#define WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS ( 0x10000000 ) -#define WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME ( 0x00000400 ) -#define WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT ( 0x00000200 ) -#define WKSSVC_JOIN_FLAGS_DEFER_SPN ( 0x00000100 ) -#define WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED ( 0x00000080 ) -#define WKSSVC_JOIN_FLAGS_JOIN_UNSECURE ( 0x00000040 ) -#define WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED ( 0x00000020 ) -#define WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE ( 0x00000010 ) -#define WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE ( 0x00000004 ) -#define WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE ( 0x00000002 ) -#define WKSSVC_JOIN_FLAGS_JOIN_TYPE ( 0x00000001 ) - -enum wkssvc_ComputerNameType -#ifndef USE_UINT_ENUMS - { - NetPrimaryComputerName=(int)(0), - NetAlternateComputerNames=(int)(1), - NetAllComputerNames=(int)(2), - NetComputerNameTypeMax=(int)(3) -} -#else - { __donnot_use_enum_wkssvc_ComputerNameType=0x7FFFFFFF} -#define NetPrimaryComputerName ( 0 ) -#define NetAlternateComputerNames ( 1 ) -#define NetAllComputerNames ( 2 ) -#define NetComputerNameTypeMax ( 3 ) -#endif -; - -struct wkssvc_ComputerNamesCtr { - uint32_t count; - struct lsa_String *computer_name;/* [unique,size_is(count)] */ -}; - - -struct wkssvc_NetWkstaGetInfo { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union wkssvc_NetWkstaInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetWkstaSetInfo { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t level; - union wkssvc_NetWkstaInfo *info;/* [ref,switch_is(level)] */ - uint32_t *parm_error;/* [ref] */ - } in; - - struct { - uint32_t *parm_error;/* [ref] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetWkstaEnumUsers { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t prefmaxlen; - struct wkssvc_NetWkstaEnumUsersInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *entries_read;/* [ref] */ - struct wkssvc_NetWkstaEnumUsersInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrWkstaUserGetInfo { - struct { - const char *unknown;/* [unique,charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union wkssvc_NetrWkstaUserInfo *info;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrWkstaUserSetInfo { - struct { - const char *unknown;/* [unique,charset(UTF16)] */ - uint32_t level; - union wkssvc_NetrWkstaUserInfo *info;/* [ref,switch_is(level)] */ - uint32_t *parm_err;/* [unique] */ - } in; - - struct { - uint32_t *parm_err;/* [unique] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetWkstaTransportEnum { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t max_buffer; - struct wkssvc_NetWkstaTransportInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *total_entries;/* [ref] */ - struct wkssvc_NetWkstaTransportInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrWkstaTransportAdd { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t level; - struct wkssvc_NetWkstaTransportInfo0 *info0;/* [ref] */ - uint32_t *parm_err;/* [unique] */ - } in; - - struct { - uint32_t *parm_err;/* [unique] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrWkstaTransportDel { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *transport_name;/* [unique,charset(UTF16)] */ - uint32_t unknown3; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrUseAdd { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t level; - union wkssvc_NetrUseGetInfoCtr *ctr;/* [ref,switch_is(level)] */ - uint32_t *parm_err;/* [unique] */ - } in; - - struct { - uint32_t *parm_err;/* [unique] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrUseGetInfo { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *use_name;/* [ref,charset(UTF16)] */ - uint32_t level; - } in; - - struct { - union wkssvc_NetrUseGetInfoCtr *ctr;/* [ref,switch_is(level)] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrUseDel { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *use_name;/* [ref,charset(UTF16)] */ - uint32_t force_cond; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrUseEnum { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - uint32_t prefmaxlen; - struct wkssvc_NetrUseEnumInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - } in; - - struct { - uint32_t *entries_read;/* [ref] */ - struct wkssvc_NetrUseEnumInfo *info;/* [ref] */ - uint32_t *resume_handle;/* [unique] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrMessageBufferSend { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *message_name;/* [ref,charset(UTF16)] */ - const char *message_sender_name;/* [unique,charset(UTF16)] */ - uint8_t *message_buffer;/* [ref,size_is(message_size)] */ - uint32_t message_size; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrWorkstationStatisticsGet { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *unknown2;/* [unique,charset(UTF16)] */ - uint32_t unknown3; - uint32_t unknown4; - } in; - - struct { - struct wkssvc_NetrWorkstationStatistics **info;/* [ref] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrLogonDomainNameAdd { - struct { - const char *domain_name;/* [ref,charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrLogonDomainNameDel { - struct { - const char *domain_name;/* [ref,charset(UTF16)] */ - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrJoinDomain { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [ref,charset(UTF16)] */ - const char *account_ou;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - uint32_t join_flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrUnjoinDomain { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - uint32_t unjoin_flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrRenameMachineInDomain { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *NewMachineName;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - const char *password;/* [unique,charset(UTF16)] */ - uint32_t RenameOptions; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrValidateName { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *name;/* [ref,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - const char *Password;/* [unique,charset(UTF16)] */ - enum wkssvc_NetValidateNameType name_type; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrGetJoinInformation { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char **name_buffer;/* [ref,charset(UTF16)] */ - } in; - - struct { - enum wkssvc_NetJoinStatus *name_type;/* [ref] */ - const char **name_buffer;/* [ref,charset(UTF16)] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrGetJoinableOus { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [ref,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - const char *unknown;/* [unique,charset(UTF16)] */ - uint32_t *num_ous;/* [ref] */ - } in; - - struct { - const char ***ous;/* [ref,charset(UTF16),size_is(,*num_ous)] */ - uint32_t *num_ous;/* [ref] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrJoinDomain2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [ref,charset(UTF16)] */ - const char *account_ou;/* [unique,charset(UTF16)] */ - const char *admin_account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *encrypted_password;/* [unique] */ - uint32_t join_flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrUnjoinDomain2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *encrypted_password;/* [unique] */ - uint32_t unjoin_flags; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrRenameMachineInDomain2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *NewMachineName;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */ - uint32_t RenameOptions; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrValidateName2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *name;/* [ref,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */ - enum wkssvc_NetValidateNameType name_type; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrGetJoinableOus2 { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *domain_name;/* [ref,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */ - uint32_t *num_ous;/* [ref] */ - } in; - - struct { - const char ***ous;/* [ref,charset(UTF16),size_is(,*num_ous)] */ - uint32_t *num_ous;/* [ref] */ - WERROR result; - } out; - -}; - - -struct wkssvc_NetrAddAlternateComputerName { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *NewAlternateMachineName;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */ - uint32_t Reserved; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrRemoveAlternateComputerName { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *AlternateMachineNameToRemove;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */ - uint32_t Reserved; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrSetPrimaryComputername { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - const char *primary_name;/* [unique,charset(UTF16)] */ - const char *Account;/* [unique,charset(UTF16)] */ - struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */ - uint32_t Reserved; - } in; - - struct { - WERROR result; - } out; - -}; - - -struct wkssvc_NetrEnumerateComputerNames { - struct { - const char *server_name;/* [unique,charset(UTF16)] */ - enum wkssvc_ComputerNameType name_type; - uint32_t Reserved; - } in; - - struct { - struct wkssvc_ComputerNamesCtr **ctr;/* [ref] */ - WERROR result; - } out; - -}; - -#endif /* _HEADER_wkssvc */ diff --git a/librpc/gen_ndr/xattr.h b/librpc/gen_ndr/xattr.h deleted file mode 100644 index d85d21d0ba8..00000000000 --- a/librpc/gen_ndr/xattr.h +++ /dev/null @@ -1,141 +0,0 @@ -/* header auto-generated by pidl */ - -#include - -#include "libcli/util/ntstatus.h" - -#include "librpc/gen_ndr/security.h" -#ifndef _HEADER_xattr -#define _HEADER_xattr - -#define XATTR_DOSATTRIB_NAME ( "user.DosAttrib" ) -#define XATTR_DOSATTRIB_ESTIMATED_SIZE ( 64 ) -#define XATTR_DOSEAS_NAME ( "user.DosEAs" ) -#define XATTR_DOSSTREAMS_NAME ( "user.DosStreams" ) -#define XATTR_STREAM_FLAG_INTERNAL ( 0x00000001 ) -#define XATTR_DOSSTREAM_PREFIX ( "user.DosStream." ) -#define XATTR_MAX_STREAM_SIZE ( 0x4000 ) -#define XATTR_MAX_STREAM_SIZE_TDB ( 0x100000 ) -#define XATTR_NTACL_NAME ( "security.NTACL" ) -#define XATTR_SD_HASH_SIZE ( 64 ) -#define XATTR_SD_HASH_TYPE_NONE ( 0x0 ) -#define XATTR_SD_HASH_TYPE_SHA256 ( 0x1 ) -struct xattr_DosInfoFFFFCompat { - uint32_t attrib; -}; - -struct xattr_DosInfo1 { - uint32_t attrib; - uint32_t ea_size; - uint64_t size; - uint64_t alloc_size; - NTTIME create_time; - NTTIME change_time; -}; - -struct xattr_DosInfo2Old { - uint32_t flags; - uint32_t attrib; - uint32_t ea_size; - uint64_t size; - uint64_t alloc_size; - NTTIME create_time; - NTTIME change_time; - NTTIME write_time; - const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -/* bitmap xattr_DosInfoValidFlags */ -#define XATTR_DOSINFO_ATTRIB ( 0x00000001 ) -#define XATTR_DOSINFO_EA_SIZE ( 0x00000002 ) -#define XATTR_DOSINFO_SIZE ( 0x00000004 ) -#define XATTR_DOSINFO_ALLOC_SIZE ( 0x00000008 ) -#define XATTR_DOSINFO_CREATE_TIME ( 0x00000010 ) -#define XATTR_DOSINFO_CHANGE_TIME ( 0x00000020 ) - -struct xattr_DosInfo3 { - uint32_t valid_flags; - uint32_t attrib; - uint32_t ea_size; - uint64_t size; - uint64_t alloc_size; - NTTIME create_time; - NTTIME change_time; -}; - -union xattr_DosInfo { - struct xattr_DosInfoFFFFCompat compatinfoFFFF;/* [case(0xFFFF)] */ - struct xattr_DosInfo1 info1;/* [case] */ - struct xattr_DosInfo2Old oldinfo2;/* [case(2)] */ - struct xattr_DosInfo3 info3;/* [case(3)] */ -}/* [public,switch_type(uint16)] */; - -struct xattr_DosAttrib { - uint16_t version; - union xattr_DosInfo info;/* [switch_is(version)] */ -}/* [public] */; - -struct xattr_DOSATTRIB { - const char * attrib_hex;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */ - uint16_t version; - union xattr_DosInfo info;/* [switch_is(version)] */ -}/* [noprint,nopull,public,nopush] */; - -struct xattr_EA { - const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */ - DATA_BLOB value; -}; - -struct xattr_DosEAs { - uint16_t num_eas; - struct xattr_EA *eas;/* [unique,size_is(num_eas)] */ -}/* [public] */; - -struct tdb_xattrs { - uint32_t num_eas; - struct xattr_EA *eas; -}/* [public] */; - -struct xattr_DosStream { - uint32_t flags; - uint64_t size; - uint64_t alloc_size; - const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */ -}; - -struct xattr_DosStreams { - uint32_t num_streams; - struct xattr_DosStream *streams;/* [unique,size_is(num_streams)] */ -}/* [public] */; - -struct security_descriptor_hash_v2 { - struct security_descriptor *sd;/* [unique] */ - uint8_t hash[16]; -}/* [public] */; - -struct security_descriptor_hash_v3 { - struct security_descriptor *sd;/* [unique] */ - uint16_t hash_type; - uint8_t hash[64]; -}/* [public] */; - -union xattr_NTACL_Info { - struct security_descriptor *sd;/* [unique,case] */ - struct security_descriptor_hash_v2 *sd_hs2;/* [unique,case(2)] */ - struct security_descriptor_hash_v3 *sd_hs3;/* [unique,case(3)] */ -}/* [switch_type(uint16)] */; - -struct xattr_NTACL { - uint16_t version; - union xattr_NTACL_Info info;/* [switch_is(version)] */ -}/* [public] */; - - -struct xattr_parse_DOSATTRIB { - struct { - struct xattr_DOSATTRIB x; - } in; - -}; - -#endif /* _HEADER_xattr */ -- 2.34.1